Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof. Dr. phil. Manfred Thaller WS 2011/2012 Geklaut im Wintersemester 2014/15 vom Seminarleiter, um ein unerwartet ausgefallenes Referat selbst zu ersetzen. 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