„poker“ - ke.tu-darmstadt.de · „poker“ vortrag von daniel schreiber seminar „knowledge...
TRANSCRIPT
„Poker“
Vortrag von Daniel Schreiber
Seminar „Knowledge Engineering und Lernen in Spielen“,SS04, Prof. Fürnkranz
„How long does it take to learn poker, Dad?“
„All your life, son.“
David Spanier, "Total Poker" (1977)
Übersicht
• Texas Hold‘em Regeln• Spielbaum• Pokerprogramme
– Selby
– Poki– PsOpti
Regeln Texas Hold‘em
• Zwei Karten verdeckt („Hole Cards“)• 1. Wettrunde• Drei Karten offen in die Mitte („Flop“)• 2. Wettrunde• Eine Karte offen in die Mitte („Turn“)• 3. Wettrunde• Eine Karte offen in die Mitte („River“)• 4. Wettrunde• Showdown
River
Bet
Turn
Bet
Flop
Bet
Deal
Bet
Wettrunde I
• passen („fold“), mitgehen („call“ / „check“), erhöhen („bet“ / „raise“)
• fold: Keine Zahlung, Spieler scheidet aus • call: Spieler zahlt den geforderten Einsatz• raise: Spieler zahlt den geforderten
Einsatz und erhöht. Die anderen Spieler sind wieder gefordert.
Wettrunde II
• Eigene Wette darf nicht erhöht werden • Maximal 3 x „raise“ pro Runde• Einsatzhöhe festgelegt
z.B.: 10$ Runde 1 - 2, $20 Runde 3 - 4• Am Ende einer Runde haben alle Spieler
den gleichen Betrag im „Pot“ oder gepasst
Rangfolge
Straight Flush
Four of a kind
Full house
Flush
Straight
Three of a kind
Two Pairs
Pair
1.
2.
3.
4.
5.
6.
7.
8.
• Haben alle Spieler außer einem gepasst, kassiert der den Pot
• Beste „Hand“ aus den „Hole Cards“ und den „Board Cards“ gewinnt den Pot
Showdown
Pair
Flop
Turn
River
Hole
Three of a kind
1
2
Board
Spielbaum
... ......Information Set
fold call raise
f c
r...Hole Cards
Spieler 1 Spieler 2
Flop
Deal
...
-1
+1
... Wettrunde
Glück
insgesamt 10 18 Knoten
Computer Poker
• Spielbaum zu groß für vollständige Suche• Vereinfachung nötig• pseudo-Optimale Strategie gesucht• 3 Beispiele:
– Pre-Flop Texas Hold‘em
– Poki– PsOpti
Pre Flop Hold‘em
• Keine Wetten nach dem Flop• EV = Pot * P(strongest hand)• Maximierung mit Simplex Algorithmus
| A K Q J T 9 8 7 6 5 4 3 2-------------------------------------------------------A | R3 R2 R2 R2 R2 R1 R1 R1 R1 R1 R1 R1 R1|
K | R2 *1 CR1 CR1 CR1 R1 R1 R1 R1 R1 R1 R1 R1|
Q | CR1 CR1 R2 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1|
J | R2 *2 R1 R2 R1 R1 R1 R1 R1 R1 R1 R1 R1|
T | *3 R1 R1 R1 R2 R1 R1 R1 R1 R1 R1 C C|
9 | R1 R1 R1 R1 R1 R2 R1 R1 R1 R1 C C C|
...
Deal
Bet
Flop - River
Poki
• Action selector: Pokerwissen• Opponent Modeler: Neuronales Netz,
Bayessches Lernen
Action Selector
• Eingabe: „Effective hand strenght“≈ P( ich habe die besten Karten )
• Sitzposition, gemachte Wetten ...• Verarbeitung mit Experten Regeln• Ausgabe: ( P(„fold“), P(„call“), P(„raise“) )• unflexibel, „unschön“ ABER spielt gut
Simulator• Kein Expertenwissen ⇒⇒⇒⇒ Spielbaum-Suche• Keine Breitensuche ⇒⇒⇒⇒ Monte-Carlo
Simulation • „schöner“ ABER spielt schlechter
Breitensuche
Monte Carlo
• Was macht der Gegner?– Wie Schach, ABER: Spieltheoretisch
optimaler Zug nicht immer profitabelster Zug
• In welcher Position ist das Spiel?– Information Set hat mehr als ein Element!
Anders als Schach.
Opponent Model
...Information Set ??
Was macht der Gegner?
• 3 Schichten mit 19, 4 und 3 Neuronen
Backpropagation
∑++=
i
nij
ni
nj
nj wef )1()1()()( )(' δδ
)1()()()( ' −+= nj
ni
nij
nij yww αδ
)( )1()1( ++ = ni
ni efy
)1(33w
)1(31w
))((' )()()( maxmaxmaxii
nni
ni zyef −=δ
)2(11w
∑++ =
j
nij
nj
ni wye )1()()1(
Rein:
Raus:
Feed Forward
ΣΣΣΣ f)(n
jy)1( +n
iy
)1( +nijw
Backpropagation
iz
Resultate
Wo ist das Spiel?
• Wahrscheinlichkeit für Gegnerkarten
• Aktionen ⇒⇒⇒⇒ Änderung der W‘keiten
Nachher: A♣K♥ = 0.4 * 0.3 = 0.12
Opponent ModelVorher: A♣K♥= 0.4
P({fold,call,raise}) = {0,0.3,0.7}
Beobachtet: „call“
Resultate
• Mittelmäßig bei 10 Spieler Hold‘em• Schwach bei 2 Spieler Poker• Ausprobieren:
• 2 Spieler Poker• Spielbaumreduktion
1018 ⇒⇒⇒⇒ 2 x 107
• Techniken– Wettrunden kürzen
– Wettrunden streichen– „bucketing“
PsOpti
River
Bet
Turn
Bet
Flop
Bet
Deal
Bet
36
7 von 15
36
7 von 15
36
7 von 15
36
15
Pre-Flop
Post-Flop
Wettrunden kürzen
• Normal: 19 mögl. Sequenzen pro Runde• bet – call, bet – raise – fold ...• 9 davon gehen in die nächste Runde• Reduziert: 7 von 15 in die nächste Runde• Sequenzen mit 3 raise werden gestrichen• Rechtfertigung: Experimente
Wettrunden streichen
• Letzte Wettrunde streichen• Kaum Auswirkung auf pre-Flop Spiel• vgl. Selby• Erste Wettrunde streichen • Informationen in post-Flop Modell hinüber
nehmen ABER nicht alle• Wettsequenz JA, Kartenverteilung nur als
Wahrscheinlichkeit
Post-Flop Modelle
Flop
Deal
Bet
River
Bet
Turn
Bet
Bet
...... ...Information Set
• Idee: K♥A♥ ~ K♣A♣ - Äquivalenzklassen• Mit 3 Wettrunden nur 6 „Buckets“• Glücksknoten überführen von einem in
den anderen Bucket
• Lösung mit Linearem Programm
Bucketing
1,3 ...
1,6 5,6 1,4 ......12%
6%8%
2,5
2,6 2,5
15%3%
0.8%
5,6 ...
• Gegen Profi nicht „untergegangen“
• Fehlt: Opponent Modelling
Resultate
Links / Literatur
• Selby: www.archduke.demon.co.uk/simplex/art
• PsOpti / Poki:www.cs.ualberta.ca/~games/pokerwww.cs.ualberta.ca/~darse/Papers/AIJ02.pdfwww.cs.ualberta.ca/~darse/Papers/IJCAI03.pdfwww.cs.ualberta.ca/~darse/Papers/ICAI00.pdf
• Online Poker: games.cs.ualberta.ca/webgames/poker/downloads/PokiPoker.zip