The ai

Is PokerSnowie perfect?

To create a system that plays a certain game perfectly, the game has to be solved. Solving a game means creating a huge database with the correct action for any given game state. This database must contain every possible state of the game. For No Limit Hold'em, a game state is the exact situation, the given cards, the actions that happened in the game, the chip amounts at the table, the exact bet sizes etc. Without doing any calculations it is obvious that a game that complex cannot be solved with the current computer power and probably not in the next few hundred years.

PokerSnowie uses neural networks and estimates the right action for a given poker situation. Neural networks are able to interpolate well, so if a network has trained for two situations and is exposed to an unknown third one, it usually comes up with a good result, under the condition that the new situation is similar to the ones used for training.

However, by principle, neural networks are not perfect and occasionally produce wrong results, on learned situations and on interpolated ones. In that sense, PokerSnowie is not perfect and theoretically beatable by a perfect system.

Example of an obvious mistake

PokerSnowie has played trillions of hands and has built up an extremely good intuition, manifested in its neural networks. In 99.9% of all poker situations, this is all that is needed. However, there are some exceptions, where human players would not use their intuition, but use calculations instead. This can happen in all-in situations, where the winning chances can easily be estimated.

Here is an example:

For a human player the situation is quite easy:

  1. Estimating the winning percentage

    - Player2 normally wins with a flush: 9 outs
    - Also a straight should ensure a win: 3 outs (one 5 is already counted for the flush)
    - A 6 or an 8 makes a second pair which wins perhaps 50% of the time: 6 outs x 50% = 3 outs

The card odds are therefore 31:15, or roughly 2:1

  1. Calculating the pot odds

    - Player2 has to call $33 to win $53, so the pot odds are 1.6:1

The final result is clear: the pot odds should be 2:1 to justify a call, but they are only 1.6:1. Player2 should fold.

PokerSnowie has a different approach and doesn't do all those calculations. The neural network sees that the opponent went all-in, that it holds a flush draw and a gut shot straight draw, that it is facing a significant bet size and so on. Then it produces the result, in this case a (slightly wrong) tiny call.

Design weaknesses

When designing PokerSnowie, some simplifications needed to be made:

  1. Allowing only one bet size for the whole range of cards in a specific situation

    Basically all professional high stakes players only use one bet size in a given situation. In the example of a pre-flop raise, this means that the bet size is the same, holding AA or QJ. The obvious advantage is, that no tell is given to the opponents by the bet size. A player that bets AA always high and QJs always low will end up losing quickly, once their opponents become aware of that.

    In theory, however, multiple ranges for different bet sizes could be constructed in a balanced way, which would be slightly superior to only one bet size. This theoretical approach is highly complex and not practical for PokerSnowie nor humans.

  1. Allowing only discrete bet sizes of 0.5x, 1.0x or 2.0x pot

    PokerSnowie has the choice between 3 bet sizes or going all-in. Many players use bet sizes between 0.5x and 1.0x, so this option will be added to PokerSnowie later.

    While it is true that 0.75x pot could be the best bet size in a certain situation, our simulations have shown that missing this option is not critical. In most cases the exact bet size plays much less of a role than expected. One reason is that the difference of size also changes the raising range. PokerSnowie selects a different hand range for raising 0.5x pot or 1.0x pot, which brings the overall EV for the whole range closer together. For 0.75x pot, another intermediate hand range needs to be constructed and the overall EV is mostly not far away from either 0.5x pot or 1.0x pot.

  1. Incorrect evaluations when the opponent makes clearly non GTO moves

    When an opponent plays clearly non GTO, by taking lines which are commonly known as wrong, PokerSnowie's evaluation might be incorrect. This is especially emphasized when an opponent goes all-in with a big overbet (3 times pot or more), or during the course of the hand a big overbet was played.

    While we know this is a clear weakness, we believe it does not impact the learning features of our software, which lay in the ability to learn a proper balanced GTO strategy and find patterns of mistakes which lead to lost EV or becoming exploitable.

    In any event, we're planning to fix this issue in an upcoming update.