Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel)...

33
Knowledge Engineering und Lernen in Spielen Thema: Opening Book Learning von: Thomas Widjaja

Transcript of Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel)...

Page 1: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

Knowledge Engineering und Lernen in Spielen

Thema: Opening Book Learningvon: Thomas Widjaja

Page 2: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

222.06.2004

Gliederung

AllgemeinesDrei Beispielverfahren zum Anpassen eines Opening Books

Deep Blue Logistello (Michael Buro)Crafty (Hyatt)

Resümee

Page 3: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

322.06.2004

Teil IAllgemeines

Page 4: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

422.06.2004

Motivation

Menschliche Spieler können in vielen Situationen „ohne“ nachzudenken spielen.

Vorbereitung (Bsp. Schachtheorie)Gut für den Computer geeignetes Konzept

Computer vergessen nicht!Gute Möglichkeit dem Computer Expertenwissen zugänglich zu machen.

Page 5: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

522.06.2004

Was ist ein „Book“?

Ziel: Das Spiel des Programms verbessern, indem für wichtige Situationen „gute“ Züge offline berechnet werden.(d.h. es werden entweder Zugfolgen, oder Positionen mit Vorschlägen für Züge in einer Datenbank –dem Book– gespeichert)

Besonders bei:Spielanfang / „Opening Book“Spielende / „Endgames“

Grund z.B. Schach: die WS eine Situation in einem „Middelgame“wieder zu finden ist sehr gering… (Hängt von derKomplexität des Spiels ab.)

Page 6: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

622.06.2004

Motivation für die Verwendung eines „Opening Books“

Wozu ein „Opening Book“Strategische Schwächen der meisten Programme besonders zu Beginn des Spiels.„Gute“ Züge mit wenig Rechenaufwand (besonders unter Turnierbedingung vorteilhaft)

Page 7: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

722.06.2004

Anforderungen an ein Verfahren zum Anpassen eines „Opening Books“

Automatisch aus gegebenen Spielinformationen „gute“Zugfolgen finden.Automatisch neue Strategien (Variationen) finden und bewerten.

Automatische Anpassung ist wichtig, weil die aktuellenProgramme ununterbrochen auf Internetservern spielenund manuelle Anpassung zu aufwendig wäre.

Page 8: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

822.06.2004

Anforderung an ein Opening Book

Access-time (Rekonstruktion der Informationen)Update-time (beim Lernprozess)SpeicherplatzDynamisch (z.B. Nicht immer auf die selbe Weise verlieren)

Page 9: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

922.06.2004

Teil IIDie Drei Strategien

Deep BlueLogistello (Michal Buro)Crafty (Hyatt)

Page 10: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

1022.06.2004

Exkurs: Deep Blue vs. Garry Kasparov

Deep Blue war 1996 der erste Computer der einen amtierenden Schachweltmeister unter regulären Turnierbedingugen schlagen konnte. Das Match entschied Kasparov jedoch 4 zu 2 für sich.

Page 11: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

1122.06.2004

1. Deep Blues Strategie in der Eröffnungsphase

„Dualstrategie“1.Gewöhnliche Datenbank von Zugfolgen

Zugfolgen aus Expertenwissen die (manuell) an die Spielweise des Systems angepasst wurden. (relativ klein)

2.Extended BookDatenbank mit Bewertungen der ersten 30 Züge von ca. 700.000 GM-Spielen

Page 12: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

1222.06.2004

Bewertung der Züge (im Extended Book) berücksichtigt folgende Faktoren:

Wie oft wurde der entsprechende Zug in der Datenbank gefunden?Relative Häufigkeit der gefunden ZügmöglichkeitenErgebnis des Zuges Wie lange liegt das Spiel zurückSpielstärke der SpielerKommentare zu dem Zug (stark/schwach)Gab es (von Kommentatoren) vorgeschlagene Zugalternativen?

→ Kann die Bewertung der Züge um den ½ Wert eines Bauern erhöhen oder reduzieren. (klein genug um Raum für die eigene Suche zu lassen)

Page 13: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

1322.06.2004

Zug im Opening Book?

ja

Zug im Extended Book?

