Semesterprojekt Implementierung eines Brettspiels (inklusive computergesteuerter Spieler)

Ähnliche Dokumente
Semesterprojekt Implementierung eines Brettspiels (inklusive computergesteuerter Spieler) Einführungsveranstaltung

Praktikum Algorithmen-Entwurf (Teil 7)

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen

Thinking Machine. Idee. Die Thinking Machine Visualisierung versucht, die Denkprozesse eines Schachcomputers sichtbar zu machen

Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen

Der Alpha-Beta-Algorithmus

Zwei-Spieler-Spiele. Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen. Schach. Schach (2)

Machine Learning Spielen allgemeiner Spiele. Stefan Edelkamp

Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen

Grundlagen der Künstlichen Intelligenz Einführung Minimax-Suche Bewertungsfunktionen Zusammenfassung. Brettspiele: Überblick

Samuel's Checkers Program

General Video Game AI Competition 2016

Übersicht. Künstliche Intelligenz: 6. Spiele Frank Puppe 1

Abschlusspräsentation. Marcel Maier Marius Fabian Sebastian Abele Konstantin Meyer

Universität Koblenz-Landau Fachbereich Informatik Klausur Einführung in die Künstliche Intelligenz / WS 2003/2004. Jun.-Prof. Dr. B.

6. Spiele Arten von Spielen. 6. Spiele. Effizienzverbesserung durch Beschneidung des Suchraums

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Einführung in Heuristische Suche

Spieltheorie. Sebastian Wankerl. 16. Juli 2010

Spiele als Suchproblem

Eine spieltheoretische Betrachtung des Pokerspiels

2. Spiele. Arten von Spielen. Kombinatorik. Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden.

Heuristische Suchverfahren

Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008. Jun.-Prof. Dr. B. Beckert. 21.

Künstliche Intelligenz Unifikation, Backtracking, Rekursion und Listen in Prolog

Intelligente Systeme

Überblick. Mathematik und Spiel. Ohne Glück zum Sieg. Bedeutung der Strategie. Zwei Hauptaspekte

Sortieren II / HeapSort Heaps

Programmierkurs Prolog, SS 2000

KI und Sprachanalyse (KISA)

Entwicklung einer KI für Skat. Hauptseminar Erwin Lang

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche

Vorlesung: Künstliche Intelligenz

Maschinelles Lernen: Symbolische Ansätze

Seminar aus maschinellem Lernen MCTS und UCT

Programmierung einer KI. SoPra 2017 Jenny Hotzkow

Informatik II. PVK Part1 Severin Wischmann n.ethz.ch/~wiseveri

Grundlagen der Künstlichen Intelligenz

Suche in Spielbäumen Projektvorschläge

Grundlagen der Künstlichen Intelligenz

Vorverarbeitung von Sensordaten

Informatik II Übung 9 Gruppe 3

11. Übung Knowledge Discovery

2. Spielbäume und Intelligente Spiele

Algorithmen und Datenstrukturen Klausur WS 2006/07 Software-Engineering und Technische Informatik Bachelor

Softwareentwicklungspraktikum Android-Programmierung

Uninformierte Suche in Java Informierte Suchverfahren

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te

Algorithmen und Datenstrukturen 1

Synthese durch Rechner-Optimierung

Künstliche Intelligenz

Spieltheorie Gemischte Strategien

Heinz Nixdorf Institut Fachgruppe Softwaretechnik Zukunftsmeile Paderborn. Feature-Liste. im Rahmen des Softwaretechnikpraktikums 2015

Wissensbasierte Suche

11.1 Grundlagen - Denitionen

Maschinelles Lernen: Symbolische Ansätze

ETHZ, D-MATH. Numerische Methoden D-PHYS, WS 2015/16 Dr. V. Gradinaru

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

12. Übung Künstliche Intelligenz Wintersemester 2006/2007

Projekt 1: Constraint-Satisfaction-Probleme Abgabe: 7. Juni 2009

Kombinatorische Spiele mit Zufallselementen

Spieltheorie: UCT. Stefan Edelkamp

Bayes-Netze (2) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Der Bestimmtheitssatz

Spieltheorien und Theoreme

9 Minimum Spanning Trees

12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013

Algorithmen und Datenstrukturen

TUD Computer Poker Challenge

Grundlagen: Algorithmen und Datenstrukturen

Anfrageoptimierung Kostenabschätzung

