Friday 29 October 2010

Types of poker bot - The Exploitive Bot

The exploitive bot is a very different animal to the optimal bot, and far more human like in it's play. The optimal bot removes all aspects of psychology from the game, it's purely a formula that is fortunately near impossible to calculate, otherwise online poker would be ruined for ever.

The exploitive bot works by analysing other players, identifying their weaknesses and then working out counter-strategies to their style of play. These bots will adapt to players and tables, always trying to give themselves an edge. This is far more like the style of play of a poker professional. The problem with this style of bot is that unlike the optimal bot, where you have one strategy that's played against all players, you have a potentially infinite number of strategies. No two poker players play exactly the same way, and therefore you need to develop a different strategy for each one.

The advantage of this permanently shifting strategy is that it makes the bot far less predictable. If the optimal bot wasn't quite optimal, and a hole was found in it's strategy, then a player could exploit this over and over and it would never adapt. The exploitive bot however will not only adapt to exploit others, it will also adapt to others exploiting it.

The problem with this method is not only do you have to calculate your exploitive strategies on the fly, as you clearly can't precalculate an infinite number of strategies, the bot also needs to understand human thought and develop good hand reading skills. With this method of play, we're trying to develop a learning, thinking machine that adapts to what's going on around it. In my opinion, the optimal bot isn't intelligence, but more a complex set of rules. The exploitive bot is true artificial intelligence, and a much more interesting project in my opinion, and what this blog is going to be concentrating on.

So while calculating the perfect exploitive strategy would have the same complexities as creating the perfect optimal strategy. The fact that we're constantly adapting our strategy and are less predictable means that our strategy doesn't need to be quite as perfect as the optimal strategy to still be able to pull a profit.

2 comments:

  1. A big problem with exploitative strategies from a bot maintainer perspective is having to continuously evolve the strategy as the player pool improves; over the years the level of play from the "average player" rises. Exploitative strategies are generally difficult to scale to higher stakes, where players have less obvious leaks.

    Unfortunately the alternative, using an optimal strategy, is not realistic at this time (for most game types). Using an optimal strategy would be great because it's pretty much "set it and forget it."

    I think you should break down the profit potential (ranges) of using an exploitative strategy vs an optimal strategy. Something like:
    - optimal: [no losses, low winnings]
    - exploitative: [high losses, high winnings]

    ReplyDelete
  2. The idea is to create a bot that evolves it's own strategies, depending on the exact players it's playing against at the time.

    All No-Limit strategies developed so far are difficult to scale to higher stakes as far as I'm aware. Both optimal and exploitive strategies are difficult to produce, and I'm sure all bots that currently exist have exploitable weaknesses.

    The other issue with an optimal strategy is rake. The optimal strategy is relying on making marginal profits, once rake eats into that is it still going to be profitable? The exploitive strategy will find and exploit other players weaknesses, and should therefore be capable of making more money.

    ReplyDelete