nein

Bonus >Grenzwert?

ja

SofortSpielen

nein

normalesSpiel

ja

SofortSpielen

nein

Biased Suche

Schema:

Page 14: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

1422.06.2004

Beispiel zur Funktionsweise dieser Dualstrategie

Deep Blue vs. Garry Kasparov / 1997 (2. Spiel)Zug 1 bis 9: „Opening Book“Zug 10 bis 17: „Automatic Extended-Book-Move“Zug 18 bis 19: Biased Search durch Boni aus

dem Extended BookZug >19: „Normales“ Spiel

Anmerkung: Die ersten 17 Züge wurden (fast) ohneRechenaufwand gespielt!

Page 15: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

1522.06.2004

Fazit

Das Zusammengefasste Expertenwissen wird durch die Boni dazu verwendet die Suche von Deep Blue zu „leiten“.

Gute Ausnutzung der Eröffnungstheorie, aber trotzdem noch flexibel genug neue Züge zu finden.

Page 16: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

1622.06.2004

2. Die Strategie von Logistello (M. Buro)

Wir in dem Othello Programm „Logistello“ verwendet.Inkrementelles Aufbauen eines Opening Books:

Jede Gespielte Situation kommt in einen Baum. (dieser Baum kann auch aus externen Quellen erstellt werden.)Für jede Situation kommt nicht nur der gespielte Zug, sondern auch der Zug mit der 2. besten (heuristischen) Bewertung in den Baum.

=> Es gibt immer zwei Möglichkeiten: Entweder den bereitsgespielten Zug zu wiederholen oder den noch nichtgespielten Zug zu wählen.

Page 17: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

1722.06.2004

Legende

Jedes Blatt hat eine Bewertung!Entweder Heuristik, oder den Ausgang des Spiels.Während des Spiels findet das Programm die aktuelle Position im Baum und bewertet diese mit einer Negamax Suche. (Knoten)

Beispiel für ein Blatt:Erste Komponente kann „W“ (Win) „L“ (Lost) „D“(Draw) oder auch „?“ sein.

Die Zweite Komponente beschreibt die heuristische Evaluierung

v1(W,+∞)

Page 18: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

1822.06.2004

expand v3

(?,+2)

v3(?,+1)+4

v2-1

v1+1

(W,+∞) (?,-4)

v4(?,+2)

v3-3+4

v2+3

v1-2

(W,+∞) (?,-4) (?,+3) (?,+5)

(?,+2)

Book Expansion

Page 19: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

1922.06.2004

Details des Algorithmus

Abwechselnd „Draws“ als Sieg für Spieler A und Spieler B werten.Der Algorithmus kann zwischen „privaten“ und „öffentlichen“ Draws unterscheiden.

Entweder schnelle Negamax-Suche, oder die Werteder inneren Knoten müssen im Voraus berechnet werden.

(Vorteil der online Negamax-Suche: Anpassung währenddes Spiels & Zufallskomponente werden möglich)

Page 20: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

2022.06.2004

Zufallskomponente

Der Zug wird erst nach zwei DurchläufenAusgewählt:1. Der Negamax Wert, v wird bestimmt (analog

der eben beschriebenen Vorgehensweise)2. Es werden die Zugfolgen bestimmt die einen

Negamaxwert im Intervall [v-є,v] haben.3. Einer der Ermittelten Zugfolgen wird zufällig

ausgewählt.

Page 21: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

2122.06.2004

Vor- und Nachteile des Algorithmus

VorteileVerliert nicht immer auf die gleiche WeiseBei hinreichend guter Evaluierungsfunktion können neue Zugfolgen entdeckt werden. (Automatische Erweiterung)Kann Parallel Berechnet werden (Subtrees auf Prozessoren verteilen)

Page 22: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

2222.06.2004

3. Die Strategie aus „Crafty“ / Hyatt (1999)

Geht von einem gegeben (ggf. manuell erstelltem) Book aus.Es werden Heuristiken der ersten 10 Züge nach Verlassen des Books als Bewertung für die „Book“ Zugfolge verwendet. (Gambits)Im Grunde "Reinforcement learning" Ansatz!