Vorlesung Datenstrukturen

MafI I: Logik & Diskrete Mathematik (F. Hoffmann)

4. Lernen von Entscheidungsbäumen

Der Branching-Operator B

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Maschinelles Lernen: Symbolische Ansätze

Algorithmische Mathematik

Spieltheorie. Miriam Polzer Miriam Polzer Spieltheorie / 40

Grundzüge der Spieltheorie

Übersicht. 5. Spiele. I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden

Institut für Programmierung und Reaktive Systeme 27. Juni Programmieren II. 14. Übungsblatt

Künstliche Intelligenz am Zug: Können Programme gegen menschliche Spieler gewinnen?

Maschinelles Lernen: Symbolische Ansätze

Kapitel 2: Sortier- und Selektionsverfahren Gliederung

Algorithmen und Datenstrukturen

Klausur Software-Entwicklung März 01

Übersicht: 6.1 Einleitung 6.2 Klassische Theorie nichtkooperativer Spiele 6.3 Egoistisches Routing 6.4 Mechanismen-Entwurf 6.

Lösungshinweise zu Blatt 8 und Blatt 9 GIN2-SS04

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015

8.1.3 Operation Build-Max-Heap Operation zur Konstruktion eines Heaps Eingabe: Feld A[1..n], n = länge(a) BUILD-MAX-HEAP (A)

Technische Universität München

Staubsauger-Roboter. Als Vorlage dienen dir drei Klassen: RECHTECK Damit kannst du die Wände des Raums darstellen.

Klausur Algorithmentheorie

Durch Zufall zum Dan? Die Monte-Carlo-Baumsuche

Gibbs sampling. Sebastian Pado. October 30, Seien X die Trainingdaten, y ein Testdatenpunkt, π die Parameter des Modells

KI-Agenten für das Spiel 2048: Untersuchung von Lernalgorithmen für nichtdeterministische Spiele

GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness

Informatik II, SS 2016

12. AuD Tafelübung T-C3

Transkript:

Semesterprojekt Implementierung eines Brettspiels (inklusive computergesteuerter Spieler) Wintersemester 16/17 (Kleine) Einführung zu Künstlicher Intelligenz in Brettspielen Patrick Schäfer patrick.schaefer@hu-berlin.de Marc Bux buxmarcn@informatik.hu-berlin.de

Herangehensweise Einstieg: Blog-Post zu Brettspiel-KI in Unity https://madewith.unity.com/stories/boardgame-ai hilfreiche Werkzeuge: Transparenz: Denkweise der KI widergeben, um Probleme zu erkennen Batch-Modus: Neue Builds wiederholt (1000 Mal) gegen alte Builds antreten lassen, um Verbesserungen zu messen regelbasierter Ansatz: Spielsituation analysieren, Regeln durchgehen wende Regel mit höchster Priorität an, deren Vorbedingung erfüllt ist wenn keine Regel greift, auf Standard-KI ausweichen Workflow: Spiel gegen KI neue Ideen implementieren Test im Batchmodus Änderungen ggf. übernehmen

Entscheidungsbäume Spiele können als Bäume modelliert werden: jeder Knoten repräsentiert einen Zustand des Spiels jede Kante repräsentiert einen möglichen Spielzug jedes Blatt repräsentiert ein mögliches Spielende und lässt sich mittels Gütefunktion (Utility) bewerten Strategien zur Lösungsfindung (Auswahl): Minimax (für 1on1-Nullsummenspiele) Monte-Carlo-Sampling Spieler blau am Zug Spieler rot am Zug 13 11 6 12 12-5 5-5 -4-7 1-4 0

Minimax Idee: minimiere Verlust bei maximal guten Zügen des Gegners Vorgehensweise: propagiere Bewertungen der Blätter von unten nach oben alterniere zwischen Minimum und Maximum wähle Kind der Wurzel mit höchstem Wert wenn k Spielzüge zur Auswahl stehen, so ergibt sich beim Vorausschauen von n Spielzügen ein Baum mit Größe Ο(k n ) Alpha-Beta-Pruning (Optimierung), Beschränkung des Suchhorizonts (Heuristik) 11 11-5 11 12-5 -4 11 6 12-5 -7-4 13 11 6 12 12-5 5-5 -4-7 1-4 0

