Sunday 20 February 2011

Computer poker players

Computer poker players are computer programs designed to play the game of poker against human opponents or other computer opponents. They are commonly referred to as pokerbots or just simply bots.

On the Internet

These bots or computer programs are used often in online poker situations as either legitimate opponents for humans players or a form of cheating. Whether or not the use of bot constitutes cheating is typically defined by the poker room that hosts the actual poker games. Most (if not all) cardrooms forbid the use of bots although the level of enforcement from site operators varies considerably.

Player bots

The subject of player bots and computer assistance, while playing online poker, is very controversial. Player opinion is quite varied when it comes to deciding which types of computer software fall into the category unfair advantage. One of the primary factors in defining a bot is whether or not the computer program can interface with the poker client (in other words, play by itself) without the help of its human operator. Computer programs with this ability are said to have or be an autoplayer and are universally defined to be in the category of bots regardless of how well they play poker.

The issue of unfair advantage has much to do with what types of information and artificial intelligence are available to the computer program. In addition, bots can play for many hours at a time without human weaknesses such as fatigue and can endure the natural variances of the game without being influenced by human emotion (or "tilt"). On the other hand, bots have some significant disadvantages - for example, it is very difficult for a bot to accurately read a bluff or adjust to the strategy of opponents the way humans can. In addition, bot operators have to "beat the rake" in addition to their opponents. For this reason, many bots can only be reasonably expected to generate a reliable profit at the lowest stakes.

House enforcement

While the terms and conditions of poker sites generally forbid the use of bots, the level of enforcement depends on the site operator. Some will aggressively seek out and ban bot users through the utilization of a variety of software tools. The poker client can be programmed to detect bots although this is controversial in its own right as it might be seen as tantamount to embedding spyware in the client software. Another method is to use CAPTCHAs at random intervals during play.

House bots

The subject of house bots is even more controversial due to the conflict of interest it potentially poses. By the strictest definition, a house bot is an automated player operated by the online poker room itself, although some would define more indirect examples (for example, a player operating bots with the knowledge and consent of the operator) as "house bots" as well. These type of bots would be the equivalent of brick and mortar shills.

In a brick and mortar casino a house player does not subvert the fairness of the game being offered as long as the house is dealing honestly. In an online setting the same is also true. By definition, an honest online poker room, that chooses to operate house bots, would guarantee that the house bots did not have access to any information not also available to any other player in the hand (the same would apply to any human shill as well). The problem is that in an online setting the house has no way to prove their bots are not receiving sensitive information from the card server. This is further exacerbated by the ease with which this can be accomplished in a digital environment without being detected. For the house to even prove they are not using any house players to begin with is essentially impossible - probably the only real way that could be done would be to disclose the confidential personal information of every player and that obviously cannot be done due to privacy considerations.

Artificial Intelligence

Poker is a game of imperfect information (because some cards in play are concealed) thus making it impossible for anyone (including a computer) to deduce the final outcome of the hand. Because of this lack of information, the computer's programmers have to implement systems based on the Bayes theorem, Nash equilibrium, Monte Carlo simulation or neural networks, all of which are imperfect techniques. This is unlike games such as chess where (because no information is concealed) a computer can play with greater accuracy than a human.

Methods are being developed to at least approximate perfect poker strategy from the game theory perspective in the heads-up (two player) game, and increasingly good systems are being created for the multi-player game. Perfect strategy has multiple meanings in this context. From a game-theoretic optimal point of view, a perfect strategy is one that cannot expect to lose to any other player's strategy; however, optimal strategy can vary in the presence of sub-optimal players who have weaknesses that can be exploited. In this case, a perfect strategy would be one that correctly or closely models those weaknesses and takes advantage of them to make a profit, such as those explained above.

Research groups

A large amount of the research into computer poker players is being performed at the University of Alberta by the GAMES group led by Jonathan Schaeffer who developed Poki and PsOpti. The Poki engine has been licensed for the entertainment game STACKED featuring Canadian poker player Daniel Negreanu. "PsOpti" is available under the name "SparBot" in the poker training program "Poker Academy".