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

Ähnliche Dokumente
Spiele (antagonistische Suche) Übersicht. Typen von Spielen. Spielbaum. Spiele mit vollständiger Information

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

KI und Sprachanalyse (KISA)

2. Spielbäume und Intelligente Spiele

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

5. Spiele. offensichtlich eine Form von Intelligenz. Realisierung des Spielens als Suchproblem

Einfacher Problemlösungsagent. Übersicht. Begriffsdefinitionen für Einfach-Probleme

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

Wissensbasierte Systeme 5. Brettspiele

Einführung in Heuristische Suche

Einführung in die Künstliche Intelligenz. 6. Spiele

Grundlagen der Künstlichen Intelligenz

39.1 Alpha-Beta-Suche

Proseminar: Geschichte des Computers Schachprogrammierung Die Digitale Revolution

Zug Bart Borg Bart Borg Bart Borg Bart. Bart Borg verloren. Stand Zug Bart Borg Bart Borg Bart Borg

Spieltheorie. Sebastian Wankerl. 16. Juli 2010

Uninformierte Suche in Java Informierte Suchverfahren

Selektive Suche. Seminar: Knowledge Engineering und Lernen in Spielen. Carsten Cibura

Kapitel 3. Adversariale Suche Allgemeines Minimax-Algorithmus α-β-pruning Bewertungsfunktionen Mehrspieler-Spiele Spiele mit Zufallskomponenten

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Wissensbasierte Systeme

Vom Amateur zum Großmeister

Masterarbeit. Alpha-Beta-Pruning. Oliver Kock. Bochum, Februar Fakultät für Mathematik Ruhr-Universität Bochum

Würfelspiele und Zufall

Schriftlicher Test Teilklausur 2

Smart Graphics: Methoden 2 Suche

General Game Playing

Grundlagen der Künstlichen Intelligenz

Rationale Agenten Rationalität

Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)

Herzlich Willkommen. Spielstrategien. gehalten von Nils Böckmann

Seminar aus maschinellem Lernen MCTS und UCT

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Wissensbasierte Systeme

Spieltheorie. Miriam Polzer Miriam Polzer Spieltheorie / 40

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: Tutor: Prof. Schottenloher Spieltheorie

Wissensbasierte Systeme

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Laplace und Gleichverteilung

Grundlagen der KI + Reasoning Agents

Grundlegende Eigenschaften von Punktschätzern

Hackenbusch und Spieltheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Optimale Strategie für das Würfelspiel Zehntausend

5 Zwei spieltheoretische Aspekte

Durch Zufall zum Dan? Die Monte-Carlo-Baumsuche

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Moderne Methoden der KI: Maschinelles Lernen

Vorlesung 4 BETWEENNESS CENTRALITY

14. Rot-Schwarz-Bäume

Intelligente Agenten

Von Paul Curzon, Queen Mary, University of London mit Unterstützung von Google und EPSRC

13. Binäre Suchbäume

FACHHOCHSCHULE WEDEL SEMINARARBEIT

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

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

Bäume und Wälder. Bäume und Wälder 1 / 37

Monte-Carlo Simulation

19. Algorithmus der Woche Der Alphabeta-Algorithmus für Spielbaumsuche Wie bringe ich meinen Computer zum Schachspielen?

Übersicht. 20. Verstärkungslernen

1 topologisches Sortieren

Datenstrukturen & Algorithmen

Intelligente Spiele. Prof. Rolf Haenni. Master-Vorlesung SS run/teachss06.html

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Praktikum Wissensbasierte Systeme Übung 1 Vier Gewinnt als Strategiespiel in Java


Intelligente Agenten

Algorithmen und Datenstrukturen 2

4. Erstellen von Klassen

1. Ziehe zu Beginn des Spiels möglichst nur einmal mit jeder Figur.

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

Regression ein kleiner Rückblick. Methodenseminar Dozent: Uwe Altmann Alexandra Kuhn, Melanie Spate