Alpha-Beta-Pruning Idee: Knoten, von denen wir bereits wissen, dass sie suboptimal sind, brauchen nicht weiter betrachtet zu werden Vorgehensweise: Tiefensuche zu den Blättern, beginnend bei der Wurzel Beim Backtracking werden Knoten alternierend mit mit α- und β-werten versehen α-wert: maximaler von Spieler Blau garantierbarer Utility-Wert β-wert minimaler von Spieler Rot garantierbarer Utility-Wert Beim Absteigen werden α- und β-werte nach unten weitergereicht Verwerfe Äste ab Knoten, für die gilt α β β=11 β=11 α=11 11 α β β=13 α=11 β=6 11 β=11 β=11 α β α=12 11 6 12 5-4 11 13 11 6 12 12-5 5-5 -4-7 1-4 0 α=11 α=11 12 5 α β β=5 α=11 α=11 α β β=-4 α=11 α β 5 β=5

Monte-Carlo-Sampling Idee: Erweitere Entscheidungsbaum durch stichprobenartige Simulationen von Spieldurchläufen mit zufälligen Zügen Exploration vs. Exploitation / UCT-Formel: An Knoten n wähle Nachfolger n i, für den w i s i + c ln t/s maximal ist w i : Anzahl bisher ermittelter Siege bzw. zu erwartender Punktestand ab Knoten n i s i : Anzahl bisher durchgeführter Simulationen ab Knoten n i c: Erkundungs-Parameter (z.b. 2) s: Anzahl bisher durchgeführter Simulationen ab Knoten s 13 11 6 12 12-5 5-5 -4-7 1-4 0

Monte-Carlo-Sampling Idee: Erweitere Entscheidungsbaum durch stichprobenartige Simulationen von Spieldurchläufen mit zufälligen Zügen Exploration vs. Exploitation / UCT-Formel: An Knoten n wähle Nachfolger n i, für den w i s i + c ln t/s maximal ist w i : Anzahl bisher ermittelter Siege bzw. zu erwartender Punktestand ab Knoten n i s i : Anzahl bisher durchgeführter Simulationen ab Knoten n i c: Erkundungs-Parameter (z.b. 2) s: Anzahl bisher durchgeführter Simulationen ab Knoten s 4 13 11 6 12 12-5 5-5 -4-7 1-4 0

Monte-Carlo-Sampling Idee: Erweitere Entscheidungsbaum durch stichprobenartige Simulationen von Spieldurchläufen mit zufälligen Zügen Exploration vs. Exploitation / UCT-Formel: An Knoten n wähle Nachfolger n i, für den w i s i + c ln t/s maximal ist w i : Anzahl bisher ermittelter Siege bzw. zu erwartender Punktestand ab Knoten n i s i : Anzahl bisher durchgeführter Simulationen ab Knoten n i c: Erkundungs-Parameter (z.b. 2) s: Anzahl bisher durchgeführter Simulationen ab Knoten s 6,7 13 12 12 13 11 6 12 12-5 5-5 -4-7 1-4 0

Weiterführende Links Vorlesung General Game Playing von Sebastian Wandelt im WS 13/: https://hu.berlin/vl_game Ticket to Ride in Java mit implementierter (aber unkommentierter) Minimax- und Monte-Carlo-Baumsuche https://github.com/cooijmanstim/hobo Reddit-Thread mit allerlei nützenswerten Informationen und Erfahrungswerten: https://www.reddit.com/r/gameai/comments/44l6w7/buildin g_an_ai_for_a_multiplayer_turnbased_board/

KI-Challenge: Ablauf eine User Story, einwöchige Sprints, kurze Tech. Refinements erste lauffähige KI zum 16.1.; wöchentliche Verbesserungen wöchentliches 1on1-Turnier (blau-gelb, blau-rot, gelb-rot) zunehmende Punkte für erfolgreiche Teilnahme und Platzierung 16.1.: 1-1-2, 23.1.: 1-2-3, 30.1.: 2-3-5, 6.2.: 3-5-8, 13.2.: 5-8-13 0 Punkte, wenn KI wiederholt abstürzt oder Spiel nicht terminiert optional: zusätzliches Turnier für Einzelabgaben K.O.-System; Beginn im Halbfinale vorzugsweise (aber nicht zwingend) 1on1 verteiltes Setting mit lokalem Netzwerk: wir stellen Rechner für Spielserver und visualisieren Spiel auf Beamer Turnierteilnehmer verbinden sich mit eigenen Rechnern