Wednesday, January 02, 2008

BluffBot


BluffBot

BluffBot is a World Champion "poker bot" created by Teppo Salonen for the purpose of competing in the first two annual AAAI Computer Poker Competitions in 2006 and 2007.

In the 2006 competition (held at the 21st National Conference on Artificial Intelligence) the first version of BluffBot finished in the 2nd place in limit Hold 'em competition beating such opponents as GS2 by Carnegie Mellon University and Monash BPP by Monash University, losing only to University of Alberta's Hyperborean.

In 2007, the new BluffBot 2.0 went undefeated and took a convincing 1st place victory in the no-limit Hold 'em competition beating all other opponents, including Hyperborean07 by University of Alberta, GS3 by Carnegie Mellon University, as well as bots from Gomel State University, Milano Polytechnic, University of Manitoba and University of Minnesota to name a few.

Does It Really Bluff?

Absolutely! Any effective poker strategy requires a balanced use of bluffing and value betting. Contrary to common beliefs, computer programs utilizing game theory are in fact often better bluffers than most humans.

The AI (artificial intelligence) used in BluffBot 2.0 is a non-adaptive expert system designed using the principles of game theory. This approach makes a good practical use of variety of known expert strategies exploiting weaker opponents while at the same time effectively defending itself against exploitation from adaptive opponents.

Sunday, December 30, 2007

Bot-running


Millions of different computations.
It's very simple, it's legal and no one on the other side of the screen will ever know. I've run a cable from the PC showing the game - or, rather, games - into a laptop running some specialist poker software. This displays an information-only Etch A Sketch-like rendering of the poker tables; the cards, the betting, the players contending the pot. The laptop is making millions of different computations based upon the strength of my hand and how the others are betting. Then it places 'my' bet. I don't have to lift a finger or even be in the room.

Online poker is nothing more than a busted flush.
If you're a poker player, this is merely unethical. But if you're an executive or shareholder in one of the top poker websites, the advent of programs that play for you is very bad news indeed. Online poker is a £3bn-a-year industry - £3m is gambled on online poker every day in Britain alone (we're now the fifth biggest gambling country in the world). But this depends on the punters knowing they're getting a fair game. When they're up against expertly programmed computer players, then they are, quite emphatically, not. And if these programs evolve as fast as the experts predict, online poker is nothing more than a busted flush.

The game is completely corrupt.
One expert in this powerful new software, 'Chopper', tells me, 'It's amazing to think of how much we gamble on online poker sites - mainly because there is no such thing as a fair game of online poker. It just doesn't exist. The game is completely corrupt; it has zero integrity. Online players are secretly using every means at their disposal to fleece you --and at the forefront of their campaign is the use of poker robots. When all this becomes public knowledge, the amateurs will leave and the game will die.'

Phil Robinson You'll never beat poker robots

Thursday, December 13, 2007

How a program ranks a hand.

Assignment of an 11 digit number
A program can reduce any possible hand to an 11 digit number. This includes an array of 2 or 5 or 6 or 7 cards. The number represents the value of the cards as a poker hand and is used by the bot to make decisions.

The first digit
The first digit denotes the rank of the hand, to wit:

1. nopair
2. pair
3. 2 pair
4. trips
5. straight
6. flush
7. full house
8. quads
9. straight flush


The trailing digits
The trailing 10 digits consist of a concatenation of up to five two digit numbers which denote the strength of the hand within the rank where
24=ace
23=king
22=queen
21=jack
20=10
19=9
18=8
17=7
16=6
15=5
14=4
13=3
12=2