Menu

#14 Implement bluffing based on game theory

open
nobody
Client (9)
5
2008-03-25
2008-03-25
Andee.F
No

In every situation, where other parts of the bot logic would dictate the bot to either fold or just call, the bot could be instructed to consider trying to bluff. The decision of whether to bluff (i.e. the bluff frequency) should be based on a random process as outlined in a following response. The amount to bet in case of a bluff can be derived directly from theoretical considerations (see following response).

Discussion

  • Andee.F

    Andee.F - 2008-03-25

    Logged In: YES
    user_id=2014471
    Originator: YES

    Game Theoretic Approach:

    Let's start with a simple example.
    You and your opponent play a game of Morra (http://en.wikipedia.org/wiki/Odd_or_Even): One person is designated the "odds" player while the other is labeled "evens". Players hold one hand out in front of them and count together to three. On three , both players hold out either one or two fingers. If the sum of fingers shown by both players is an even number (i.e. two or four) then the "evens" player wins; otherwise the "odds" player is the winner. Since there are two possible ways to add up to three, both players have an equal chance of winning. Now assume, your opponent thinks that he has identified a pattern in the way you play the game, allowing him to foretell how many fingers you are going to present on each round. In fact, he is so confident in his ability to "read your mind", that he is willing to offer you a 101$ to 100$ bet on each round. Let's assume further, that he indeed is able to foresee how many fingers you are going to hold out on your next turn most of the time. What would be the optimal strategy to defeat your opponent? Clearly, you must change your strategy in such a way, that the advantage your opponent has over you is nullified. That is, you must randomize the number of fingers you show on each round in such a way, that foretelling becomes impossible. This can, for example (and from a highly theoretical point of view), be achieved by throwing a (Laplace-) coin on each round. Head or tail then decides whether you present one or two fingers to your opponent. As the outcome of each coin-toss is random and independent of previous tosses, there exists no means to foretell the outcome of any future tosses and hence any advantage your opponent might have had over you had been defeated. According to game theory, this strategy must also be considered the optimal strategy under the very circumstances described above, because it is impossible to come up with a better counter-strategy. Ergo your opponent will have to give up eventually, if he doesn't want to loose all his money on you.

    The same idea applies to the bluffing frequency in poker. In fact, if you face an opponent, who bluffs at the optimal frequency, and bases his decision whether to bluff or not solely on a random event, it is virtually impossible to find a strategy to counter-act his bluffing. The only possible way is to capitalize on human mistakes (i.e. trying to induce bluffs, if your opponent has a tendency to bluff more than optimally or trying to stop bluffs, if your opponent bluffs less than optimally). As a computer program is immune against psychological play, an optimal bluffing strategy would give the bot an edge at least over human competitors.
    (For further considerations regarding the optimal bluffing frequency in poker see the following update of this ticket.)

     
  • Roland Abt

    Roland Abt - 2008-04-02

    Logged In: YES
    user_id=2005678
    Originator: NO

    Wait till BotHillBilly is complete and then add active bluffing functionality to the bot.

    David Sklansky, in his book The Theory of Poker, states "Mathematically, the optimal bluffing strategy is to bluff in such a way that the chances against your bluffing are identical to the pot odds your opponent is getting."
    That piece of advise to me leaves many open questions. Find other input to correctly define in mathematical terms how to calculate the optimal bluffing frequency.

    Optimal bluffing also requires that the bluffs must be performed in such a manner that opponents cannot tell when a player is bluffing or not. For the HillBilly Bot that means pretend to have better cards (one of the nut combinations?) and act accordingly.

    Bluffing is a double-edged sword. Raise enough to perfectly act as if you had a strong hand to scare others out. But if you get reraised, there is a higher risk that your opponent has a 'real' strong hand. Raising again might not be help your strategy and simply diminish your cash stack. -> How does one bluff optimally???
    *

     

Log in to post a comment.

MongoDB Logo MongoDB