Künstliche Intelligenz. Andreas Breckheimer

Sortierverfahren für Felder (Listen)

Technische Universität. Fakultät für Informatik

elementare zusammengesetzte Zufallsexperimente

Kurs 2 Stochastik EBBR Vollzeit (1 von 2)

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = +

Künstliche Intelligenz Maschinelles Lernen

Reinforcement Learning

Randomisierte Algorithmen

MafI I: Logik & Diskrete Mathematik (Autor: Gerrit (-Arthur) Gruben)

Anmerkungen zur Übergangsprüfung

Teil 2: Dynamische Spiele mit vollständigen Informationen

Zufallsgrößen. Vorlesung Statistik für KW Helmut Küchenhoff

11.1 Grundlagen - Denitionen

Programmiertechnik II

Auswahl von Klauseln und Atomen in Prolog

Softcomputing. Künstliche Intelligenz in endlichen Zwei-Personen-Nullsummenspiele mit perfekter Information. Michael Dorner. Prof. Dr.

Kurs 1613 Einführung in die imperative Programmierung

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Dieses Quiz soll Ihnen helfen, Kapitel besser zu verstehen.

Hypothesentest, ein einfacher Zugang mit Würfeln

Definition eines Spiels

Pocket Cards (Winning Probabilities) 6.1 Anzahl der Kombinationen Monte Carlo Simulation Ergebnisse 6

UCT: Selektive Monte-Carlo-Simulation in Spielbäumen. Abstract

Übung zur Vorlesung Algorithmische Geometrie

Spieltheorien und Theoreme

Nachfolgend einige Empfehlungen für Spiele, die Sie gemeinsam mit Ihren Kindern spielen können.

Transkript:

Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Constraint-Probleme 6. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres Wissen und Schließen VI Lernen VII Kommunizieren, Wahrnehmen und Handeln Künstliche Intelligenz: 6. Spiele Frank Puppe 1

Spiele (antagonistische Suche) Games have engaged the intellectual faculties - sometimes to an alarming degree - for as long as civilization has existed. Typen von Spielen deterministische Umgebung stochastische Umgebung vollständig beobachtbare Umgebung viele Brettspiele ohne Würfel wie Schach, Go, Tic- Tac-Toe,... viele Würfelspiele wie Backgammon, Monopoly, Risiko, teilweise beobachtbare Umgebung verdeckte Brettspiele wie Stratego viele Kartenspiele wie Bridge, Skat, Scrabble Künstliche Intelligenz: 6. Spiele Frank Puppe 2

Spiele mit vollständiger Information Spiele mit vollständiger Information, insbesondere Schach, wurden von der KI von Anfang an intensiv untersucht. Herausforderung: großer Suchraum bei beschränkter Zeit. Schach: ca. 35 100 mögliche Zugsequenzen in normalem Spiel; ca. 10 40 verschiedene Stellungen. Definition als 4-Tupel.: (Anfangszustand, Operatoren, Ende- Test, Bewertungsfunktion) Die beiden Spieler seien MAX und MIN. Unterschied zu normalem Suchproblem: MAX muss auf unterschiedliche Züge von MIN gefasst sein. Strategie: Minimax-Algorithmus (gehe davon aus, dass MIN immer den besten Zug findet). Künstliche Intelligenz: 6. Spiele Frank Puppe 3

Spielbaum Künstliche Intelligenz: 6. Spiele Frank Puppe 4

