Künstliche Intelligenz in Spielen: Einführung

Werbung
Universität zu Köln
Historisch-Kulturwissenschaftliche Informationsverarbeitung
Softwaretechnologie II (Teil I): Simulation und 3D Programmierung
Prof. Dr. phil. Manfred Thaller
WS 2011/2012

1. Einleitung

2. Anforderungen an Spiele-KIs

3. Umsetzung von Spiele-KIs

4. KI-Engines
◦ 1.1 Definition
◦ 1.2 Akademische KI-Forschung
◦ 2.1 Millingtons Modell
◦ 2.2 Bestandteile einer KI
◦ 3.1 Komplexität
◦ 3.2 Verwendete Techniken
◦ 3.3 Hardware
◦ 4.1 Toolchains
◦ 4.2 Ablauf
1.1 Definition
1.2 Akademische KI-Forschung



Teilgebiet der
Informatik
Intelligentes
Verhalten
automatisieren
Oft verstanden als:
Menschliche
Intelligenz
nachbilden bzw.
vortäuschen
Symbolische Systeme
 Datenstruktur
 Algorithmus für
Schlussfolgerungen
 Nicht biologisch
plausibel
 Fähigkeiten
begrenzt
Natural Computing
 Techniken die von
der Natur inspiriert
sind
 Kern: symbolische
Technik
 Nicht biologisch
plausibel
 Fähigkeiten
begrenzt
2.1 Millingtons Modell
2.2 Bestandteile einer KI
Entscheiden
 Was soll als
nächstes gemacht
werden?
 Set von Zuständen
 Auswahl des
Zustands bestimmt
Verhalten
Bewegung
 Fast immer nötig
 Teils simple
Algorithmen
 Teils sehr komplex
Strategie
 Verhalten von
Gruppen
 Figuren treffen
eigene
Entscheidungen
 Übergeordnetes
Muster beeinflusst
sie
Infrastruktur
 Was wissen die
Figuren?
 Wie viel Speicher/
Prozessorzeit wir
benötigt?
Bottom-up-Design
 Figuren werden
definiert und dann
eingebaut

Algorithmen
◦ Symbolische
Technologie

Datenstruktur
◦ Symbolische
Technologie

Repräsentation
◦ Daten für KI
konvertieren
3.1 Komplexität
3.2 Verwendete Techniken
3.3 Hardware
Pacman
Black and White
Ad hoc Lösungen
 Figuren sollen
richtig aussehen
 Behaviorismus
 Oft reichen
Animationen für
den Anschein von
Intelligenz
Faustregeln
 Genauigkeit gegen
Geschwindigkeit
abwägen
 Oft besser als
komplexe Antwort
zu ermitteln
Algorithmen
 Wenn es besonders
verlässlich sein
muss
 Oft sind sie jedoch
zu aufwendig für
Spiele
Prozessor
 SIMD (Single
Instruction Multiple
Data)
 Hyper Threading
 Multi-CoreProzessoren
 Indirekte
Funktionsaufrufe
Speicher
 Daten müssen aus
dem Speicher
geholt werden
 Im Cache abgelegt
 Cache Misses
sollten vermieden
werden
PC
Konsolen
4.1 Toolchains
4.2 Ablauf


KI verfügt über
einen Pool von
Algorithmen
Toolchain =
Sammlung von
Werkzeugen zur
Datenerstellung
◦ z.B. Editoren






Daten erzeugen
Level laden
KI-Verhalten aus
Daten generieren
KI-Engine für
Updates abrufen
Infos aus dem
World Interface
Ausgabe als
Spieldaten
Herunterladen