Jeff Berkowitz Tonight’s Talk  Why is poker an interesting problem?  A bit about poker strategy  A simple tournament bot  A more.

Slides:



Advertisements
Similar presentations
Advanced strategies for postflop play Strategy: SnG / tournaments.
Advertisements

Advanced Strategies for Craps and Poker Billy J. Duke Joel A. Johnson.
After the flop – nobody raised before the flop Strategy: No-Limit.
Lecture 13. Poker Two basic concepts: Poker is a game of skill, not luck. If you want to win at poker, – make sure you are very skilled at the game, and.
Switching from Short Stack to Big Stack Strategy Strategy: No Limit.
Short Stack Strategy – How to play after the flop Strategy: No Limit.
Neural Networks for Opponent Modeling in Poker John Pym.
Final Specification KwangMonarchIkhanJamesGraham.
Mathematics and the Game of Poker
Poker for Fun and Profit (and intellectual challenge) Robert Holte Computing Science Dept. University of Alberta.
Intelligence for Games and Puzzles1 Poker: Opponent Modelling Early AI work on poker used simplified.
Intro to Probability & Games
Using Probabilistic Knowledge And Simulation To Play Poker (Darse Billings …) Presented by Brett Borghetti 7 Jan 2007.
Project Six CSE 397/497 AI and Computer Games. Introduction to Poker Academy  Bots for the Poker Academy software are written in Java  We will use the.
Jerad Hobgood.  24/7 Accessibility  Fast Games  No tipping  No travel  Find table in your price range  Play in more than one table at a time.
Poki: The Poker Agent Greg Priebe Zak Knudson. Overview Texas Hold’em poker Architecture and Opponent Modeling of Poki Improvements from past Poki Betting.
Introduction to the Big Stack Strategy (BSS) Strategy: No Limit.
Build Your Review Machine Putting it all Together.
Welcome new members and class of ’12.  Each player is dealt 2 cards (hold cards)  1 Round of betting occurs now  Three Community Cards are dealt face.
Texas Holdem Poker With Q-Learning. First Round (pre-flop) PlayerOpponent.
Overview Odds Pot Odds Outs Probability to Hit an Out
Game Trees: MiniMax strategy, Tree Evaluation, Pruning, Utility evaluation Adapted from slides of Yoonsuck Choe.
Stat 35b: Introduction to Probability with Applications to Poker Outline for the day: 1.Straight draws. 2.HW2 clarification. 3.Greenstein vs. Farha AA.
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 2 Adapted from slides of Yoonsuck.
Sonny Thomas Macdonald SONNY THOMAS MACDONALD 2010 Internet Computing Bsc.
Brain Teasers. Answer 3 Quantitative Finance Society Gambling Strategies & Statistics.
Introduction for Rotarians
NearOptimalGamblingAdive Matt Morgis Peter Chapman Mitch McCann Temple University.
Stat 35b: Introduction to Probability with Applications to Poker Outline for the day: 0. Collect hw2, return hw1, give out hw3. 1.Project A competition.
Suppose someone bets (or raises) you, going all-in. What should your chances of winning be in order for you to correctly call? Let B = the amount bet to.
SARTRE: System Overview A Case-Based Agent for Two-Player Texas Hold'em Jonathan Rubin & Ian Watson University of Auckland Game AI Group
Shortstack Strategy: How do you play before the flop? Strategy: No Limit.
The challenge of poker NDHU CSIE AI Lab 羅仲耘. 2004/11/04the challenge of poker2 Outline Introduction Texas Hold’em rules Poki’s architecture Betting Strategy.
Poker as a Testbed for Machine Intelligence Research By Darse Billings, Dennis Papp, Jonathan Schaeffer, Duane Szafron Presented By:- Debraj Manna Gada.
Outline for the day: 1.Discuss handout / get new handout. 2.Teams 3.Example projects 4.Expected value 5.Pot odds calculations 6.Hansen / Negreanu 7.P(4.
Neural Network Implementation of Poker AI
Stat 35b: Introduction to Probability with Applications to Poker Outline for the day: 1.HW3 2.Project B teams 3.Gold vs. Helmuth 4.Farha vs. Gold 5.Flush.
The Poker Game in Jadex by Group 1 Mohammed Musavi (Ashkan) Xavi Dolcet Enric Tejedor.
Today’s Topics Playing Deterministic (no Dice, etc) Games –Mini-max –  -  pruning –ML and games? 1997: Computer Chess Player (IBM’s Deep Blue) Beat Human.
MIT 15.S50 L ECTURE 5 Friday, January 27 th, 2012.
Stat 35b: Introduction to Probability with Applications to Poker Outline for the day: 1.Expected value and pot odds, continued 2.Violette/Elezra example.
All In To put all the rest of your money into the pot.
Expected value (µ) = ∑ y P(y) Sample mean (X) = ∑X i / n Sample standard deviation = √[∑(X i - X) 2 / (n-1)] iid: independent and identically distributed.
Introduction to Poker Originally created by Albert Wu,
Penn Poker Fall Strategy Session Series
Stat 35b: Introduction to Probability with Applications to Poker Outline for the day: 1.Odds ratios revisited. 2.Gold/Hellmuth. 3.Deal making. 4.Variance.
Stat 35b: Introduction to Probability with Applications to Poker Outline for the day: 1.Hand in hw1! Get hw2. 2.Combos, permutations, and A  vs 2  after.
1)Hand in HW. 2)No class Tuesday (Veteran’s Day) 3)Midterm Thursday (1 page, double-sided, of notes allowed) 4)Review List 5)Review of Discrete variables.
By: John Cook 11/06/2009 PTTE John Cook 3/4/2016.
The Mathematics of Poker– Implied Pot Odds Strategy: No-Limit.
Outline: 1) Odds ratios, continued. 2) Expected value revisited, Harrington’s strategy 3) Pot odds 4) Examples.
Stat 35b: Introduction to Probability with Applications to Poker Outline for the day: 1. Combos, permutations, and A  vs 2  after first ace 2.Conditional.
Stat 35b: Introduction to Probability with Applications to Poker Outline for the day: 1.Expected value. 2.Heads up with AA. 3.Heads up with Gus vs.
Understanding AI of 2 Player Games. Motivation Not much experience in AI (first AI project) and no specific interests/passion that I wanted to explore.
Stat 35b: Introduction to Probability with Applications to Poker Outline for the day: 1.Odds ratio example again. 2.Random variables. 3.cdf, pmf, and density,
POKER-6S ooA, OOD, OOP.
Stat 35b: Introduction to Probability with Applications to Poker
Stat 35b: Introduction to Probability with Applications to Poker
Strategies for Poker AI player
Artificial Intelligence and Searching
Stat 35b: Introduction to Probability with Applications to Poker
Stat 35b: Introduction to Probability with Applications to Poker
Stat 35b: Introduction to Probability with Applications to Poker
Stat 35b: Introduction to Probability with Applications to Poker
Artificial Intelligence and Searching
Artificial Intelligence and Searching
Stat 35b: Introduction to Probability with Applications to Poker
Stat 35b: Introduction to Probability with Applications to Poker
HOW TO PLAY POKER.
Presentation transcript:

Jeff Berkowitz

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

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.

Characterizing Games Open Information Limited Information Deterministic Nondeterministic Chess Checkers Go … Battleship Minesweeper … Backgammon … Poker Stock market …

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

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

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

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

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, …

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]

Digression: Poker in Academia  University of Alberta Poker Research Group  Their work started long before the fad – 1995  Numerous papers on the internet   Excellent software (100% pure Java)  Spinout company – Poker Academy  The company is actually called “Biotools”  Product has a plug-in API for bots, “Meerkat”

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

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

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

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

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

PRDLBot Tour

Bibliography (1 of 2)  U of Alberta (CA) Poker Research Group:   Scroll to Publications. Recommended there:   Great online bot programming articles:   Poker Academy software:  

Bibliography (2 of 2)  Best overall poker web site / book publishers:   Recommended books from them:  See  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).

Online Poker  Early years (1990s – 2002)  IRC, academic, first commercial sites  Fad (2003 – 2006)  TV with exposed hole cards, Chris Moneymaker  Reality ( )  UIGEA, bot suspicions  No individual has ever been arrested or charged with any crime for playing poker online in the United States.

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