Minimax-Algorithmus 1. Generiere den vollständigen Spielbaum. 2. Wende die Bewertungsfunktion auf jeden Endzustand an. 3. Berechne aus den Bewertungen der Nachfolger eines Knoten die Bewertung des Knoten selbst. a. Wenn MIN wählt, nimm das Minimum der Bewertungen. b. Wenn MAX wählt, nimm das Maximum der Bewertungen. 4. Setze dieses Verfahren rekursiv bis zur Wurzel des Baumes fort. 5. Wählen den Zug mit der höchsten Bewertung (MAX am Zug). Vereinfachung: Man muß den Spielbaum nicht komplett generieren, und dann erst bewerten, sondern kann beides integrieren. Komplexität: Minimax-Algorithmus ist vollständig und optimal; Zeit- und Speicherkomplexität entspricht Tiefensuche. Künstliche Intelligenz: 6. Spiele Frank Puppe 5

Beispiel für Minimax-Algorithmus Max wählt den Zug A1 mit der höchsten Bewertung von (3,2,2), Min daraufhin den A11 mit der niedrigsten Bewertung von (3,12,8). Künstliche Intelligenz: 6. Spiele Frank Puppe 6

Heuristische Evaluationsfunktionen Bei allen interessanten Spielen ist es unmöglich, den Spielbaum bis zu den Endzuständen zu expandieren. Daher muß man irgendwo abbrechen und eine heuristische Evaluationsfunktion zur Bewertung des Zustandes benutzen. Anforderung an Evaluationsfunktionen: möglichst korrekt möglichst schnell Evaluationsfunktionen gruppieren viele verschiedene Spielzustände unter dieselbe Kategorie (z.b. alle Schachpositionen, in der ein Spieler einen Läufer mehr hat, unter die Kategorie +3 ). Die Kategorie beschreibt eine Gewinnchance (auf Basis von Erfahrungen mit verschiedenen Positionen derselben Kategorie). Künstliche Intelligenz: 6. Spiele Frank Puppe 7

Art der heuristischen Evaluationsfunktion Meist werden gewichtete lineare Funktionen benutzt: w 1 f 1 + w 2 f 2 +... + w n f n wobei die f s Merkmale der Position sind. Beispiel: Materialbewertung der Figuren im Schach. Die Gewichte w können durch parameteradaptive Lernverfahren justiert werden. Es gibt aber auch Erfolge mit nicht-linearen Bewertungen, z.b. durch ein neuronales Netz für Backgammonbewertung. Künstliche Intelligenz: 6. Spiele Frank Puppe 8

Evaluations-Beispiele für Schach-Positionen Künstliche Intelligenz: 6. Spiele Frank Puppe 9

Suchgrenz-Probleme: unruhige Stellungen Problem: Der direkte Ansatz, die Suchtiefe entsprechend der verfügbaren Zeit vorzugeben, kann an der Suchgrenze zu Verzerrungen führen, z.b. wenn im nächsten Zug eine Figur ohne Kompensation geschlagen werden kann. Lösung: Bei unruhigen Positionen wird unabhängig von der vorgegebenen Suchtiefe solange weitergesucht, bis eine ruhige Position entstanden ist: Quiescence Search. (Im Schach kann man unruhige Positionen als solche definieren, bei denen etwas geschlagen oder Schach geboten werden kann). Künstliche Intelligenz: 6. Spiele Frank Puppe 10

Suchgrenz-Probleme: Horizont-Problem Problem: Der Gegner kann einen (aus eigener Sicht) katastrophalen Zug machen, den man nicht vermeiden, sondern nur aufschieben kann. Durch das Aufschieben verschwindet der Zug aber hinter den Suchhorizont und geht daher nicht in die Evaluationsfunktion ein. Bisher keine allgemeine Lösung. Beispiel: Schwarz kann den Gewinn von Weiß nicht verhindern, sondern nur durch Schachgebote verzögern. Künstliche Intelligenz: 6. Spiele Frank Puppe 11

