Computing Bayesian Nash Equilibrium

1.2k Views Asked by At

I recently made a model to solve a conflict problem in sports.

The model is based on Bayesian Games: a complete definition can be found here.

The thing is that I am now looking to compute the equilibria of the system, but I don't know any algorithm to do so.

Do you know of any?

Which language do you think I should use? I was a priori going to use R.

Does anybody have any experience with this kind of problem?

2

There are 2 best solutions below

1
On BEST ANSWER

I actually ended up using MATLAB to implement the solution ex post given by Shoham and Leyton-Brown's Multiagents System in the chapter focused on Bayesian games.

0
On

For finite Bayes games, i.e., both the action and the type space are finite, you can transform them into either the agent form (see Theorem 9.51 of Game Theory) or the induced normal form (see section 6.3.3 of Multiagent Systems). After you do the transformation, they becomes game in normal forms and you can compute the corresponding Nash Equilibrium (NE). Then recover BNE from NE.

If you further have only two players, then you can form a math program of a bi-linear objective function and linear constrains to solve it (see Theorem 1 of this paper). You can use any nonlinear solver such as Baron to solve it. I would recommend use matlab with the toolbox Yalmip. Note that no nonlinear solver can guarantee global optimal, but you can judge whether BNE is achieved by checking whether the objective function equals 0 (see Theorem 1 of this paper for details. Basically, the objective function of the bilinear program should achieve 0 at BNE. The value closer to 0 represents a smaller error, which can serve as a metric of the solution quality. If the value is eps not equals 0, then you obtain an eps-BNE). We can directly extend the above math programming method to N-player games.