Bluff poker

Final Project for the Multi Agent Systems Course

By Marten Schutten (s1777475) and Michiel van de Steeg (s1793489)

Oversimplified dice probabilities

In estimating probabilities, we often looked at the portion of possible values higher or lower than a certain value. However, some rolls are much more likely than others, because some rolls allow for more different orders. 555 has only one possible combination, while 633 has three, and 421 has six. Ideally, we'd like to use these probabilities in our calculations.

Determined on rolling higher

After an agent decides to believe the previous roll, she will continue rolling dice until she has either rolled all dice or she rolled a higher value than the last bid. The latter is not necessary if you're going to bluff anyway. Currently, the agent will try against all odds to get a higher value than the last bid, in the process of which she gives away a lot of information. This makes the inevitable bluff much easier to call. She would have been better off bluffing before giving away more information about the dice.

Estimation of being believed next turn

We did not have enough time to calculate a good approximation of the next player believing your bid if you were to believe the bid of the previous player. Right now, it's a very vague, static estimation.

Unofficial poker rules

While coding the multi-agent system for blufpoker, the way we handled pokers did not distinguish between the different pokers in their value. Because of this, when we finally wanted to implement the "believing poker" part of the system, we ran into trouble. Due to limited time, we solved this by slightly changing the rules, but ultimately we would like to follow the rules given in the game description.

Underbidding

We implemented a system where if you make a true bid (as opposed to bluffing), it is also possible to bid lower than your actual roll. This is to prevent giving away information by only bidding higher than or equal to your roll. However, we feel the current underbidding system is suboptimal. For instance, if you roll 664, you probably don't want to underbid often, as bidding 664 would be a guaranteed safe round with 4 or more players (and near guaranteed with fewer).

Overly complicated knowledge

We built a fairly elaborate parser for logical formulas, including implications, conjunctions and negations. However, in the end we did not use implications or conjunctions, and negations were only used for bookkeeping, as negation-type formulas were not used in any decision making explicitly.

Oversimplified rolling prediction

When predicting the probability of throwing higher than the last bid, we did not take into account being able to roll more than once. Instead, we just look at the best possible one-step option, and if we didn't get there after that roll, we looked at the next roll (if applicable).

Bluffing

We decide to bluff sometimes to reduce the odds of getting another turn. However, we don't take into account that this may result in the "conflicting" bid involving us. However, it is difficult to bid with keeping this in mind, because other agents would do the same, so even if we decide not to increase the bid by too much, this only leaves more space for other players to do so.

Final notes

Bluff poker is a much more complex game than it might seem at first glance. It involves knowledge about the dice and knowledge about what other agents know about the dice. However, the more complicated part lies in having to make many decisions under uncertainty. An agent's bid may say something about her roll, but once an agent starts assuming such things, it becomes abusable by the bidder. Because of this and similar situations, bluffing and believing probabilities need to be tuned to eachother very well. In attempting to do this tuning, we have eliminated most quirks from the system. One major one (determined on rolling higher), and some small ones remain, but overall the agents in our systems don't make many stupid decisions, and there is a solid reasoning behind their decision making. While the game offered many tricky situations to which it is difficult to find a definite solution, with the use of heuristics and estimations our agents can deal with them in a reasonable fashion.