Successfully reported this slideshow.

Analyse der Algorithmen und Strategien in der Google AI Challenge 2011

1,261 views

Published on

Präsentation meiner Bachelorarbeit im Rahmen des Oberseminars Knowledge Engineering an der TU Darmstadt, Januar 2012.

Published in: Education
  • Be the first to comment

Analyse der Algorithmen und Strategien in der Google AI Challenge 2011

  1. 1. Google AI Challenge 2011: Analyse der Algorithmen und Strategien Bachelorarbeit von Olexandr Savchuk25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 1
  2. 2. Inhalt  Google AI Challenge  AI Challenge 2011: Ants  Algorithmen  Suche und Ausbreitung  Kampf  Weitere Algorithmen  Zusammenfassung25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 2
  3. 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 TrueSkill25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 3
  4. 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 Haufens25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 4
  5. 5. AI Challenge 2011: Ants Demospiel http://aichallenge.org/visualizer.php?game=346155&user=87125.01.2012 | Fachbereich 20 | Olexandr Savchuk | 5
  6. 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 Gegner25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 6
  7. 7. Inhalt  Google AI Challenge  AI Challenge 2011: Ants  Algorithmen  Suche und Ausbreitung  Kampf  Weitere Algorithmen  Zusammenfassung25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 7
  8. 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=201025.01.2012 | Fachbereich 20 | Olexandr Savchuk | 8
  9. 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 Ameisen25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 9
  10. 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 notwendig25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 10
  11. 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. 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ämpfen25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 12
  13. 13. Kampf: Minimax (xathis) A B C X YQuelle:Mathis Lichtenbergerhttp://xathis.com/posts/ai-challenge-2011-ants.html25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 13
  14. 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 Laufzeit25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 14
  15. 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 Population25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 15
  16. 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 Essen25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 16
  17. 17. Weitere Strategien  Statische Formationen  Verteidigung der Hügel  „Gitternetze“ zum Abdecken des erkundeten Gebiets  Spawn Control  Absichtliches Blockieren der eigenen Hügel  Neuronale Netzwerke25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 17
  18. 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. 19. Vielen Dank fürs Zuhören! Fragen?25.01.2012 | Fachbereich 20 | Olexandr Savchuk | 19

×