Author
hoangcong
View
215
Download
0
Embed Size (px)
Knstliche Intelligenz und Ameisen
Microsoft C# spielerisch erlernen
Was ist knstliche Intelligenz?
Automatisierung intelligenten Verhaltens.
In Spielen hat sich die ereignisorientierte KI In Spielen hat sich die ereignisorientierte KI durchgesetzt. Menschen programmieren die Aktionen, basierend auf Ereignissen.
Genetische Algorithmen knnen zum Finden mglichst optimaler Strategien verwendet werden. Hufig: Rundenbasierte Strategiespiele.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 2
Ablauf des Vortrags
Vorstellung der Systematik und einer beispielhaften Anwendung genetischer beispielhaften Anwendung genetischer Algorithmen.
Ausfhrliche Demonstration der Entwicklung einer ereignisorientieren knstlichen Intelligenz.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 3
Genetische Algorithmen in der KI
Stark vereinfachte Adaption des Evolutionsprinzip Survival of the fittest.Evolutionsprinzip Survival of the fittest.
Gute Lsungen fr ein Problem werden untereinander gepaart.
Schlechte Lsungen sterben aus.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 4
Genetische Algorithmen in der KI
Voraussetzungen Lsungsvorschlag kann bepunktet werden. Lsungsvorschlag kann bepunktet werden.
Lsungsvorschlge bestehen aus mehreren unabhngigen Einzel- oder Gruppenanweisungen.
Es gibt eine groe Menge von Lsungsvorschlgen. Das Durchgehen eines jeden wre sehr aufwndig.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 5
Genetische Algorithmen (Ablauf)
1. Zuflliges Generieren von x Lsungen (z.B. 100)100)
2. Scoring anhand einer Fitnessfunktion
3. Die besten y (z.B. 5) Lsungen ermitteln.
4. Toplsungen miteinander kreuzen.
5. Die schlechtesten y Lsungen verwerfen.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 6
Beispiel fr einen genetischen Algo
Platzieren Sie eine gegebene Menge gegebene Menge verschieden groer Ellipsen und Kreisen in einem Rechteck, ohne dass sich diese berhren.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 7
Was spricht gegen genetische Algos?
Sehr schlechte Performance, daher fr die meisten Spiele ungeeignet.meisten Spiele ungeeignet.
Sie suchen nach optimalen Lsungen, in Spielen gengt meist eine akzeptable Lsung.
Dennoch: Ungewissheit, ob die Lsung optimal ist.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 8
Eine Alternative: Ereignisorientierte KI
Gngige Praxis in den meisten Spielen.
Gegner besitzen Ereignisse, beispielsweise Gegner besitzen Ereignisse, beispielsweise Gegner in 10 Metern gesichtet.
Einfache Abfragen regeln dann das Verhalten (Flucht? Kampf?)
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 9
Was ist AntMe?
Ein Spiel, bei dem die Programmierung von knstlicher Intelligenz (KI) das zentrale knstlicher Intelligenz (KI) das zentrale Spielprinzip ist.
Eine prima Mglichkeit, die Sprachen C# oder Visual Basic .NET zu erlernen.
Demonstriert ereignisorientierte KI in Computerspielen.
04.06.2008 Johannes Fritsch 10Knstliche Intelligenz und Ameisen
Das Spielprinzip
Jeder Spieler kontrolliert ein Ameisenvolk.
Das Spielfeld enthlt begrenzte Das Spielfeld enthlt begrenzte Nahrungsresourcen.
Auerdem tummeln sich auf dem Spielfeld ameisenfressende Kfer.
04.06.2008 Johannes Fritsch 11Knstliche Intelligenz und Ameisen
Wie wird gespielt?
Das Verhalten der eigenen Ameisen wird durch ein Programm gesteuert.ein Programm gesteuert.
Durch Programmcode kann auf Ereignisse reagiert werden.
Durch ausgefeilte Strategie-Routinen kann dem eigenen Volk zu einem Vorteil verholfen werden.
04.06.2008 Johannes Fritsch 12Knstliche Intelligenz und Ameisen
Was brauche ich?
Visual Studio (Express oder Standard)
Microsoft DirectX fr die Darstellung der 3D- Microsoft DirectX fr die Darstellung der 3D-Grafik.
Aktuelles AntMe-Release von www.antme.net
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 13
Erste Schritte
Installieren Sie Microsoft DirectX und Visual Studio.Studio.
Laden Sie das Release fr ihre Version von Visual Studio.
ffnen Sie die Datei Spieler.sln durch einen Doppelklick.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 14
Die Entwicklungsumgebung
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 15
Ein Testlauf
Starten Sie die Simulation durch Drcken von Strg + F5Strg + F5
Whlen Sie ein beliebiges Volk und verfolgen Sie die Geschehnisse.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 16
Demonstration I
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 17
Ein erster Testlauf
Die Datei Vorlage.cs
Dient dem Erstellen eigener Vlker.
Definiert leere Methoden, welche angepasst Definiert leere Methoden, welche angepasst werden sollten.
Sollte kopiert und angepasst werden.
ndern Sie nicht die Originaldatei.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 18
Erweiterbare Methoden
Gliedern sich in 5 Kategorien
Fortbewegung Fortbewegung
Nahrung
Kommunikation
Kampf
Sonstiges
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 19
Demonstration II
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 20
bersicht ber die berschreibbaren Methoden
Ein eigenes Volk erstellen
Kopieren Sie die Datei Vorlage.cs
Benennen Sie die Datei um Benennen Sie die Datei um
ndern Sie den Namespace
Geben Sie Ihrem Volk einen Namen
Tragen Sie den Autor ein
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 21
Demonstration III
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 22
Ein neues Volk anlegen und simulieren
Problemstellung
ProblemProblem
Ameisen stehen unttig am Rand des Baus
Lsung
Wartet-Methode berschreiben
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 23
Demonstration IV
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 24
Ameisen bewegen sich kreisartig
Problemstellung
ProblemProblem
Ameisen verhungern
Lsung
WirdMde-Methode berschreiben
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 25
Demonstration V
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 26
Ameisen kehren um, wenn sie mde sind
Problemstellung
ProblemProblem
Ameisen laufen an Nahrung vorbei
Lsung
Sieht-Methoden berschreiben
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 27
Demonstration VI
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 28
Ameisen laufen zu Nahrung
Problemstellung
ProblemProblem
Ameisen stehen unttig an der Nahrung
Lsung
ZielErreicht-Methode berschreiben
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 29
Demonstration VII
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 30
Ameisen nehmen Nahrung auf und gehen zu Bau
Ausblick
Weitere Probleme mssen gelst werden Das Kferproblem Das Kferproblem
Ameisen verschenken Reichweite
Keine Kommunikation
Beispiele fr taktisches Vorgehen Kreisameisen
Kampfameisen
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 31
Wie geht es weiter?
Beim Microsoft Imagine Cup kmpfen KI-Fans aus der ganzen Welt um wertvolle Preise.aus der ganzen Welt um wertvolle Preise.
Also: Mit den Ameisen warmspielen, und dann beim Imagine Cup loslegen.
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 32
VIELEN DANK FR IHRE
AUFMERKSAMKEIT
Ende der Prsentation
04.06.2008 Johannes Fritsch Knstliche Intelligenz und Ameisen 33