SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Google AI Challenge 2011:
 Analyse der Algorithmen und
 Strategien
 Bachelorarbeit von Olexandr Savchuk




25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 1
Inhalt

  Google AI Challenge

  AI Challenge 2011: Ants

  Algorithmen
    Suche und Ausbreitung
    Kampf
    Weitere Algorithmen


  Zusammenfassung




25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 2
Google AI Challenge


  Öffentlicher KI-Wettbewerb
    ursprünglich von University of Waterloo
    gesponsert durch Google


  Programme („Bots“) spielen ein Spiel gegeneinander
    in diversen Sprachen geschrieben
    alles läuft auf den Challenge-Servern


  Gewinner durch ein Ranking-System ermittelt
    früher ELO, jetzt TrueSkill




25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 3
AI Challenge 2011: Ants

  Jeder Bot steuert eine Kolonie von Ameisen

  Rechteckiges Spielfeld mit überlaufenden Rändern
    Ein oder mehrere Ameisenhaufen pro Spieler
    Spielfeld symmetrisch
    Essen erscheint zufällig, aber symmetrisch


  Zugbasiert mit Zeitlimit
    Alle Bots ziehen gleichzeitig
    Jede Ameise kann pro Zug um ein Feld bewegt werden


  Ziel: die Haufen der anderen Spieler zu überrennen
    2 Punkte für das Überrennen, -1 für Verlust eines Haufens

25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 4
AI Challenge 2011: Ants




                                            Demospiel
        http://aichallenge.org/visualizer.php?game=346155&user=871




25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 5
AI Challenge 2011: Ants

  Umgebung des Spiels:

    Mehrere Agenten

    Adversarial

    Unvollständige Information
      Fog of War

    Stochastisch
      Zufällig generierte Karten
      Zufällige Verteilung des Essens
      Unbekannte Aktionen der Gegner

25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 6
Inhalt

  Google AI Challenge

  AI Challenge 2011: Ants

  Algorithmen
    Suche und Ausbreitung
    Kampf
    Weitere Algorithmen


  Zusammenfassung




25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 7
Suche: BFS

  Breitensuche
    Eine oder mehrere Quellen sowie Ziele
    Erweiterbar als A*


  Baustein für weitere Algorithmen

  Vielseitig anwendbar:
    Pfadfindung
    Essen einsammeln
    Ausbreitung
    Gegnersuche
   …
                                                     Quelle: Ben Jackson, http://forums.aichallenge.org/viewtopic.php?f=24&t=2010



25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 8
Ausbreitung: mein Ansatz

  Breitensuche von Ameisen zum unbekannten sowie
   unsichtbaren Terrain

  Verteilung auf Prioritätsziele
    Round-Robin verteilt gleichmäßig auf alle Ziele
    Ziele:
     1. Grenzen des erkundeten Gebiets
     2. Gegnerische Hügel
     3. Gegnerische Ameisen
     4. Laufende Kämpfe


  Diffusion von übrigen Ameisen



25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 9
Ausbreitung: Collaborative Diffusion

  Collaborative Diffusion: Programming Antiobjects
   (A. Repenning, University of Colorado, OOPSLA 2006)


  Diffusionswerte auf allen Feldern für FOOD, EXPLORE, HILL
    Werte sind auf jeweiligen Zielfeldern maximal
    und verteilen sich auf die Felder drum herum
    Miteinbezogen wird, wann das Feld zuletzt gesehen wurde


  Bewegung immer zum Feld mit größtem Wert

  Vorteile:
    Lineare Laufzeit abhängig nur von Kartengröße
    Keine explizite Pfadfindung notwendig

25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 10
Kampf: Minimax

  Suchbaum mit möglichen Bewegungen in Knoten

  Evaluation zum Bestimmen des Optimums

  Komplex
    Hoher Branching Faktor: 5 Möglichkeiten pro Ameise
    Muss in limitierter Zeit durchlaufen!


  Viele Fragen zu beantworten:
    Wie die Baumknoten generieren?
    Welche Bewegungen betrachten?
    Wie tief den Baum durchsuchen?
   …