Page 23: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

2322.06.2004

Die Bewertungen werden rückwärts durch den Baum propagiert.

Ab dem Zug, mit dem das Book verlassen wurde, wird die Bewertung bestimmt. Der „Baum“ im Book wird rückwärts durchlaufen und die Bewertung wird jeweils durch die möglichen Alternativen geteilt und zugewiesen.

10

5

5

20

Graue Felder, repräsentieren Züge die nicht gespielt wurden.

Page 24: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

2422.06.2004

Bewertungsfunktion

Die Bewertungsfunktion beachtet folgendeFaktoren:

Die ermittelte Bewertung (aus den ersten 10 Zügen nach dem Book)Stärke des GegnersNegative Bewertungen werden stärker gewichtet als positive. (Grund: Blunders)Tiefe der Suche für die ZügeArt des Spiels (one minute vs. Open end)

Die Häufigkeit des Zuges im Book

Page 25: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

2522.06.2004

Distributed Learning

Crafty ist ein Schachprogramm das jährlich ca. 20.000 Partien auf verschiedenen Servern spielt

PGN Dateien werden generiert (Portable GameNotation)Im Moment: Austausch der Daten per E-Mail, eine Erweiterung wäre eine Client/Server Architektur

Auch möglich die PGN-Dateien manuell zu importieren. => Anpassung an Gegner

Page 26: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

2622.06.2004

Probleme

Lernen ist Permanent -> „aging learning“ für schlechte ZügeDas Gelernte ist GegnerspezifischCrafty erweitert sein Book nicht automatisch

Page 27: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

2722.06.2004

Teil IIIResümee

Page 28: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

2822.06.2004

Vergleich der Opening Book Strategien

NeinJaNeinGenerierung von neuen Varianten

JaJaJaAus gegebenen Spielinformationen „gute“ Zugfolgen finden

JaJaNein

(nur sehr langsam)

Dynamische Strategie(z.B. Nicht auf die gleiche Weise verlieren)

Logistello CraftyDeep Blue

Page 29: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

2922.06.2004

Andere Domänen

Die hier gezeigten Strategien können auf andere Domänen übertragen werden, wo Expertenwissen zur Verfügung steht. Beispiele:

Andere SpieleMedizinische Diagnose

Page 30: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

3022.06.2004

Ausblick

Distributed LearningPrivate & Public InformationenStrategische Planung

Page 31: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

3122.06.2004

Quellen

Michael Buro. Toward opening book learning. In H. J. van den Herik and H. Iida, editors, Games in AI Research, pages 47-54. Universiteit Maastricht, 2000. Robert M. Hyatt. Book learning --- a methodology to tune an opening book automatically. International Computer Chess Association Journal, 22(1):3-12, March 1999. Murray Campbell: Knowledge Discovery in Deep Blue. Communications of the ACM 42(11): 65-67, 1999. Johannes Fürnkranz. Machine Learning in Game Playing: A Survey. In J. Fürnkranz and M. Kubat (eds.), Machines that Learn to Play Games, pp.11-59, Nova Science Publishers, 2001.

Page 32: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

3222.06.2004

Exkurs: Wie entwickeln Schachgroßmeister ihre Eröffnungsstrategie?

Typischerweise werden wenige Züge intensiv durchdacht. (Sehr Tiefe Suche)Auswahl dieser Züge mit:

IntuitionErfahrungen in vergangen SpielenFachliteratur

Page 33: Knowledge Engineering und Lernen in Spielen€¦ · Deep Blue vs. Garry Kasparov / 1997 (2. Spiel) Zug 1 bis 9: „Opening Book“ Zug 10 bis 17: „Automatic Extended-Book-Move“

3322.06.2004

Exkurs (Crafty): Verschiedne Verläufe der Heuristik in den ersten 10 Zügen nach dem Opening Book

Konstanter Abstieg/Anstieg der Evaluierung => letzter (schlechtester/bester) Heuristikwert wird als Bewertung für den Book-Zug gespeichert.Erst fallender dann stetig steigender Wert der Evaluierung (nach einem gespielten Gambit) =>