A paper published in Science is being picked up far and wide with such declarations as “Game Theorists Crack Poker” and “Humanity Folds: Computers Have Cracked Texas Hold-Em.” I don’t have access to the full paper, so I’m going off the report in Nature about it and I’d say no, the computer has not cracked poker.
First, the program only deals with one relatively simple variation of poker, Heads Up Limit Hold Em (HULHE). That means the program would only play against a single opponent and the bets would be limited and preset.
A new computer algorithm can play one of the most popular variants of poker essentially perfectly. Its creators say that it is virtually “incapable of losing against any opponent in a fair game”.
This is a step beyond a computer program that can beat top human players, as IBM’s chess-playing computer Deep Blue famously did in 1997 against Garry Kasparov, at the time the game’s world champion. The poker program devised by computer scientist Michael Bowling and his colleagues at the University of Alberta in Edmonton, Canada, along with Finnish software developer Oskari Tammelin, plays perfectly, to all intents and purposes.
That means that this particular variant of poker, called heads-up limit hold’em (HULHE), can be considered solved. The algorithm is described in a paper in Science1.
The strategy the authors have computed is so close to perfect “as to render pointless further work on this game”, says Eric Jackson, a computer-poker researcher based in Menlo Park, California.
But there are some important limitations here. First, heads up limit hold em is not, in fact, one of the most popular variants of poker. In fact it’s very rarely played, only at a few tournaments throughout the year. Second, the preset bet limit all but eliminates the utility of bluffing and thus eliminates a great deal of relatively subjective elements from the game. And HULHE is far simpler than, say, heads up no-limit hold-em or, far more complex yet, no-limit hold-em with a table full of players.
The program actually does bluff, but it only does so based on mathematical calculations. Specifically, it calculates how often one should bluff in HULHE. But how often one should bluff is not the same as determining when one should bluff, and as I said, the utility of bluffing in a limit game is virtually nil compared to a no-limit game. Deciding when to bluff. as opposed to how often, requires one to consider variables that, at this point, a computer almost certainly cannot consider effectively.
A computer program could, of course, use a learning algorithm to track its opponent’s tendencies, and poker players actually already do that (there are programs that do it for you for online poker play and the top pros chart their opponents’ play in live tournaments as well and do the same kind of analysis a computer would do (how often do they bluff from early or late position, how often do they fold to a reraise out of position, etc). But as Chong Li says in Bloodsport, “brick not hit back.”
What I mean by that is this: While you can track a player’s tendencies to inform a decision on whether to make a reraise or fold, that player is, if they’re any good, also thinking about their own tendencies. While you’re thinking about how they’re most likely to respond to a bet or a raise, they should also be thinking about how you’re going to predict their behavior. It’s that constant back and forth that I don’t think a computer could really consider effectively.
Then there are physical tells that a program can’t incorporate into its decision-making process (not yet, at least; one can imagine that if it had a camera on its opponent or could read things like blood pressure and skin temperature, a computer might ultimately be better than a human player at this). And there are factors such as relative stack size (if a player has a small number of chips relative to you, are they more or less likely to call you? Are they going to play tighter or looser?); their perception of how you play; their perception of whether you’re bluffing a lot or getting a run of good cards; whether they’ve just sat down at the table or have been playing for a while; whether they just got back to even, are way down or way up in chips; etc. All of these things should be considered when making a decision to call, bet, raise or fold.
The reality is that making the mathematically correct decision is not always the same thing as making the actually correct decision. Poker is not just a game of math, it’s a game of psychology. It’s a game of reading people and reading situations. It’s a game of incomplete information and it’s the incompleteness of that information, and the fact that any decent poker player can do the math pretty well in their heads, that diminishes the value of purely mathematical play.
Ultimately, computers may reach the point where they could outplay humans at a game like no-limit hold-em with multiple players, but I suspect that’s still a ways off. Computers do have a huge advantage in terms of data storage, recall and analysis. But I don’t think they are sophisticated enough yet to have an advantage at the human elements of the game, and that’s where the real difference between an average poker player and a great player can be found.