of 33 /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)

Text of Künstliche Intelligenz und Ameisen · Was ist künstliche Intelligenz? • Automatisierung...

  • 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