25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 11
Kampf: Minimax (mein Ansatz)

  Baumebene = Halbzug
  Evaluation nach jeder 2. Ebene

  Bewegungen für ganze Gruppen von Ameisen
    Attack, Hold, Retreat, N/S/W/E, Idle


  Vorteile:                                           Nachteile:
    Beliebig große Gruppen                             Unvollständig
    Hohe Suchtiefe erreichbar                          Etwas unflexibel bei sehr großen
                                                         Kämpfen




25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 12
Kampf: Minimax (xathis)


                  A
                          B
                                   C
          X
                  Y




Quelle:
Mathis Lichtenberger
http://xathis.com/posts/ai-challenge-2011-ants.html



25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 13
Kampf: Influence map (Memetix)

  Algorithmus:
   1. Für alle Ameisen, für jede der 5 möglichen Positionen :
      rechnen, wieviele Gegner im Kampfradius maximal sein können
   2. Für alle meine Ameisen, markiere jede der 5 Positionen:
      -1 wenn meine Ameise dort stirbt
      -0.5 bei einem 1-1 Austausch
      0 sonst
   3. Bewege Ameisen in die Felder mit höchster Markierung

  Vorteile:                                           Nachteile:
       Gute Integration mit                            Unvollständig
        Collaborative Diffusion                         In manchen Situationen ungenau
       Einfache Implementierung                        Kein Vorausschauen
       Geringe Laufzeit

25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 14
Genetische Optimierung

  Optimierung der Heuristiken durch genetische Verfahren
    Evaluation im Kampf
    Startwerte für Diffusion


  Schwierigkeiten:

    Laufzeit
      ~200 Züge á 500ms = 100s und mehr pro Spiel
      Ergebnis eines Spiels wenig aussagekräftig

    Unzureichende Vielfalt der Gegner
      Spiele nur innerhalb der Population



25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 15
Symmetrieerkennung

  Bekannte Information:
    Größe der Spielkarte


  Unbekannte Information:
    Anzahl der Gegner
    Positionen der gegnerischen Hügel


  Ableitung der unbekannten
   Information möglich!

  Information über Symmetrie:
    sichtbares Wasser und Hügel
    erscheinendes Essen




25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 16
Weitere Strategien

  Statische Formationen
    Verteidigung der Hügel
    „Gitternetze“ zum Abdecken des erkundeten Gebiets


  Spawn Control
    Absichtliches Blockieren der eigenen Hügel


  Neuronale Netzwerke




25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 17
Zusammenfassung


  Große Vielfalt von Algorithmen

  Viele Ansätze und Kombinationen

  Keine eindeutig beste Lösung!




25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 18
Vielen Dank fürs Zuhören!


                                                 Fragen?




25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 19

Weitere ähnliche Inhalte

Andere mochten auch

Verteidigung Masterarbeit
Verteidigung MasterarbeitVerteidigung Masterarbeit
Verteidigung Masterarbeitwruge
 
Kolloqium Bachelorarbeit V1
Kolloqium Bachelorarbeit V1Kolloqium Bachelorarbeit V1
Kolloqium Bachelorarbeit V1Nils Meder
 
Verteidigung der MasterThesis
Verteidigung der MasterThesisVerteidigung der MasterThesis
Verteidigung der MasterThesischris2newz
 
Bachelor-Verteidigung
Bachelor-VerteidigungBachelor-Verteidigung
Bachelor-Verteidigungwruge
 
Bachelor Thesis Presentation
Bachelor Thesis PresentationBachelor Thesis Presentation
Bachelor Thesis Presentationanderspurup
 
Präsentation der Bachelorarbeit
Präsentation der BachelorarbeitPräsentation der Bachelorarbeit
Präsentation der Bachelorarbeitalm13
 
Bachelor\'s Thesis Presentation
Bachelor\'s Thesis PresentationBachelor\'s Thesis Presentation
Bachelor\'s Thesis PresentationNatalia_Ladygina
 
Poster-An Expert System for Car Failure Diagnosis
Poster-An Expert System for Car Failure DiagnosisPoster-An Expert System for Car Failure Diagnosis
Poster-An Expert System for Car Failure DiagnosisViralkumar Jayswal
 
