33
Künstliche Intelligenz und Ameisen Microsoft C# spielerisch erlernen

Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt

Embed Size (px)

Citation preview

Page 1: Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung intelligenten Verhaltens. • In Spielen hat sich die ereignisorientierte KI durchgesetzt

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

VIELEN DANK FÜR IHRE

AUFMERKSAMKEIT

Ende der Präsentation

04.06.2008 Johannes Fritsch Künstliche Intelligenz und Ameisen 33