import gambit
g = gambit.Game.read_game("bagwell.efg")
g
eqa = gambit.nash.lcp_solve(g)
len(eqa)
eqa[0]
eqa[1]
eqa[2]
probs = [ gambit.Rational(i, 100) for i in xrange(99, 0, -1) ]
eqa = [ ]
for prob in probs:
g.players.chance.infosets[0].actions[0].prob = prob
g.players.chance.infosets[0].actions[1].prob = 1-prob
g.players.chance.infosets[1].actions[0].prob = 1-prob
g.players.chance.infosets[1].actions[1].prob = prob
eqa.append(gambit.nash.lcp_solve(g))
import pylab
for (prob, solns) in zip(probs, eqa):
pylab.plot([ prob for eqm in solns ], [ eqm.as_strategy()[g.players[0].strategies[0]] for eqm in solns ], 'ro')
pylab.xlabel("Probability signal is accurate")
pylab.ylabel("Equilibrium probability of choosing $S$")