Mrs. Hale’S Ants
Mrs. Hale’S AntsMrs. Hale’S Ants
Mrs. Hale’S Antslcvines
 
Promotionsprojekt am Forschungsseminar 180915: HRM als Dienstleistung
Promotionsprojekt am Forschungsseminar 180915: HRM als DienstleistungPromotionsprojekt am Forschungsseminar 180915: HRM als Dienstleistung
Promotionsprojekt am Forschungsseminar 180915: HRM als DienstleistungStefan Doering
 
Artificial Intelligence Presentation
Artificial Intelligence PresentationArtificial Intelligence Presentation
Artificial Intelligence Presentationlpaviglianiti
 
Der Einfluss von Persönlichkeitseigenschaften auf den Verhandlungsstil
Der Einfluss von Persönlichkeitseigenschaften auf den VerhandlungsstilDer Einfluss von Persönlichkeitseigenschaften auf den Verhandlungsstil
Der Einfluss von Persönlichkeitseigenschaften auf den VerhandlungsstilHilger Schneider
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligenceu053675
 
Verteidigung Masterarbeit "MOOCs an deutschsprachigen Hochschulen: Eine Analy...
Verteidigung Masterarbeit "MOOCs an deutschsprachigen Hochschulen: Eine Analy...Verteidigung Masterarbeit "MOOCs an deutschsprachigen Hochschulen: Eine Analy...
Verteidigung Masterarbeit "MOOCs an deutschsprachigen Hochschulen: Eine Analy...Daniela Wolf
 
Verteidigung Masterarbeit "Entwicklung eines E-Learning Programms zur Steiger...
Verteidigung Masterarbeit "Entwicklung eines E-Learning Programms zur Steiger...Verteidigung Masterarbeit "Entwicklung eines E-Learning Programms zur Steiger...
Verteidigung Masterarbeit "Entwicklung eines E-Learning Programms zur Steiger...Daniela Wolf
 
Deep Learning - The Past, Present and Future of Artificial Intelligence
Deep Learning - The Past, Present and Future of Artificial IntelligenceDeep Learning - The Past, Present and Future of Artificial Intelligence
Deep Learning - The Past, Present and Future of Artificial IntelligenceLukas Masuch
 

Andere mochten auch (20)

Verteidigung Masterarbeit
Verteidigung MasterarbeitVerteidigung Masterarbeit
Verteidigung Masterarbeit
 
Kolloqium Bachelorarbeit V1
Kolloqium Bachelorarbeit V1Kolloqium Bachelorarbeit V1
Kolloqium Bachelorarbeit V1
 
Verteidigung der MasterThesis
Verteidigung der MasterThesisVerteidigung der MasterThesis
Verteidigung der MasterThesis
 
Bachelor Thesis
Bachelor ThesisBachelor Thesis
Bachelor Thesis
 
Bachelor-Verteidigung
Bachelor-VerteidigungBachelor-Verteidigung
Bachelor-Verteidigung
 
Bachelor Thesis Presentation
Bachelor Thesis PresentationBachelor Thesis Presentation
Bachelor Thesis Presentation
 
Kolloquium
KolloquiumKolloquium
Kolloquium
 
Präsentation der Bachelorarbeit
Präsentation der BachelorarbeitPräsentation der Bachelorarbeit
Präsentation der Bachelorarbeit
 
Verteidigung
VerteidigungVerteidigung
Verteidigung
 
Bachelor\'s Thesis Presentation
Bachelor\'s Thesis PresentationBachelor\'s Thesis Presentation
Bachelor\'s Thesis Presentation
 
Poster-An Expert System for Car Failure Diagnosis
Poster-An Expert System for Car Failure DiagnosisPoster-An Expert System for Car Failure Diagnosis
Poster-An Expert System for Car Failure Diagnosis
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Mrs. Hale’S Ants
Mrs. Hale’S AntsMrs. Hale’S Ants
Mrs. Hale’S Ants
 
Promotionsprojekt am Forschungsseminar 180915: HRM als Dienstleistung
Promotionsprojekt am Forschungsseminar 180915: HRM als DienstleistungPromotionsprojekt am Forschungsseminar 180915: HRM als Dienstleistung
Promotionsprojekt am Forschungsseminar 180915: HRM als Dienstleistung
 
