+ All Categories
Home > Documents > „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge...

„Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge...

Date post: 22-Jan-2019
Category:
Upload: phunglien
View: 212 times
Download: 0 times
Share this document with a friend
27
„Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz
Transcript
Page 1: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

„Poker“

Vortrag von Daniel Schreiber

Seminar „Knowledge Engineering und Lernen in Spielen“,SS04, Prof. Fürnkranz

Page 2: „Poker“ - ke.tu-darmstadt.de · „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)

Page 3: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

Übersicht

• Texas Hold‘em Regeln• Spielbaum• Pokerprogramme

– Selby

– Poki– PsOpti

Page 4: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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

Page 5: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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.

Page 6: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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

Page 7: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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.

Page 8: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

• 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

Page 9: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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

Page 10: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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

Page 11: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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

Page 12: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

Poki

• Action selector: Pokerwissen• Opponent Modeler: Neuronales Netz,

Bayessches Lernen

Page 13: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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

Page 14: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

Simulator• Kein Expertenwissen ⇒⇒⇒⇒ Spielbaum-Suche• Keine Breitensuche ⇒⇒⇒⇒ Monte-Carlo

Simulation • „schöner“ ABER spielt schlechter

Breitensuche

Monte Carlo

Page 15: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

• 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 ??

Page 16: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

Was macht der Gegner?

• 3 Schichten mit 19, 4 und 3 Neuronen

Page 17: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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

Page 18: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

Resultate

Page 19: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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“

Page 20: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

Resultate

• Mittelmäßig bei 10 Spieler Hold‘em• Schwach bei 2 Spieler Poker• Ausprobieren:

Page 21: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

• 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

Page 22: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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

Page 23: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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

Page 24: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

Post-Flop Modelle

Flop

Deal

Bet

River

Bet

Turn

Bet

Bet

...... ...Information Set

Page 25: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

• 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 ...

Page 26: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

• Gegen Profi nicht „untergegangen“

• Fehlt: Opponent Modelling

Resultate

Page 27: „Poker“ - ke.tu-darmstadt.de · „Poker“ Vortrag von Daniel Schreiber Seminar „Knowledge Engineering und Lernen in Spielen“, SS04, Prof. Fürnkranz

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


Recommended