Alpha-Beta-Abschneiden Szenario: Wir gut ist ein Minimax-Programm mit Quiescence- Search, das ca. 1000 Schachpositionen pro Sekunde durchsuchen kann? Bei ca. 150 Sekunden Zeit pro Zug kann es 150 000 Stellungen durchsuchen, was bei einem Verzweigungsfaktor von 35 nur 3 bis 4 Halbzügen entspricht! Verbesserungsidee: Rate die jeweils besten Züge und zeige bei den anderen Zugalternativen nur, daß sie schlechter sind: Alpha-Beta-Abschneiden. Es sei in einem Pfad der: Alpha-Wert: Die bisher beste Option für MAX-Knoten. Beta-Wert: Die bisher beste Option für MIN-Knoten. Immer wenn in einem neu untersuchten Teilbaum eine Option gefunden wird, die schlechter bzw. besser ist als die jeweiligen Alpha- bzw. Beta-Werte, wird die Suche dort abgebrochen. Künstliche Intelligenz: 6. Spiele Frank Puppe 12

Beispiel für Alpha-Beta Abschneiden 1 2 3 4 Künstliche Intelligenz: 6. Spiele Frank Puppe 13

Alpha-Beta Suchalgorithmus Verbesserung von Minimax: Merke in jedem Knoten bisher besten Wert für Max: α (init: + ) Merke in jedem Knoten bisher besten Wert für Min: β (init: - ) Sei α die Bewertung des Knoten X Sei β die Bewertung des Knoten Xk Seien X1.. Xn die Nachfolger von X, aus denen Max wählt Seien Xk1.. Xkm die Nachfolger von Xk, aus denen Min wählt Seien Xkj1.. Xkjo die Nachfolger von Xkj, aus denen Max wählt Wenn Eval (Xkj) < α, dann breche Suchzweig für Xk ab. Wenn Eval (Xk) > α, dann setze α in X auf Eval (Xk) Wenn Eval (Xkji) > β, dann breche Suchzweig für Xkj ab. Wenn Eval (Xkj) < β, dann setze β in Xk auf Eval (Xkj) Künstliche Intelligenz: 6. Spiele Frank Puppe 14

Effektivität des Alpha-Beta-Abschneidens Wenn man immer den besten Zug ahnen könnte, sinkt die Komplexität von O(b d ) auf O(b d/2 ). Das bedeutet, daß man in derselben Zeit ca. doppelt so viele Züge vorher berechnen kann! Wenn die Suchtiefe nur wenige Züge (wie beim Schach) ist, umfaßt der Effekt vom Alpha-Beta-Abschneiden bei zufälliger Auswahl eines Zuges immerhin noch O(b 3d/4 ). Durch einfache Tricks kommt man in der Praxis nahe an den optimalen Wert heran: 1. Versuche entsprechend der iterativen Tiefensuche immer die in der letzten Iteration gefundenen besten Züge zuerst; 2. Betrachte Züge in einer bestimmten Reihenfolge, z.b. erst Schlagen & Schachgebote, dann Drohungen, dann Vorwärtsund schließlich Rückwärtszüge. Künstliche Intelligenz: 6. Spiele Frank Puppe 15

(Indeterministische) Spiele mit Zufallsfaktor z.b. bei Würfelspielen mit einem Würfel: 6 Optionen mit 1/6 Wahrscheinlichkeit mit zwei Würfeln: 21 Optionen mit 1/36 (1-1, 2-2 bis 6-6) bzw. 1/18 Wahrscheinlichkeit (übrige Kombinationen) Modifikation von Minimax erforderlich: Statt des exakten Wertes eines Zuges muß der Erwartungswert auf der Basis aller Möglichkeiten berechnet werden: Durchschnitt aller entsprechend ihrer Wahrscheinlichkeit gewichteten Bewertungen So modifizierter Minimax-Algorithmus heißt: Expectiminimax Künstliche Intelligenz: 6. Spiele Frank Puppe 16

Suchbaum für Backgammon Künstliche Intelligenz: 6. Spiele Frank Puppe 17

Einfluß verschiedener Evaluationsfunktionen Bei Expectiminimax spielt nicht nur die Reihenfolge der Bewertungen wie bei Minimax, sondern auch die absolute Zahl eine Rolle. Künstliche Intelligenz: 6. Spiele Frank Puppe 18