Artificial Intelligence Presentation
Artificial Intelligence PresentationArtificial Intelligence Presentation
Artificial Intelligence Presentation
 
Der Einfluss von Persönlichkeitseigenschaften auf den Verhandlungsstil
Der Einfluss von Persönlichkeitseigenschaften auf den VerhandlungsstilDer Einfluss von Persönlichkeitseigenschaften auf den Verhandlungsstil
Der Einfluss von Persönlichkeitseigenschaften auf den Verhandlungsstil
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Verteidigung Masterarbeit "MOOCs an deutschsprachigen Hochschulen: Eine Analy...
Verteidigung Masterarbeit "MOOCs an deutschsprachigen Hochschulen: Eine Analy...Verteidigung Masterarbeit "MOOCs an deutschsprachigen Hochschulen: Eine Analy...
Verteidigung Masterarbeit "MOOCs an deutschsprachigen Hochschulen: Eine Analy...
 
Verteidigung Masterarbeit "Entwicklung eines E-Learning Programms zur Steiger...
Verteidigung Masterarbeit "Entwicklung eines E-Learning Programms zur Steiger...Verteidigung Masterarbeit "Entwicklung eines E-Learning Programms zur Steiger...
Verteidigung Masterarbeit "Entwicklung eines E-Learning Programms zur Steiger...
 
Deep Learning - The Past, Present and Future of Artificial Intelligence
Deep Learning - The Past, Present and Future of Artificial IntelligenceDeep Learning - The Past, Present and Future of Artificial Intelligence
Deep Learning - The Past, Present and Future of Artificial Intelligence
 

