Where's the Deep Blue of Texas Hold'Em?

Surely I can’t be the only one thinking about this.

Poker is obviously a game of odds. Those odds can get fairly complex, and even the brightest and sharpest can only hope to estimate those odds and go with an essentially gut feeling when playing a live game. A computer that can go through millions of permutations quickly and precisely would surely have an edge in this department. It would be able to compare the odds of a hand winning against the exact value of the pot & bet at stake at every card turned, and bet accordingly.

Also importantly, one with advanced algorithms could track the playing behavior of its opponents and make guesses on the strength of their hands like any live player also would, and take them into consideration when betting. Although everyone would be trying to “figure out” the machine, it would never have the problem of accidentally giving itself away because of some nervous tic.

I can’t imagine any tournament organizer that wouldn’t wet his pants to host a match with such a computer vs. the top-rated poker pros in the world. Given the wild popularity of Hold’Em, it would be a guaranteed smash, regardless of who wins. So what are we waiting for? Is a project already in the works and I just don’t know about it? I know I don’t have the chops to design a program like that (I can barely lay out a webpage), but maybe some of you all do?

It wouldn’t matter, it’d still get sucked out on on the river.

That’s the whole point of Texas Hold’Em as opposed to Draw. In Texas Hold’Em, Bluffing is very very important, and in order to do so well, you must be able to read you opponent. Computers can’t read their opponents and thus won’t do well at bluffing. If I, as a player- know that my opponent only raises or calls on a certain type of hand, and they never bluff or can be bluffed- then they’ll never make any money off me, the cash will just go back and forth.

As a PhD student in CS, I want to chime in and say this isn’t as easy a problem to solve as you might think. There is a huge fundamental difference between the game of chess, where computers can routinely beat or tie the world’s best players, and poker. The main difference is chess is a game of perfect knowledge and has no statistical aspects while poker is a game of imperfect knowledge and has significant statistical aspects.

A game of perfect knowledge is one where all opponents have all information; in chess, both opponents can see every piece on the board, know all the moves each piece can make, etc. In poker, this is clearly not the case because only a single player knows his/her hold cards.

It is because of this perfect knowledge and lack of any chance that allows chess to be “solved” because the state-space of potential moves can be traversed intelligently with certain heuristics and a lot of brute force.

As far as poker, all a computer can really do is calculate odds and determine patterns. But really, how hard are the odds in poker? There are certain rules of thumb for calculating odds. For instance, a pocket pair against two higher cards is generally about 50% chance to win. Does knowing its actually 47% or 51% or whatever instead of 50% going to give you any real edge? Further, unless you’ve pinned your oppenent on those two cards, does knowing those odds really help at all? I’ve watched a number of poker tournaments on TV, and several times, I’ve seen some of the pros state their odds in an all-in within a percentage point or two (count up outs, divide by cards left).

As far as detecting patterns, this is something humans are especially good at that we haven’t quite figured out how to do well with computers. Sure, a computer can detect a pattern where a certain player bets certain amounts he’s likely bluffing… but a REALLY good player will change up his play and use that tendency to try to double-bluff someone.

For the sake of argument, let’s assume we’ve created a sophisticated enough system that can detect betting patterns, given enough hands, we still haven’t dealt with the statistical nature of poker. Precisely because of this, even the best players in the world can’t possibly win or even go deep in a majority of the tournaments they enter. Were we to enter this computer, I’d predict poor results against the pros for two reasons. First, they’d deliberately try to establish a pattern, wait for it to pick it up, then deliberately go against it to try to trick it. Second, the computer would have no extra information when determining bluffs or strength of opponents hands other than betting patterns while humans can observe behavior, language, and other reads on top of their observations of betting patterns. In my opinion, that extra information is equally as useful, if not more so, than knowledge of odds and betting patterns.

Chess hasn’t been ‘solved’ yet. In another thread we came up with an estimate that to hold all possible positions of chess in a database would require a planet-sized computer.
But top computers now can ‘see’ far enough ahead (using brute force) to win close matches against grandmasters and thrash the rest of us.

I don’t know as much about poker as chess, but I would program a computer to:

  • calculate the odds
  • store all its opponent’s plays (presumably this would be hands from previous televised events)
  • bluff randomly (only occasionally)

I don’t see knowing the odds as a great advantage, but at least the computer would never get emotional and go on ‘tilt’.
I think knowing a lot about your opponents style would be useful.
Its true the computer has no idea what other players are thinking, but then they can’t get a read on the computer either.