Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung...
Transcript of Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung...
![Page 1: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/1.jpg)
Künstliche Intelligenz und Ameisen
Microsoft C# spielerisch erlernen
![Page 2: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/2.jpg)
Was ist künstliche 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 können zum Finden möglichst optimaler Strategien verwendet werden. Häufig: Rundenbasierte Strategiespiele.
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 2
![Page 3: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/3.jpg)
Ablauf des Vortrags
• Vorstellung der Systematik und einer beispielhaften Anwendung genetischer beispielhaften Anwendung genetischer Algorithmen.
• Ausführliche Demonstration der Entwicklung einer ereignisorientieren künstlichen Intelligenz.
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 3
![Page 4: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/4.jpg)
Genetische Algorithmen in der KI
• Stark vereinfachte Adaption des Evolutionsprinzip „Survival of the fittest“.Evolutionsprinzip „Survival of the fittest“.
• Gute Lösungen für ein Problem werden untereinander gepaart.
• Schlechte Lösungen sterben aus.
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 4
![Page 5: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/5.jpg)
Genetische Algorithmen in der KI
• Voraussetzungen– Lösungsvorschlag kann bepunktet werden.– Lösungsvorschlag kann bepunktet werden.
– Lösungsvorschläge bestehen aus mehreren unabhängigen Einzel- oder Gruppenanweisungen.
– Es gibt eine große Menge von Lösungsvorschlägen. Das Durchgehen eines jeden wäre sehr aufwändig.
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 5
![Page 6: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/6.jpg)
Genetische Algorithmen (Ablauf)
1. Zufälliges Generieren von x Lösungen (z.B. 100)100)
2. Scoring anhand einer „Fitnessfunktion“
3. Die besten y (z.B. 5) Lösungen ermitteln.
4. Toplösungen miteinander kreuzen.
5. Die schlechtesten y Lösungen verwerfen.
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 6
![Page 7: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/7.jpg)
Beispiel für einen genetischen Algo
• Platzieren Sie eine gegebene Menge gegebene Menge verschieden großer Ellipsen und Kreisen in einem Rechteck, ohne dass sich diese berühren.
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 7
![Page 8: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/8.jpg)
Was spricht gegen genetische Algos?
• Sehr schlechte Performance, daher für die meisten Spiele ungeeignet.meisten Spiele ungeeignet.
• Sie suchen nach optimalen Lösungen, in Spielen genügt meist eine akzeptable Lösung.
• Dennoch: Ungewissheit, ob die Lösung optimal ist.
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 8
![Page 9: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/9.jpg)
Eine Alternative: Ereignisorientierte KI
• Gängige 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 Künstliche Intelligenz und Ameisen 9
![Page 10: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/10.jpg)
Was ist AntMe?
• Ein Spiel, bei dem die Programmierung von künstlicher Intelligenz (KI) das zentrale künstlicher Intelligenz (KI) das zentrale Spielprinzip ist.
• Eine prima Möglichkeit, die Sprachen C# oder Visual Basic .NET zu erlernen.
• Demonstriert ereignisorientierte KI in Computerspielen.
04.06.2008 Johannes Fritsch 10Künstliche Intelligenz und Ameisen
![Page 11: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/11.jpg)
Das Spielprinzip
• Jeder Spieler kontrolliert ein Ameisenvolk.
Das Spielfeld enthält begrenzte • Das Spielfeld enthält begrenzte Nahrungsresourcen.
• Außerdem tummeln sich auf dem Spielfeld ameisenfressende Käfer.
04.06.2008 Johannes Fritsch 11Künstliche Intelligenz und Ameisen
![Page 12: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/12.jpg)
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 12Künstliche Intelligenz und Ameisen
![Page 13: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/13.jpg)
Was brauche ich?
• Visual Studio (Express oder Standard)
Microsoft DirectX für die Darstellung der 3D-• Microsoft DirectX für die Darstellung der 3D-Grafik.
• Aktuelles AntMe-Release von www.antme.net
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 13
![Page 14: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/14.jpg)
Erste Schritte
• Installieren Sie Microsoft DirectX und Visual Studio.Studio.
• Laden Sie das Release für ihre Version von Visual Studio.
• Öffnen Sie die Datei Spieler.sln durch einen Doppelklick.
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 14
![Page 15: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/15.jpg)
Die Entwicklungsumgebung
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 15
![Page 16: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/16.jpg)
Ein Testlauf
• Starten Sie die Simulation durch Drücken von Strg + F5Strg + F5
• Wählen Sie ein beliebiges Volk und verfolgen Sie die Geschehnisse.
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 16
![Page 17: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/17.jpg)
Demonstration I
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 17
Ein erster Testlauf
![Page 18: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/18.jpg)
Die Datei Vorlage.cs
• Dient dem Erstellen eigener Völker.
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 Künstliche Intelligenz und Ameisen 18
![Page 19: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/19.jpg)
Erweiterbare Methoden
• Gliedern sich in 5 Kategorien
– Fortbewegung– Fortbewegung
– Nahrung
– Kommunikation
– Kampf
– Sonstiges
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 19
![Page 20: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/20.jpg)
Demonstration II
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 20
Übersicht über die überschreibbaren Methoden
![Page 21: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/21.jpg)
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 Künstliche Intelligenz und Ameisen 21
![Page 22: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/22.jpg)
Demonstration III
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 22
Ein neues Volk anlegen und simulieren
![Page 23: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/23.jpg)
Problemstellung
ProblemProblem
• Ameisen stehen untätig am Rand des Baus
Lösung
• Wartet-Methode überschreiben
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 23
![Page 24: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/24.jpg)
Demonstration IV
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 24
Ameisen bewegen sich kreisartig
![Page 25: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/25.jpg)
Problemstellung
ProblemProblem
• Ameisen verhungern
Lösung
• WirdMüde-Methode überschreiben
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 25
![Page 26: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/26.jpg)
Demonstration V
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 26
Ameisen kehren um, wenn sie müde sind
![Page 27: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/27.jpg)
Problemstellung
ProblemProblem
• Ameisen laufen an Nahrung vorbei
Lösung
• Sieht-Methoden überschreiben
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 27
![Page 28: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/28.jpg)
Demonstration VI
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 28
Ameisen laufen zu Nahrung
![Page 29: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/29.jpg)
Problemstellung
ProblemProblem
• Ameisen stehen untätig an der Nahrung
Lösung
• ZielErreicht-Methode überschreiben
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 29
![Page 30: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/30.jpg)
Demonstration VII
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 30
Ameisen nehmen Nahrung auf und gehen zu Bau
![Page 31: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/31.jpg)
Ausblick
• Weitere Probleme müssen gelöst werden– Das Käferproblem– Das Käferproblem
– Ameisen verschenken Reichweite
– Keine Kommunikation
• Beispiele für taktisches Vorgehen– Kreisameisen
– Kampfameisen
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 31
![Page 32: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/32.jpg)
Wie geht es weiter?
• Beim Microsoft Imagine Cup kämpfen 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 Künstliche Intelligenz und Ameisen 32
![Page 33: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt.](https://reader031.fdocument.pub/reader031/viewer/2022020304/5b9fc6af09d3f2df578b9804/html5/thumbnails/33.jpg)
VIELEN DANK FÜR IHRE
AUFMERKSAMKEIT
Ende der Präsentation
04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 33