Transcript Pokerbase
Pokerbase
a 2-tier simulator and database companion
for serious online poker players
Based in part on an artificial intelligence
engine developed for NOPIS
David Rientjes
CSE 403
What was NOPIS?
The Network for Online Poker Information Sharing (NOPIS) was designed to automate
online poker playing with AI so that it would be indiscernible from a human player.
NOPIS featured a server that could be started and terminated with a single command and
allowed several players across the country to sit down at a predetermined online poker table
and share information about their hole cards. Then, the server would dictate the action of
the players so that it could steer action to one of its players and a lucrative pot.
The AI was sophisticated enough so that the system was capable of setting long-term goals.
For example, it would lose certain hands on purpose even when there was a lot of action.
NOPIS was written as a formal proposal on Usenet in 2004 and was slated to be released
on SourceForge under GPL until it was abandoned. Whether it still exists underground
today is unknown.
What is Pokerbase?
Pokerbase is a simulator and database companion for online poker
players.
There are two high-level features:
Simulated game play mode
Play against virtual opponents driven by artificial intelligence and
based on real personality profiles
Database mode
Study real online poker hands that have been observed by
Pokerbase clients to learn more about hands, players, venues,
tournaments, and more
Simulated Game Play Mode
Simulated game play mode allows the client to play games against virtual
poker players powered by artificial intelligence and customizable
personality profiles.
Possible personality profiles include:
Tight and conservative
Loose and aggressive
Emotionally charged
Unpredictable
Includes statistics for hands in any poker game variation. Statistics are
available at any point during the hand and can be used by the client to
learn which hands are best.
Pokerbase should be able to help me
How often does Ace-King suited win? lose? split?
How likely is this hand to approve on the flop? turn? river?
Have I had success or failure with this hand before?
Am I in good position? How likely are my opponents to call a bet or raise?
Ultimately: what should I do based on my style of play? Check, bet, raise?
If I am raised, how much should I be willing to call?
Decision: I bet $25. One of my opponents folded and two others called.
Now what should I do?
How often does a pair of Kings with an Ace win? lose? split?
Is my hand likely to improve later?
Do I usually play a high pair poorly or do I play it well?
What other threats are on the board at the moment?
What should I do if I am an aggressive player? Check, bet, raise?
Decision: I bet $100 and only one of my opponents called.
Now what?
Now how often does a pair of Kings with an Ace win? lose? split?
What slim chance do I have of improving now?
How likely is it that my one opponent now has a flush?
I’m aggressive, so what should I do? Check, bet, raise?
Decision: I’m worried about the flush so I check. So does my opponent.
Now what?
Does a pair of Kings win with flush and straight draws on the board?
How likely is it that my opponent has a straight or a flush?
Based on my opponent’s style, was she calling in hopes of hitting the straight?
the flush?
Can I do anything now? Check, bet, raise? Or should I fold?
My opponent bets $1,000.
Decision: I fold. Pokerbase says it’s too likely that my opponent has a straight or a
flush. From the information it has gathered about her style of play, she is unlikely to
bluff in this situation. I just saved $1,000.
Outcome: My opponent bluffed me. Pokerbase sucks!! But now it will adjust her
personality profile so I’ll be better prepared next time when she bluffs at the wrong pot.
Poker Variations
Pokerbase can support any number of different variations of games,
including:
No Limit Texas Hold ‘Em
Limit Texas Hold ‘Em
Omaha
Omaha Hi/Lo
7 Card Stud
Artificial intelligence and statistical modules are provided for each game.
The user can learn how to play each game well or can master a single
game.
Database Mode
Database mode allows the client to store hands from poker games that
were either played online or inputted on a centralized server. The
artificial intelligence can then analyze the game play and determine what
went right and what went wrong.
By sharing the information in a centralized database, all clients can
examine hand histories and learn about particular hands or players on
online poker networks. It will provide information on an enormous
amount of poker hands so players will be able to learn what playing style
worked best in each situation.
Features
Pokerbase can be made to:
Enter, annotate, and save poker hands including commentary and analysis.
Analyze game play with modules simulating all styles of play and personality profiles.
Retrieve hands according to players, tournaments, hole cards, stakes, chip count,
venue, and self-defined criteria from the server.
Generate graphical statistics of players and hole card odds for use in real-life
situations.
View statistical data and odds for all hands in any variation at any point during the
simulated game play.
Generate a player’s biography containing all available information from the database
server.
Generate a comprehensive hole card report with main and critical lines, plans, and
most important continuations.
Print hands with diagrams.
Architecture
The Pokerbase architecture can be separated into three distinct areas
that can be worked on individual in groups of 2-3 people:
Control
Includes the data structures and statistics needed by the client; runs
the poker games and determines the ranks of poker hands
Artificial intelligence
Powers the simulated game play and analysis features; includes
the personality profiles
Graphical User Interface
Provides a professional and clean appearance to the product
The database server can store hands in plain text files with no encryption so that clients can
retrieve them at any time by making simple queries.
All major poker sites allow you to save the full history of a hand you
observe. Pokerbase can parse these files so the user does not need to
do any additional work.
Schedule
By week 4:
Control should be able to successfully run a poker game and have a database
server complete.
Artificial intelligence should have primitive personality profiles that can be used by
control to simulate a reasonable and realistic game.
The graphical user interface should be a rough sketch of the finalized project so that
it can be navigated without detriment to the program.
By week 6:
The program should have all the embedded features that will be
completed by the target date. The remaining time should be spent on
testing and verification.
Is this too much to handle in eight weeks?
Probably.
Possible solutions:
Scale back the number of features by excluding some of the less
important ones.
Have a limited number of personality profiles.
Focus only on the most important statistics such as outs, pot odds,
bet odds, and implied odds.
Only support one variation of poker such as Texas Hold ‘Em.
Support the most popular gaming sites such as PartyPoker and
UltimateBet.
Is this feasible?
All the data structures and algorithms to make this work already exist.
Both the client and server can be written in any object oriented
programming language such as C++ or Java.
The success of the end product will be directly proportional to the amount
of effort put into making it work correctly, efficiently, and realistically.
Less than a year ago, it was reported that $187,000,000 is wagered on
online poker sites every 24 hours.
Over 2 million people in the United States play poker online regularly.
They want to know how to play it well. They want an advantage.