„poker“ - ke.tu-darmstadt.de · „poker“ vortrag von daniel schreiber seminar „knowledge...

Post on 22-Jan-2019

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related