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