jeff berkowitz [email protected]. tonight’s talk why is poker an interesting problem? a bit about...

21
Jeff Berkowitz [email protected]

Upload: arabella-mclaughlin

Post on 16-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Jeff [email protected]

Page 2: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Tonight’s Talk

Why is poker an interesting problem? A bit about poker strategy A simple tournament bot A more interesting tournament bot Onward and beerward

Page 3: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Before we begin … a word about “tells” Somebody always asks about Poker “tells”

“Computers can’t read tells!” (etc.) Answer: tells are critical to success … if you’re making a movie. Seriously: tells are not a big part of poker.

Questions about tells usually come from people who haven’t yet grasped what a deep intellectual challenge the game is.

Page 4: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Characterizing Games

OpenInformation

LimitedInformation

Deterministic

Nondeterministic

ChessCheckersGo…

BattleshipMinesweeper…

Backgammon…

PokerStock market…

Page 5: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Strategy (1) – Equity Basics

You hold: 5 4 Board shows: J T 6 2 You believe your opponent has JJ or TT She bets. Should you call? It depends on the pot odds

4 of the 46 unseen cards give you a likely winner Pot odds must be 11 : 1 (or so) to call

Limit Poker

Page 6: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Strategy (2) – Controlling Equity

You Hold: K T Board shows: K 7 5 Pot contains 8 bets [note: small bets] You bet your pair of kings [9 bets in pot] Turns out, player on your left holds 9 8

Your bet helped give him the odds to call You should have checked, hoping to raise Faced your opponent with calling 2 bets

Limit Poker

Page 7: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Deception (1) – Face Up Poker

Imagine Hold’em with hold cards face-up We’ll say heads-up (2 players) for simplicity

All equity decisions are certain Your turn: simulate a few million hands

< 1 second on modern CPUs Model opponents as equally perfect Bet based on the simulation outcome

Limit Poker

Page 8: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Deception (2) – Your Hidden Cards

Now imagine you get to hide hole cards But the other player still plays face-up ;-)

You play the same “optimal” strategy And your opponent knows it (important)

Your bet positive expectation Negative for them – so they will always fold

So you must “sandbag” some of your hands Now defining “optimal” is harder

Limit Poker

Page 9: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

NL Tourney Strategy (1) - Background In general, for both limit and no-limit … Pre-flop play is simpler, more formulaic

Because there is less information to go on Post-flop play is harder

More information available More time (flop, turn, river) More room for deception, application of skill, …

Page 10: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

NL Tourney Strategy (2)

But in no-limit, post-flop play is optional All-in on the pre-flop no post-flop decisions! Creates worst possible equity position for others Only possible in no-limit Especially important [later] in tournaments

“Advance of the blinds” Consequence: “Move-in” or “All-in” players

Book “Kill Phil” [Rodman & Nelson 2005]

Page 11: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Digression: Poker in Academia

University of Alberta Poker Research Group Their work started long before the fad – 1995 Numerous papers on the internet

www.poker.cs.ualberta.ca Excellent software (100% pure Java)

Spinout company – Poker Academy The company is actually called “Biotools” Product has a plug-in API for bots, “Meerkat”

Page 12: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Demo - KillPhilBot

Implements “Kill Phil Beginner” strategy From ibid (“Kill Phil”, Rodman & Nelson) Modified with a slightly smarter postflop

Page 13: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Rules, rules, lotsa rules

A nontrivial rule-based bot gets hairy If this else if this then that else if the other thing… Tracing scattered throughout Must restart Poker Academy to change the rules

Solution: separate behaviors from code “Rule” (not really) interpretation system “In the future, every programmer will have their

own language” (me, 2008) Poker Rules Definition Language - PRDL

Page 14: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

PRDLBot (“Phil Purdle”)

Express decision tree in PRDL Parse with JJTree / javacc Evaluate the parse tree for the action

No code generation (although there could be) Advantages:

Put tracing in the engine not the rules definition Change and reload without restarting PA

Not fully implemented yet

Page 15: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

PRDL Example (1)stage = PREFLOP // all identifiers refer back to bot core{ m > 30 // “when we have a huge stack …” { holeCards in [KPGROUP_1, QQ, KQs] // use of a list of expressions { toCall <= BLIND // or write "numberOfRaises = 0" { bettors = 0 // no limpers { action [BET, (bankroll / 6)] // another use of a list of expressions } : // “otherwise, there are limpers”; push all-in { action [BET, bankroll] } }

// CONTINUES NEXT SLIDE

Page 16: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

PRDL Example (2) : // otherwise, raised pot { numberOfRaises = 1 { action [BET, max[5 * raise, bankroll / 6]] } : // multiple raisers { action [BET, bankroll] } } } : // otherwise big stack, we don't have ultra-strong cards: we're done { action CHECK_FOLD // use of an expression that is not a list } }}: // Post-flop{ // . . . . . etc . . . . . }

Page 17: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

PRDLBot Tour

Page 18: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Bibliography (1 of 2) U of Alberta (CA) Poker Research Group:

http://poker.cs.ualberta.ca/ Scroll to Publications. Recommended there: http://poker.cs.ualberta.ca/papers/AIJ02.html

Great online bot programming articles: http://www.codingthewheel.com/category/poker

Poker Academy software: http://www.poker-academy.com/ http://forums.poker-academy.com/viewforum.php?

f=3

Page 19: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Bibliography (2 of 2)

Best overall poker web site / book publishers: http://www.twoplustwo.com/

Recommended books from them: See http://twoplustwo.com/books.php

Best for beginners and for learning basic strategy are Ed Miller’s books, Gettings Started in Hold’em and Small Stakes Hold’em: Winning Big with Expert Play.

Best for learning tournament play are the Harrington and Robertie book series, Harrington on Hold’em (volumes 1 through 3, to be studied in order).

Page 20: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Online Poker

Early years (1990s – 2002) IRC, academic, first commercial sites

Fad (2003 – 2006) TV with exposed hole cards, Chris Moneymaker

Reality (2006 - ) UIGEA, bot suspicions

No individual has ever been arrested or charged with any crime for playing poker online in the United States.

Page 21: Jeff Berkowitz pdxjjb@gmail.com. Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more

Cheating at Online Poker

General approach Write bot to Meerkat interfaces Test and debug to high level of skill in PA Emulate Meerkat on a commercial poker client

Consider Omaha 4 hole cards, must play 2 Like playing 6 Hold’em hands simultaneously Often played for a split high/low pot (12 hands) Computer advantage is maximized