Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Künstliche Intelligenz zur Verbesserung der Spiellogik

Ähnliche Präsentationen


Präsentation zum Thema: "Künstliche Intelligenz zur Verbesserung der Spiellogik"—  Präsentation transkript:

1 Künstliche Intelligenz zur Verbesserung der Spiellogik
Wie soll das gehen?

2 Wann macht ein Spiel Spaß?
Gute Ziele Es muss für den Spieler ein Ziel existieren auf das er zuarbeiten kann. echte Entscheidungen Keine Langeweile Es darf nicht passieren, dass der Spieler einen großen Anteil der Runden mit Warten verbringt. Leicht zu verstehen, schwer zu meistern Absehbares Ende Multiplayerpartien sollten höchstens 2 Stunden dauern

3 Wie kann man Spielspaß messen?
Gar nicht  Durch Massen an Beta-Testern Indem man Simulationen durchführt, die zu erwartendes Spielerverhalten emulieren

4 Was für Simulationen? Man nehme mehrere Künstliche Intelligenzen und lasse sie gegeneinander antreten. Diese Künstlichen Intelligenzen lernen und optimieren sich gegenseitig. Ihr Spielverhalten kann analysiert werden, wie das von Beta-Testern. Kein Mehraufwand: Eine KI brauchen wir für das Spiel sowieso. Prämisse: Die KI funktioniert ähnlich wie Spieler.

5 Blick von der anderen Seite: Wie funktioniert eine gute KI
Atlantis ist von den Anforderungen her ähnlich zu Civilization von Sid Meier Deren KI funktioniert auf der Basis von Beratern Jeder Berater behält einen bestimmten Spielaspekt im Auge und macht Vorschläge, die optimal zu diesem Aspekt passen (sollen) Ein übergeordnetes Strategiemodul entscheidet, welchem Berater in welcher Situation Folge geleistet wird.

6 Berater Jeder Berater berechnet Züge, die seinem Ziel dienlich sind.
Dabei bewertet er sich auch selbst, wie dringlich seine Vorschläge sind. Beispiel: Eine militärische Einheit in einer unbefestigten Stadt zu produzieren ist wichtiger, als in einer bereits befestigten. Vorteil: Taktisches Vorgehen ist meist recht übersichtlich und es können optimale Lösungen gefunden werden, ohne großen Berechnungsaufwand Nachteil: Jeder Berater hat nur seine eigenen Ziele im Auge, evtl. Synergien zu anderen Zielen fallen weg

7 Berater (Techniken) Die wichtigsten Techniken dabei sind:
Baulisten mit Gewinn-Verlustrechnung Rollen für Einheiten Taktische Analyse mit Alpha-Beta-Suchbäumen

8 Baulisten Liste der dem Ziel förderlicher Gebäude, Einheiten, Gegenstände Der „Gewinn“, also der zu erwartende Nutzen, wird heuristisch bestimmt Der „Verlust“, also die zu erwartenden Kosten, werden ebenfalls bestimmt Die Heuristik sollte für alle Einrichtungen vergleichbar sein Gesucht ist die Aktion(en) deren Gewinn maximal ist und deren Verlust das erlaubte Budget nicht überschreitet Vorgeschlagene Methode: Greedyalgorithmus

9 Rollen Einheiten nehmen Rollen ein, um Ziele langfristig voranzutreiben Wichtig für Aufgaben, die länger als einen Zug dauern und/oder die einen hohen Spezialisierungsgrad erfordern Einheiten mit einer Rolle folgen vorgefertigten Handlungsmustern (Scouten, search&destroy, Strassen bauen, Gebäude bauen, etc. ) Die Handlungsmuster sollten möglichst wenig komplex sein und ein klar definiertes Ziel haben Vorgeschlagene Methode: Skripte

10 Taktische Kriegsführung
Militärische Rollen sind oft sehr komplex, da es viele Parameter zu beachten gilt Gelände Position der eigenen Truppen Position der gegnerischen Truppen Versorgung Position schützenswerter Einrichtungen Etc. Zusätzlich geht man davon aus, dass der Gegner ebenfalls versucht intelligente Züge zu finden Vorgeschlagene Methode: Alpha-Beta-Suchbäume (mit Pruning)

11 Ressourcenverteilungsproblem
Gegeben: Eine Budgetschlüssel A und eine Gewinntafel B A gibt an zu welchen Anteilen Ressourcen in welche Ziele gesteckt werden (die Strategie) B gibt an, welche Ressourcen von wem benötigt werden um diese Ziele zu erreichen (die Beratervorschläge) Problem: Wie kann der Budgetschlüssel fair verwirklicht werden?