Komplexität von Expectiminimax Sei m die Suchtiefe, b die Verzweigungsrate und n die Anzahl der möglichen Würfe, dann ist die Komplexität von Expectiminimax: O(b m n m ) In Spielen wie Backgammon sind daher ca. 2 Halbzüge das Maximum der Suchtiefe (n = 21, b = ca. 20 bis zu 4000). Gute Evaluationsfunktion erforderlich! Künstliche Intelligenz: 6. Spiele Frank Puppe 19

Transfer auf Kartenspiele wie Bridge Indeterminismus durch Anfangsverteilung der Karten, danach deterministisch. Mittelwert über alle Kartenverteilungen bilden (ähnlich wie Expectiminimax) Wegen zu großer Zahl von Kartenverteilungen kann man auch eine repräsentative Stichprobe benutzen. Besonderheiten bei Multiagenten-Spielern (> 2) Handeln um Informationen zu gewinnen dem Partner Informationen signalisieren dem Gegner Informationen vorenthalten (auch durch nicht vorhersagbares Verhalten) Künstliche Intelligenz: 6. Spiele Frank Puppe 20

Neuere Entwicklungen bei Computerspielen Iterative Tiefensuche mit Alpha-Beta-Abschneiden ist Standard bei Strategiespielen mit vollständiger Information Monte-Carlo-Simulation statt vollständiger Suche bei indeterministischen Spielen Lernen durch Selbstspiel und Temporal Difference Learning Speichern von Stellungsbewertungen in Hash-Tabelle Probabilistisches Abschneiden von Suchzweigen Dynamische Erweiterung der Suchtiefe Parallelität (jedoch schwierig bei Alpha-Beta-Abschneiden) Hardwarebasierte Stellungsbewertungen (Linearkombination von Stellungsbewertungen mit Index auf Stellung) Umfangreiche Eröffnungs- und Endspieldatenbanken Bei Dame teilweise komplette Suche von Eröffnung bis Endspiel Künstliche Intelligenz: 6. Spiele Frank Puppe 21

Entwicklungsstand bei verschiedenen Spielen Schach: Weltmeisterniveau Dame: unbestrittener Weltmeister Othello (Reversi): Menschen weigern sich, gegen Computer zu spielen. Bridge: Weltmeisterniveau (Weltmeister 1997, 2000) Backgammon: Unter den 3 besten Spielern. Go: Anfängerniveau. Künstliche Intelligenz: 6. Spiele Frank Puppe 22

Vergleich Weltmeister - Schachcomputer Künstliche Intelligenz: 6. Spiele Frank Puppe 23

Diskussion Minimax und Alpha-Beta-Suche dominieren Computerspielprogramme derart, dass aus theoretischer Sicht interessantere Ansätze keine Chance haben. Insbesondere haben die Programme meist wenig Wissen. Beobachtungen und Alternativen: 1. Evaluationsfunktionen könnten Wahrscheinlichkeitsverteilungen statt exakter Werte liefern. 2. Alpha-Beta-Suche muss alle erlaubten Züge generieren, auch dann wenn es einen klaren Gewinnzug gibt bzw. wenn viele Züge gleichwertig sind. Kriterium, welche Knoten sich nicht zur Expansion lohnen (weil sie wahrscheinlich nicht besser als der aktuell bester Zug sind). 3. Schließen auf der Meta-Ebene: einfaches Beispiel: Alpha- Beta-Abschneiden, komplexeres Beispiel: Verfolgen bestimmter Ziele beim Spiel (z.b. rückständigen Bauern erobern). Künstliche Intelligenz: 6. Spiele Frank Puppe 24

Evaluationsfunktion: Exakte Werte können irreführen Künstliche Intelligenz: 6. Spiele Frank Puppe 25