# Game Theory Nash Equilibirum Question

Hi,

I'm using the open-source game-theory program Gambit (http://gambit.sourceforge.net/) to solve a simple toy poker game.  But Gambit is giving me a solution that does not make sense.

Let me first describe this 2 player game.  Each player is a dealt a card 1, 2, or 3 -- 3 being best.  Player 1 and Player 2 both have a 1/3 chance of getting any card, and it's possible for both to be dealt the same card (the deal events are independent).  Each player antes 2 chips.  Player 1 then has the option of raising 1 chip more (making the pot 5 total), or folding.  Player 2 can then fold, call, or re-raise (making the pot 7 total).  Player 1 can then fold, call, or re-raise again.  At that point the raising is over and Player 2 can only call or fold.  If both players have the same card at showdown, they split the pot.

Now, if I tell Gambit to solve a linear complementarity system, I get a "rational" solution:

http://img168.imageshack.us/img168/1055/linearcomplementaritysy.jpg

However, if I solve for a solution using a linear program OR using logit trace, I still get something nonsensical:

http://img192.imageshack.us/img192/5692/linearprogram.jpg

In particular, the solution still fails to re-raise as Player 1 100% of the time when holding a 3, despite the fact that player 2 will call that raise 50% of the time when holding a 2.  Thus, player 1 can still unilaterally improve so I don't see how this can be a NE.

Thanks,
Jonah

http://filebin.ca/mpcmeu/test.gbt
LVL 7
###### Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Principle Software EngineerCommented:
I think that the issue is that calling on the second round 50% of the time results in an outcome that is the same as raising. Obviously, raising results in a 50% chance of a better outcome and is the best strategy. However, Gambit is probably attacking the problem from the other side in the second case.
0
Author Commented:
blu:

can you clarify what you mean by gambit it attacking the problem from the other side?  i'm not exactly following you... also, are you suggesting that this is some kind of bug?
0
Principle Software EngineerCommented:
Perhaps it is a bug. What I am suggesting is that if a different algorithm is used to find a solution, perhaps it is not surprising that it produces a different answer. My
guess is that if the algorithms were all completely deterministic and correct then there would be no need to have different algorithms at all.

Since Gambit does support multiple methods, I would think that different problems
are better tackled with one or the other of them.

Look at it from the point of view of that node. We can look at it and see that the best strategy is to always raise. But if you didn't have knowledge of the rest of the graph, you might look at this at discover that raising improved your results only 50% of the time. In many games it might not be possible to determine the single best strategy, so this particular algorithm might assign probabilities to the different choices and try different values until the graph stabilized. I am not saying that this is what Gambit is doing, just that a different method might produce different results.
0

Experts Exchange Solution brought to you by

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Author Commented:
Yes, I agree with your sentiments about multiple models.  It would also not be surprising to me if this game had multiple equilibrium points.

What IS suprising is that one of the Gambit methods would arrive at an answer which is clearly wrong.  To use your example, if the algorithm was an iterative one that waited until stabilization occured, I don't see how this answer could be a stable one.....
0
Author Commented:
blu:

I think I may have figured this out, maybe you can confirm:

The linear program solution, which I thought was a bug, actually makes sense:

http://img192.imageshack.us/img192/5692/linearprogram.jpg

My issue was that we are not reraising a 3 100% of the time, even though our opponent calls that re-raise with a 2 (bottom 2 branches of the tree).  However, this doesn't matter, since with a 2 he is ALWAYS only calling the first raise, so he can never arrive at this portion of the graph that my problem depends on.  Also, he never calls a re-raise with a 1, so basically when we re-raise our 3, no worse hand is ever calling, so we aren't actually giving anything up.  It can be considered an irrelevant side effect of the solution.  Does that make sense?
0
Principle Software EngineerCommented:
That sounds reasonable. That makes the graph stable, since increasing the probability of the re-raise doesn't affect the outcome. What makes it interesting then, is why Gambit would assign any probability to re-raising and not leave call at 100%.
0
Technology ScientistCommented:
Thank goodness your AI doesn't slow play that 3 or bluff with a 1 because that would be just down right mean to the other player >:)

0
Author Commented:
blue,

it couldn't do that, otherwise we would know that a 4bet was a bluff with a 1.
0
Author Commented:
Hey blu, I'm just awarding you the points for helping me out.  thanks.
0
###### It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Math / Science

From novice to tech pro — start learning today.