12 Ressourcenverteilungsproblem (Forts. )
(fiktives) Beispiel: Wirtschaft und Militär sollen je 50 % der Ressourcen pro Runde bekommen. Das Einkommen beträgt 4 Holz und 5 Eisen. Wer bekommt das „übrige“ Eisen? Eine Windmühle kostet 3 Holz. Wann soll die gebaut werden? Ein Schwertmann kostet 4 Eisen. Wirtschaft will dagegen hauptsächlich Windmühlen bauen. Was nun? Wirtschaft will eine Schmiede bauen (20 Holz, 30 Eisen). Geht das und wenn ja wie? Wie kann das berechnet werden ohne ein NP-vollständiges Knapsack-Problem zu lösen?

13 Grundlegende Ziele für gute Berater
Schnelle oder zumindest skalierbare Rechenzeit Eindeutige Zielstellung Lieber zu viele als zu wenige Wenn ein Berater zwischen zwei Unterzielen hin- und hergerissen wirkt, dann lieber zwei Berater daraus machen Wenn ihr 2 Methoden habt ein Ziel zu verwirklichen, dann implementiert einfach beide Keine „Verschwendung“ Schnell anpassbar auf Spiellogikänderungen

14 Grundlegende Ziele für gute Rollen
Haben ein klar definiertes Ziel, dem sie auch in der Bauliste zugeordnet sind. Kurze Berechnungszeit Beenden sich selbst, wenn der Auftrag beendet ist Die Einheiten nehmen ihre Umwelt war und reagieren darauf Reagieren auf Gefahrensituationen mit Rückzug

15 Ablauf Virtuelle Beta-Tester (lernt = optimiert sich selbst, um zu gewinnen) Spielstärke Taktiken/Berater werden optimiert auf werden optimiert auf Verteilt Ressourcen auf Genetische Algorithmen Strategie wird optimiert von wird optimiert durch benutzt Spielspass soll optimiert werden auf Spiellogik

16 Genetische Algorithmen
Sind bekannt dafür sich an spezielle Situationen anzupassen und gute Strategien zu finden. Entwickeln sich, man kann also so eine Art Lernkurve beobachten. Neigen dazu Systeme auszunutzen, sind daher gut dazu geeignet Schwachstellen zu finden.

17 Genetische Algorithmen (Funktionsweise)
Eine Anfangspopulation wird ausgewählt (meist zufällig) Die Fitness der Individuen wird gemessen Individuen mit hoher Fitness dürfen sich fortpflanzen Dies geschieht durch: Mutation (zufällige Veränderung) Rekombination (2 Individuen werden gemischt) Der Kreis beginnt von vorne mit den Kindern der Elite

18 Fitnessfunktion Bestimmt die Richtung der Evolution Daher sehr wichtig
Traditionell: möglichst hohe Punktzahl im Spiel erreichen Alternativ: Ranking Jeder gegen jeden, die Gewinner kommen weiter Andere Alternative: Koevolution mit Konkurrenz Eine Gruppe erhält das Ziel möglichst viele Punkte zu sammeln Die andere Gruppe erhält das Ziel, das der andere möglichst wenig Punkte bekommt

19 Auswahl geeigneter Kandidaten
Es gilt: Eliten fördern, ohne die „Artenvielfalt“ einzuschränken Oft benutzt wird das Tournament-Verfahren, bei dem zufällig ausgewählt wird, nur dass gute Kandidaten größere Chancen haben Beispiel für A hat Fitness 3 B hat Fitness 1 C hat Fitness 2 A C 1/6 = 17% 3/6 = 50% B 2/6 = 33%

20 Fortpflanzung Mutation: Rekombination:
Ein einzelner Wert wird zufällig verändert Rekombination: 2 Individuen tauschen Chromosomen aus Dies geschieht normalerweise in Blöcken Werte werden kombiniert (Durchschnitt), oder vom einen oder anderen Elternteil übernommen

21 Allgemeine Regeln für „Chromosomen“
Sie sollten möglichst (mathematisch) unabhängig voneinander sein Jedes Chromosom sollte regelmäßig benutzt werden Jedes Chromosom sollte potenziell wichtig sein Chromosomen sollten stetig sein, d.h. wenn der Wert A den Effekt a hat und Wert B den Effekt b, dann sollte ein Wert zwischen A und B in den meisten Fällen einen Effekt zwischen a und b haben.

22 Mehr zu Genetischen Algorithmen
Mathematisch: Durchsucht einen Ergebnisraum mit stochastischen Mitteln nach lokalen Maxima. Der Raum ist i. A. sehr hochdimensional (= viele Chromosomen) Wenn die optimale Antwort A mit a Dimensionen auf einen Input B mit b Möglichkeiten gesucht wird, enthält der Suchraum a*b Dimensionen. Achtung! Bei B zählt jede Möglichkeit bei einer 100x100 Karte mit je 4 Geländearten und einer 2-dimensionalen Antwort sind das Dimensionen

