Folien der Einzel-Präsentation - Lehrstuhl 11 Algorithm Engineering

Transcription

Folien der Einzel-Präsentation - Lehrstuhl 11 Algorithm Engineering
TeamSolutions — Mehrzieloptimierung zur
Kompromissfindung in Spielen
Nicola Beume, Mike Preuß, Günter Rudolph
Computational Intelligence Group
Lehrstuhl für Algorithm Engineering (LS11)
Fakultät für Informatik
TU Dortmund
Nicola, Mike, Günter (LS11)
TeamSolutions
1 / 19
Programm für heute
1 Vorstellung der Veranstalter
2 Computerspiele und Forschung
3 Methoden
4 Spiele
TORCS
Bolzplatz 2006
5 Ablauf der PG
6 Weitere Informationen
Kontaktdaten und Links
Fragen?
Erfahrungsaustausch mit Ehemaligen
Nicola, Mike, Günter (LS11)
TeamSolutions
2 / 19
Vorstellung der Veranstalter
Veranstalter
Nicola Beume
Evolutionäre
Mehrzieloptimierung
Mike Preuß
Experimentelle Analyse
Evolutionärer Algorithmen
Günter Rudolph
Praktische Optimierung,
Computational Intelligence
Computational Intelligence Group
Lehrstuhl für Algorithm Engineering (LS11)
Nicola, Mike, Günter (LS11)
TeamSolutions
3 / 19
Computerspiele und Forschung
Computerspiele: Geschichte und Trends
Etwa 40 Jahre Entwicklung:
• Von einfacher Balkengrafik zur Virtual Reality
• Spiele nutzen die aktuellen Möglichkeiten der
Technik
• Grafik nach wie vor dominant, KI eher im
Hintergrund
• Was alles dazugehört: Game design, storyline
design, game mechanics, level design/content
creation, character design, physics....
• Oft weit mehr als 50 Mitarbeiter über längere Zeit
(Jahre) mit einem Spiel beschäftigt
Problem: Spielen in komplexen Welten erfordert hohe
Glaubwürdigkeit (Believability), sonst leidet der
Spielspaß
Nicola, Mike, Günter (LS11)
TeamSolutions
4 / 19
Computerspiele und Forschung
Believability/Immersion/Player Satisfaction
Computerspieler für Brettspiele sind schon sehr gut
• Deep blue (IBM) schlägt Kasparov 1997
• Damespiel 2007 gelöst (Schaffer)
Aber die große Herausforderung:
Glaubwürdiges Aussehen und Verhalten
aller Spielkomponenten in Videospielen
• Vor allem NSC sind ein großes Problem
• Müssen intelligent handeln
• Sollen nicht durch Fehler (z.B. häufige
Wiederholungen) auffallen
• NSC brauchen mehrere Strategien und müssen
auch reaktiv sein
• Es gibt oft mehrere Ziele und unvollständiges
Wissen
Nicola, Mike, Günter (LS11)
TeamSolutions
5 / 19
Computerspiele und Forschung
Techniken in der Spiele-KI Entwicklung
Die Spieleindustrie setzt weitgehend auf herkömmliche
Techniken:
• Scripting
• Regelsysteme
• Finite State Machines (Endliche Automaten)
Jegliche Dynamik wird vermieden, gilt als nicht beherrschbar
Aber: Komplexität ist enorm, und nicht alle Situationen sind
vorhersehbar (Oblivion Shopkeeper)
In der Forschung 3 verschiedene Richtungen:
• Spezialalgorithmen: Exakte oder heuristische Verfahren für Pfadsuche u.ä.
• AI: General Game Playing (via Game Description Language GDL), Baumsuche,
auch Support Vector Machines und Reinforcement Learning
• CI: EAs, Fuzzy, Neuronale Netze etc. ⇒ Nicola
Vorabinfo: CI ist NICHT exakt
Nicola, Mike, Günter (LS11)
TeamSolutions
6 / 19
Computerspiele und Forschung
Was bisher geschah...
Ein Feld entsteht: CI in Games
• CI in Games Konferenz seit 2005
• Special Sessions auf der CEC/WCCI Konferenz, seit ≈ 2004
• EvoGames als Teil der EvoStar Konferenz seit 2009
• PPSN CI and Games Workshop (und viele mehr)
• IEEE TCIAIG Journal (Transactions on Computational
Intelligence and Artificial Intelligence in Games) seit 2009
Und bei uns:
• Seminar CI und Spiele 2007 (Rudolph, Kramer)
• PG 511 CI in Games: Pac-Man, Glest
• PG 529 menschliche Spielercharaktere: Poker, Diplomacy
• Beteiligung an einigen Konferenzen (CEC 2008, CIG 2008,
EvoGames 2009, CIG 2009, EvoGames 2010)
Nicola, Mike, Günter (LS11)
TeamSolutions
7 / 19
Computerspiele und Forschung
Ziele und Zielkonflikte
Das oberste Ziel für NSC: Gewinnen!
• Hmmm, eigentlich nicht, sondern dem Spieler Spaß machen
• Ersetzen durch menschliche Spieler (MMOGs) ist nicht überall möglich, denn
Players want to kill, but not to die! (Shooter-Zielkonflikt)
Weitere Zielkonflikte (einige)
• Tore schießen, aber selbst keine reinbekommen
• RTS: Basis schnell hochbauen, aber verteidigungsfähig sein
• Allgemein: Menschlich wirken, aber spielstark sein (kein Cheating)
Und warum machen wir das:
• Es ist Arbeit, aber es macht Spaß!
• To boldly go where no man has gone before...
• Praktische Relevanz (nützlich für eine Zukunftsindustrie)
Nicola, Mike, Günter (LS11)
TeamSolutions
8 / 19
Methoden
Schlüsselkonzept Mehrzieloptimierung
Mehrkriterielles Optimierproblem:
Lösung gesucht, die mehrere Funktionen gleichzeitig optimiert
f = (f1 , . . . , fd ), mit fi : Rn → R
Bsp. Reiseoptimierung: minimiere f1 : Reisedauer und f2 : Reisekosten
Anforderungen konfliktär
Partielle Ordnung zwischen Lösungsvektoren:
y = (y1 , . . . , yd ), y0 = (y10 , . . . , yd0 ) ∈ Rd : y y0 ⇔ ∀i ∈ {1, . . . , d} : yi ≤ yi0
⇒ formal viele Lösungen gleich gut (unvergleichbar)
⇒ optimiere Menge bestmöglicher Kompromisslösungen (Pareto-optimal)
Nicola, Mike, Günter (LS11)
TeamSolutions
9 / 19
Methoden
Evolutionäre Mehrzieloptimierung
State-of-the-Art Optimierer für Mehrzieloptimierung
Mehrkriterielle Evolutionäre Algorithmen (EA)
Evolutionäre Algorithmen?
Randomisierte Suchheuristiken
Black-Box-Optimierer
Prinzip
Iterative Verbesserungen durch Ausprobieren von Lösungen
Inspiriert durch Evolution als Reproduktion + Variation + Auslese
Besondere Eignung für Mehrzieloptimierung
arbeiten mit Menge von Lösungen
⇒ Optimierung bis zu Pareto-optimaler Menge
Nicola, Mike, Günter (LS11)
TeamSolutions
10 / 19
Methoden
Computational Intelligence
Naturinspirierte Verfahren zur Problemlösung
• Evolutionäre Algorithmen
• Fuzzy-Systeme
• Neuronale Netze
• Schwarmverfahren
• künstliche Immunsysteme
• viele hybride Verfahren
Eigenschaften
• geeignet für komplexe, schlecht formalisierte Probleme (robust)
• können optimieren, lernen, steuern
• haben Parameter, die gut eingestellt werden müssen
• kaum theoretisch analysierbar
Nicola, Mike, Günter (LS11)
TeamSolutions
11 / 19
Spiele
TORCS
TORCS
Freie Autorenn-Spielumgebung
• Einem professionellen Spiel ähnlich
• Physikalisches Modell mit Schaden und
Spritverbrauch
• Wettbewerbe in der Forschung
• Java-Interface (auch C++)
• Bisher einzige wissenschaftliche Vorarbeit (CEC
2009)
Mögliche Zielkonflikte
• Geschwindigkeit maximieren (Ideallinie)
• Position behaupten (aggressiv überholen und
überholt werden verhindern)
• Schaden/Spritverbrauch minimieren
Nicola, Mike, Günter (LS11)
TeamSolutions
12 / 19
Spiele
TORCS
TORCS: Vorgehen
Hauptfrage: Welche Extreme sind möglich, und wie gut kann man sie kombinieren?
• Spielziel zerlegen in Teilziele (mehrkriterielle Modellierung)
• Mehrkriteriellen EA an Schnittstellen anpassen
• Viele Experimente: Parameteranpassung EA, verschiedene Teilziele in 2dim,
3dim, auch einkrit-EA zur Validierung möglich
• Die sich ergebenden Pareto-Fronten untersuchen:
Welche Kompromisse erscheinen sinnvoll?
• Automatische Tests durchführen (wer fährt gut gegen wen?)
• Menschliche Bewertung (Turingtest): Macht das Spaß?
Nicola, Mike, Günter (LS11)
TeamSolutions
13 / 19
Spiele
Bolzplatz 2006
Bolzplatz 2006
Freies Fußballspiel
• 3D-Comic-Grafik
• Mensch steuert einzelne Spieler
• OpenGL/C++, KI Interface in Java
Neue Konflikte: Teamverhalten
• Egoismus vs. Altruismus
• Kooperation modellieren
• versch. Spieler-Rollen (Verteidiger, Angreifer)
• versch. Charakter-Eigenschaften ausprägen
• Team-Zusammensetzung optimieren
Nicola, Mike, Günter (LS11)
TeamSolutions
14 / 19
Ablauf der PG
Ablauf und Aufgaben der PG
Ablauf
• Ferien SoSe09: Seminarvortrag vorbereiten
Anfang WiSe09/10: Seminarphase (Universitätskolleg Bommerholz)
• 1. Semester: Zielkonflikte beim einzelnen NSC: TORCS
2. Semester: Zielkonflikte im Team: Bolzplatz
• Industriekontakt zu Blue Byte (Ubisoft)
Arbeitsgebiete und Aufgaben
• Entwicklung, Optimierung versch. Spielercharaktere: Feigling, Draufgänger, . . .
• Evaluierung der NSC in Turnieren
Evaluierung der Menschenähnlichkeit in Turing-Tests
• Mehrzieloptimierung, Optimierung, CI-Methoden, Algorithmik,
Spieleprogrammierung, Statistik, . . .
• Experimentelle Forschung
Nicola, Mike, Günter (LS11)
TeamSolutions
15 / 19
Ablauf der PG
Organisatorisches
Selbstorganisation!
Unsere Vorschläge
• Plenumssitzungen 1-2 mal wöchentlich
• intensive Arbeit in Kleingruppen
• Kommunikationsmedien: Trac, Wiki, SVN
• PG-Satzung verfassen
• Managementkonzept SCRUM (organisiertes Chaos) ausprobieren
Technisches
• Accounts + Arbeitsplätze am LS11
• Server für Studierende
Rolle der Betreuer
• Vorgeben der Ziele, Beratung bei Arbeitsplanung
• Fachliche Berater, Vertrauenspersonen, Prüfer
Nicola, Mike, Günter (LS11)
TeamSolutions
16 / 19
Weitere Informationen
Kontaktdaten und Links
Weitere Informationen
Kontakt
nicola.beume@tu-dortmund.de, OH14, 233
mike.preuss@tu-dortmund.de, OH14, 234
guenter.rudolph@tu-dortmund.de, OH14, 232
Links und Literatur
Homepage für PG:
http://ls11-www.cs.uni-dortmund.de/people/beume/pg-games/pg200910.jsp
(verlinkt bei Nicola)
Nicola, Mike, Günter (LS11)
TeamSolutions
17 / 19
Weitere Informationen
Fragen?
Fragen?
???
Nicola, Mike, Günter (LS11)
TeamSolutions
18 / 19
Weitere Informationen
Erfahrungsaustausch mit Ehemaligen
Erfahrungsaustausch mit ehemaligen PG-Teilnehmern
Noch mehr Fragen?
⇒ Studentische Hilfskräfte in Raum OH14, 204
Nicola, Mike, Günter (LS11)
TeamSolutions
19 / 19