Analyse der Algorithmen und Strategien in der Google AI Challenge 2011

  • 1. Google AI Challenge 2011: Analyse der Algorithmen und Strategien Bachelorarbeit von Olexandr Savchuk 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 1
  • 2. Inhalt  Google AI Challenge  AI Challenge 2011: Ants  Algorithmen  Suche und Ausbreitung  Kampf  Weitere Algorithmen  Zusammenfassung 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 2
  • 3. Google AI Challenge  Öffentlicher KI-Wettbewerb  ursprünglich von University of Waterloo  gesponsert durch Google  Programme („Bots“) spielen ein Spiel gegeneinander  in diversen Sprachen geschrieben  alles läuft auf den Challenge-Servern  Gewinner durch ein Ranking-System ermittelt  früher ELO, jetzt TrueSkill 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 3
  • 4. AI Challenge 2011: Ants  Jeder Bot steuert eine Kolonie von Ameisen  Rechteckiges Spielfeld mit überlaufenden Rändern  Ein oder mehrere Ameisenhaufen pro Spieler  Spielfeld symmetrisch  Essen erscheint zufällig, aber symmetrisch  Zugbasiert mit Zeitlimit  Alle Bots ziehen gleichzeitig  Jede Ameise kann pro Zug um ein Feld bewegt werden  Ziel: die Haufen der anderen Spieler zu überrennen  2 Punkte für das Überrennen, -1 für Verlust eines Haufens 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 4
  • 5. AI Challenge 2011: Ants Demospiel http://aichallenge.org/visualizer.php?game=346155&user=871 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 5
  • 6. AI Challenge 2011: Ants  Umgebung des Spiels:  Mehrere Agenten  Adversarial  Unvollständige Information  Fog of War  Stochastisch  Zufällig generierte Karten  Zufällige Verteilung des Essens  Unbekannte Aktionen der Gegner 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 6
  • 7. Inhalt  Google AI Challenge  AI Challenge 2011: Ants  Algorithmen  Suche und Ausbreitung  Kampf  Weitere Algorithmen  Zusammenfassung 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 7
  • 8. Suche: BFS  Breitensuche  Eine oder mehrere Quellen sowie Ziele  Erweiterbar als A*  Baustein für weitere Algorithmen  Vielseitig anwendbar:  Pfadfindung  Essen einsammeln  Ausbreitung  Gegnersuche … Quelle: Ben Jackson, http://forums.aichallenge.org/viewtopic.php?f=24&t=2010 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 8
  • 9. Ausbreitung: mein Ansatz  Breitensuche von Ameisen zum unbekannten sowie unsichtbaren Terrain  Verteilung auf Prioritätsziele  Round-Robin verteilt gleichmäßig auf alle Ziele  Ziele: 1. Grenzen des erkundeten Gebiets 2. Gegnerische Hügel 3. Gegnerische Ameisen 4. Laufende Kämpfe  Diffusion von übrigen Ameisen 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 9
  • 10. Ausbreitung: Collaborative Diffusion  Collaborative Diffusion: Programming Antiobjects (A. Repenning, University of Colorado, OOPSLA 2006)  Diffusionswerte auf allen Feldern für FOOD, EXPLORE, HILL  Werte sind auf jeweiligen Zielfeldern maximal  und verteilen sich auf die Felder drum herum  Miteinbezogen wird, wann das Feld zuletzt gesehen wurde  Bewegung immer zum Feld mit größtem Wert  Vorteile:  Lineare Laufzeit abhängig nur von Kartengröße  Keine explizite Pfadfindung notwendig 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 10
  • 11. Kampf: Minimax  Suchbaum mit möglichen Bewegungen in Knoten  Evaluation zum Bestimmen des Optimums  Komplex  Hoher Branching Faktor: 5 Möglichkeiten pro Ameise  Muss in limitierter Zeit durchlaufen!  Viele Fragen zu beantworten:  Wie die Baumknoten generieren?  Welche Bewegungen betrachten?  Wie tief den Baum durchsuchen? … 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 11
  • 12. Kampf: Minimax (mein Ansatz)  Baumebene = Halbzug  Evaluation nach jeder 2. Ebene  Bewegungen für ganze Gruppen von Ameisen  Attack, Hold, Retreat, N/S/W/E, Idle  Vorteile:  Nachteile:  Beliebig große Gruppen  Unvollständig  Hohe Suchtiefe erreichbar  Etwas unflexibel bei sehr großen Kämpfen 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 12
  • 13. Kampf: Minimax (xathis) A B C X Y Quelle: Mathis Lichtenberger http://xathis.com/posts/ai-challenge-2011-ants.html 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 13
  • 14. Kampf: Influence map (Memetix)  Algorithmus: 1. Für alle Ameisen, für jede der 5 möglichen Positionen :  rechnen, wieviele Gegner im Kampfradius maximal sein können 2. Für alle meine Ameisen, markiere jede der 5 Positionen:  -1 wenn meine Ameise dort stirbt  -0.5 bei einem 1-1 Austausch  0 sonst 3. Bewege Ameisen in die Felder mit höchster Markierung  Vorteile:  Nachteile:  Gute Integration mit  Unvollständig Collaborative Diffusion  In manchen Situationen ungenau  Einfache Implementierung  Kein Vorausschauen  Geringe Laufzeit 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 14
  • 15. Genetische Optimierung  Optimierung der Heuristiken durch genetische Verfahren  Evaluation im Kampf  Startwerte für Diffusion  Schwierigkeiten:  Laufzeit  ~200 Züge á 500ms = 100s und mehr pro Spiel  Ergebnis eines Spiels wenig aussagekräftig  Unzureichende Vielfalt der Gegner  Spiele nur innerhalb der Population 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 15
  • 16. Symmetrieerkennung  Bekannte Information:  Größe der Spielkarte  Unbekannte Information:  Anzahl der Gegner  Positionen der gegnerischen Hügel  Ableitung der unbekannten Information möglich!  Information über Symmetrie:  sichtbares Wasser und Hügel  erscheinendes Essen 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 16
  • 17. Weitere Strategien  Statische Formationen  Verteidigung der Hügel  „Gitternetze“ zum Abdecken des erkundeten Gebiets  Spawn Control  Absichtliches Blockieren der eigenen Hügel  Neuronale Netzwerke 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 17
  • 18. Zusammenfassung  Große Vielfalt von Algorithmen  Viele Ansätze und Kombinationen  Keine eindeutig beste Lösung! 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 18
  • 19. Vielen Dank fürs Zuhören! Fragen? 25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 19