23 Beispiel: Ausweichen bei Asteroids
Der Algorithmus soll fliegenden Asteroiden ausweichen: Input: Aktuelle Drehrichtung des Schiffs (8 Möglichkeiten) Richtung des nächsten Asteroiden (in Grad) Geschwindigkeit des nächsten Asteroiden (in 10 Stufen) Output: Drehrichtung und Schub Ergibt Chromosomen/Dimensionen, von denen die meisten nie benutzt werden Sogar Chromosomen, falls auch der zweitnächste Asteroid betrachtet wird.

24 Besseres Ausweichen bei Asteroids
Input: Nur die Richtung aus der der nächste Asteroid kommt. 8 Richtungen aus Sicht des Raumschiffs Mögliche Reaktionen: Drehen, Schub Drehen: -1: links, 0: nicht drehen, 1: rechts Schub: -1: rückwärts, 0: kein Schub, 1: Schub Insgesamt 16 Dimensionen vorn Schub vorn Drehen vorn rechts Schub vorn rechts Drehen rechts Schub rechts Drehen hinten rechts Schub etc. -1 1

25 Reduktion der Dimensionalität
Input vereinfachen Unwichtiges weglassen Abgeleitete Werte benutzen Zustände benutzen, die durch Bewertung der Inputs erreicht werden In der Literatur wird der Input oft komplett weggelassen und kommt nur indirekt in der Fitnessfunktion vor Output vereinfachen Statt konkreter Befehle Ziele formulieren. (wie bei Beratern) Übersichtliche Probleme vorher lösen.

26 Zustände als vereinfachte Inputs
Anstatt immer allen Input zu betrachten, werden Zustände definiert, die vom Input abhängen Es gibt dann n Zustände, sowie eine vom Input abhängende Zustandsänderungsfunktion Beispiel: Der Algorithmus soll sich je nach Temperatur anders verhalten. Also wird den Zuständen jeweils eine Zahl zugeordnet: Zustand 1: -5 Zustand 2: 15 Der Zustand, der näher dran liegt gewinnt Vorteil: Die Anzahl der Chromosomen explodiert nicht mehr und die Reaktionen entwickeln sich schneller. Nachteil: Es werden nicht mehr alle Spezialfälle abgefangen.

27 Was kann ich mir unter den Zuständen vorstellen?
Zustände sind veränderte Strategien, die auf verschiedene Gegebenheiten reagieren. Beim Schach: Eröffnung, Mittelspiel, Endspiel. Bei Strategiespielen: Aufbau, Forschung, Militärisches Rüsten, Angriff, Verteidigung, … Gute Inputs sind also Zeit, freie Ressourcen, Kriegszustand, Einheiten des Gegners, Position in der Rangliste, Bedrohungsgrad, …

28 Zustandsänderungsfunktion
Die Funktion wird komplexer, je mehr verschiedene Inputarten betrachtet werden müssen. Was bedeutet „näher dran liegen“ bei vielen Parametern? Gibt es Konstellationen, in denen Zustände gar nicht mehr, oder nur höchst selten erreicht werden? Sollten Zustandsänderungen forciert, oder vermieden werden? Sollte man eine bestimmte Reihenfolge festlegen, wie bei Automaten? Wie viel Freiraum lasse ich dem genetischen Algorithmus?

29 Wie sieht nun das Genom aus?
Man schreibe eine KI und lasse alle Parameter, die nicht logisch abgeleitet werden können, von einem genetischen Algorithmus bestimmen Das Genom enthält also n Strategien für n Zustände Jede Strategie enthält pro Berater eine Ressourcenverteilung Die Parameter der Zustandswechselfunktion Globale Parameter für taktisches Verhalten, etc.

30 Literatur Allgemein: - das Wiki für Atlantis - Was ist ein Spiel… und sind frei verfügbare Spiele und recht ähnlich zu Atlantis (von der KI her) für alles zum Thema Spieleentwicklung Wikipedia – zu allen Themen (englisch und deutsch) – mit filetype:ppt für Einführungen, filetype:pdf für wissenschaftliche Paper – für wissenschaftliches

31 Mehr Literatur Genetische Algorithmen (genetic algorithm)
research/Evolving.pdf – Für die grundlegende Idee Genetic_Algorithms.ppt – Gute Einführung Alpha-Beta Search - Gute Einführung

32 Noch mehr Literatur Programmieren
Die Coding Standards des Atlantis Projekts „C++ für Dummies“ JNI – Java Native Interface „The Pragmatic Programmer. From Journeyman to Master. “ Von A. Hunt, D. Thomas, W. Cunningham - Diverse der Artikel dort (nicht die mit Ruby) Bücher von Tom DeMarco – Für Teamleiter


Herunterladen ppt "Künstliche Intelligenz zur Verbesserung der Spiellogik"

Ähnliche Präsentationen


Google-Anzeigen