kifoo - the fooba style

Transcription

kifoo - the fooba style
kifoo - the fooba style
Markus Decke, Thorsten Reinhard, Daniel Wäber
June 26, 2009
Projektueberblick
input
controller
Zugang
I
ueber Neztwerk: gtp, kgs, igs
I
oder locale Gui: Gogui, JGameAI
Überwachung
I
Verwaltet die Suche
I
Zeit-Management
Suche
state
I
MonteCalro-Baumsuche
I
Entschiedungen in Policies ausgelagert
Goban
goban
I
Aufbau aus Komponenten
I
z.B. Reader, Move-Generator, Scoreing
Projektueberblick
input
controller
Zugang
I
ueber Neztwerk: gtp, kgs, igs
I
oder locale Gui: Gogui, JGameAI
Überwachung
I
Verwaltet die Suche
I
Zeit-Management
Suche
state
I
MonteCalro-Baumsuche
I
Entschiedungen in Policies ausgelagert
Goban
goban
I
Aufbau aus Komponenten
I
z.B. Reader, Move-Generator, Scoreing
Projektueberblick
input
controller
Zugang
I
ueber Neztwerk: gtp, kgs, igs
I
oder locale Gui: Gogui, JGameAI
Überwachung
I
Verwaltet die Suche
I
Zeit-Management
Suche
state
I
MonteCalro-Baumsuche
I
Entschiedungen in Policies ausgelagert
Goban
goban
I
Aufbau aus Komponenten
I
z.B. Reader, Move-Generator, Scoreing
Projektueberblick
input
controller
Zugang
I
ueber Neztwerk: gtp, kgs, igs
I
oder locale Gui: Gogui, JGameAI
Überwachung
I
Verwaltet die Suche
I
Zeit-Management
Suche
state
I
MonteCalro-Baumsuche
I
Entschiedungen in Policies ausgelagert
Goban
goban
I
Aufbau aus Komponenten
I
z.B. Reader, Move-Generator, Scoreing
Projektueberblick
input
controller
Zugang
I
ueber Neztwerk: gtp, kgs, igs
I
oder locale Gui: Gogui, JGameAI
Überwachung
I
Verwaltet die Suche
I
Zeit-Management
Suche
state
I
MonteCalro-Baumsuche
I
Entschiedungen in Policies ausgelagert
Goban
goban
I
Aufbau aus Komponenten
I
z.B. Reader, Move-Generator, Scoreing
Gnu Text Protocol
¡+write something here+¿
Monte-Carlo Suche
Bestensuche
auf dem Spiel-Baum
mit inkrementellen Heuristik
ueber Monte-Carlo Samples
Monte-Carlo Suche
Bestensuche
auf dem Spiel-Baum
mit inkrementellen Heuristik
ueber Monte-Carlo Samples
Monte-Carlo Suche
Bestensuche
auf dem Spiel-Baum
mit inkrementellen Heuristik
ueber Monte-Carlo Samples
Monte-Carlo Suche
Bestensuche
auf dem Spiel-Baum
mit inkrementellen Heuristik
ueber Monte-Carlo Samples
Monte-Carlo Suche
Bestensuche
auf dem Spiel-Baum
mit inkrementellen Heuristik
ueber Monte-Carlo Samples
Monte-Carlo Suche
inkrementelle Bestensuche mit Sampling
I
Heuristik
I
I
I
Erfolgsrate aus Monte-Carlo Startistik
Verbesserung durch Experten-Wissen, . . .
Inkrementelles Sampling
I
I
durch jedes neues MC-Sample wird die Heuristik genauer
Samples muessen moeglichst relevant sein
Monte-Carlo Suche
inkrementelle Bestensuche mit Sampling
I
Heuristik
I
I
I
Erfolgsrate aus Monte-Carlo Startistik
Verbesserung durch Experten-Wissen, . . .
Inkrementelles Sampling
I
I
durch jedes neues MC-Sample wird die Heuristik genauer
Samples muessen moeglichst relevant sein
Monte-Carlo Suche
UCT Algorithms
I
Baumstruktur speichert Erfolgsrate aus bisherigen Samples
I
Sampling anhant des interresantesten Pfades im Baum
I
Inkrementelle Erweiterung des Baumes
⇒ Kovergenz zu MinMax-Baum
Monte-Carlo Suche
UCT Loop
I
select
I
I
I
I
expand
I
I
Blatt-Konten wird expandiert um nun Statistiken ueber dessen
Kindknoten speichern zu koennen
sample
I
I
Auswahl eines “relevanten” Pfades
relevant =qobere Konfidenz-Schranke fuer Gewinn-Erwartung
ci = xi + 2 nlni n
Monte-Carlo Sampling fuer den ausgewaehlten Pfad
backup
I
Ergebniss wird in dem Baum gespeichert
Monte-Carlo Suche
UCT Loop
I
select
I
I
I
I
expand
I
I
Blatt-Konten wird expandiert um nun Statistiken ueber dessen
Kindknoten speichern zu koennen
sample
I
I
Auswahl eines “relevanten” Pfades
relevant =qobere Konfidenz-Schranke fuer Gewinn-Erwartung
ci = xi + 2 nlni n
Monte-Carlo Sampling fuer den ausgewaehlten Pfad
backup
I
Ergebniss wird in dem Baum gespeichert
Monte-Carlo Suche
UCT Loop
I
select
I
I
I
I
expand
I
I
Blatt-Konten wird expandiert um nun Statistiken ueber dessen
Kindknoten speichern zu koennen
sample
I
I
Auswahl eines “relevanten” Pfades
relevant =qobere Konfidenz-Schranke fuer Gewinn-Erwartung
ci = xi + 2 nlni n
Monte-Carlo Sampling fuer den ausgewaehlten Pfad
backup
I
Ergebniss wird in dem Baum gespeichert
Monte-Carlo Suche
UCT Loop
I
select
I
I
I
I
expand
I
I
Blatt-Konten wird expandiert um nun Statistiken ueber dessen
Kindknoten speichern zu koennen
sample
I
I
Auswahl eines “relevanten” Pfades
relevant =qobere Konfidenz-Schranke fuer Gewinn-Erwartung
ci = xi + 2 nlni n
Monte-Carlo Sampling fuer den ausgewaehlten Pfad
backup
I
Ergebniss wird in dem Baum gespeichert
Monte-Carlo Suche
UCT Loop
I
select
I
I
I
I
expand
I
I
Blatt-Konten wird expandiert um nun Statistiken ueber dessen
Kindknoten speichern zu koennen
sample
I
I
Auswahl eines “relevanten” Pfades
relevant =qobere Konfidenz-Schranke fuer Gewinn-Erwartung
ci = xi + 2 nlni n
Monte-Carlo Sampling fuer den ausgewaehlten Pfad
backup
I
Ergebniss wird in dem Baum gespeichert
Monte-Carlo Suche
Verbesserungen
I
I
Formel und Sampling-Auswahl
Transposition
I
I
I
bessere Auswertung
I
I
I
I
Rapid Action Value Estimation
Group Statistics
Action Tempreture
Anfangswert fuer Knoten
I
I
I
direkt im Baum
beim Sampling: All Moves As First
Experten-Wissen
Machinelles Lerenen
Verbesserte Samples
I
I
I
I
ExpertenWissen
Muster
moeglichst realistisch, aber schnell
einzelne Fehler nicht schlimm, aber Durchschnitt wichtig
Monte-Carlo Suche
Verbesserungen
I
I
Formel und Sampling-Auswahl
Transposition
I
I
I
bessere Auswertung
I
I
I
I
Rapid Action Value Estimation
Group Statistics
Action Tempreture
Anfangswert fuer Knoten
I
I
I
direkt im Baum
beim Sampling: All Moves As First
Experten-Wissen
Machinelles Lerenen
Verbesserte Samples
I
I
I
I
ExpertenWissen
Muster
moeglichst realistisch, aber schnell
einzelne Fehler nicht schlimm, aber Durchschnitt wichtig
Monte-Carlo Suche
Verbesserungen
I
I
Formel und Sampling-Auswahl
Transposition
I
I
I
bessere Auswertung
I
I
I
I
Rapid Action Value Estimation
Group Statistics
Action Tempreture
Anfangswert fuer Knoten
I
I
I
direkt im Baum
beim Sampling: All Moves As First
Experten-Wissen
Machinelles Lerenen
Verbesserte Samples
I
I
I
I
ExpertenWissen
Muster
moeglichst realistisch, aber schnell
einzelne Fehler nicht schlimm, aber Durchschnitt wichtig
Monte-Carlo Suche
Verbesserungen
I
I
Formel und Sampling-Auswahl
Transposition
I
I
I
bessere Auswertung
I
I
I
I
Rapid Action Value Estimation
Group Statistics
Action Tempreture
Anfangswert fuer Knoten
I
I
I
direkt im Baum
beim Sampling: All Moves As First
Experten-Wissen
Machinelles Lerenen
Verbesserte Samples
I
I
I
I
ExpertenWissen
Muster
moeglichst realistisch, aber schnell
einzelne Fehler nicht schlimm, aber Durchschnitt wichtig
Monte-Carlo Suche
Verbesserungen
I
I
Formel und Sampling-Auswahl
Transposition
I
I
I
bessere Auswertung
I
I
I
I
Rapid Action Value Estimation
Group Statistics
Action Tempreture
Anfangswert fuer Knoten
I
I
I
direkt im Baum
beim Sampling: All Moves As First
Experten-Wissen
Machinelles Lerenen
Verbesserte Samples
I
I
I
I
ExpertenWissen
Muster
moeglichst realistisch, aber schnell
einzelne Fehler nicht schlimm, aber Durchschnitt wichtig
Monte-Carlo Suche
Verbesserungen
I
I
Formel und Sampling-Auswahl
Transposition
I
I
I
bessere Auswertung
I
I
I
I
Rapid Action Value Estimation
Group Statistics
Action Tempreture
Anfangswert fuer Knoten
I
I
I
direkt im Baum
beim Sampling: All Moves As First
Experten-Wissen
Machinelles Lerenen
Verbesserte Samples
I
I
I
I
ExpertenWissen
Muster
moeglichst realistisch, aber schnell
einzelne Fehler nicht schlimm, aber Durchschnitt wichtig
Monte-Carlo Suche
Interaktionen in unserer Implementierung
state
apply
gen
result
search
tree
select
nodes
expand
sample
expansion policy
sampling policy
backprop
utilization policy
selection policy
Monte-Carlo Suche
Selection Policy
Done:
I
nach UCB-Formel ci = xi +
q
2 ln n
ni
Todo:
I
I
weitere Formeln testen: UCB-Tunes, UCB-Tuned2, BAT, . . .
verwenden weiterer Daten
I
I
I
RAVE-Werte
Muster
Experten-Wissen
Monte-Carlo Suche
Selection Policy
Done:
I
nach UCB-Formel ci = xi +
q
2 ln n
ni
Todo:
I
I
weitere Formeln testen: UCB-Tunes, UCB-Tuned2, BAT, . . .
verwenden weiterer Daten
I
I
I
RAVE-Werte
Muster
Experten-Wissen
Monte-Carlo Suche
Expansion Policy
Done:
I
Erweiterung, nach 1. Simulation
I
mit Transpositions-Erkennung
Todo:
I
I
Erweiterung erst nach n Simpulationen
Progressive Widening: nicht gleich alle Kinder erzueugen
I
I
I
AMAF/RAVE Werte
Experten-Wissen
Muster
Monte-Carlo Suche
Expansion Policy
Done:
I
Erweiterung, nach 1. Simulation
I
mit Transpositions-Erkennung
Todo:
I
I
Erweiterung erst nach n Simpulationen
Progressive Widening: nicht gleich alle Kinder erzueugen
I
I
I
AMAF/RAVE Werte
Experten-Wissen
Muster
Monte-Carlo Suche
Sampling Policy
Done:
I
Mostly Random Samples
Todo:
I
Muster
I
Experten-Wissen
Monte-Carlo Suche
Sampling Policy
Done:
I
Mostly Random Samples
Todo:
I
Muster
I
Experten-Wissen
Monte-Carlo Suche
Utilization Policy
Done:
I
Gewinn-Auswertung
Todo:
I
AMAF Werte
I
Steingruppen Statistik
Monte-Carlo Suche
Utilization Policy
Done:
I
Gewinn-Auswertung
Todo:
I
AMAF Werte
I
Steingruppen Statistik
Goban Components
Componenten
I nuzten andere Componenten
I stellen Dienste oder Daten
zu Verfuegung
helper
goban
apply
putStone
pass
removeChain
board
removeStone
chains
reader
generator
sampler
score
hash
metadata