Enumeration of Equilibria for Bimatrix Games David Avis Department - - PowerPoint PPT Presentation

enumeration of equilibria for bimatrix games
SMART_READER_LITE
LIVE PREVIEW

Enumeration of Equilibria for Bimatrix Games David Avis Department - - PowerPoint PPT Presentation

Enumeration of Equilibria for Bimatrix Games David Avis Department of Computer Science McGill University Gabriel Rosenberg Yale University Rahul Savani Department of Computer Science University of Warwick Bernhard von Stengel Department of


slide-1
SLIDE 1

Enumeration of Equilibria for Bimatrix Games

David Avis

Department of Computer Science McGill University

Gabriel Rosenberg

Yale University

Rahul Savani

Department of Computer Science University of Warwick

Bernhard von Stengel

Department of Mathematics London School of Economics

slide-2
SLIDE 2

Nash equilibria of bimatrix games

3 3 1 0 A = 2 5 B = 0 2 0 6 4 3 Nash equilibrium = pair of strategies x , y with x best response to y and y best response to x.

slide-3
SLIDE 3

Mixed equilibria

3 3 1 0 A = 2 5 B = 0 2 0 6 4 3 x = 1/3 yT = 1/3 2/3 2/3 3 Ay = 4 xTB = 8/3 8/3 4

  • nly pure best responses can have probability > 0
slide-4
SLIDE 4

Best response polyhedron H2 for player 2

= A

  • 1
  • 2
  • 3

y4 y5 2 3 6 5 3

H2 = { (y4, y5, u) |

  • 1 :

3y4 + 3y5≤ u

  • 2 :

2y4 + 5y5≤ u

  • 3 :

6y5≤ u y4 + y5 = 1 y4 ≥ 0 y5 ≥ 0

  • 4 :
  • 5 :

}

3

y 1 u

H

4

2 3 5 6

1 5 4 2

2

slide-5
SLIDE 5

Best response polytope Q for player 2

= A

Q = { y | Ay≤1, y≥0 }

  • 1
  • 2
  • 3

y4 y5 2 3 6 5 3

Q = { (y4, y5) |

  • 1 :

3y4 + 3y5≤ 1

  • 2 :

2y4 + 5y5≤ 1

  • 3 :

6y5≤ 1

  • 4 :

y4 ≥ 0

  • 5 :

y5 ≥ 0 }

y

4 5

y

4 1 2 3 5

slide-6
SLIDE 6

B < 1 P = { x | x > 0, x }

x3 x1 x2 x3 x1 x2 4 1 5 2 3

1 2 4 3

≤1 ≤1

= B

Best response polytope P for player 1

4

5

slide-7
SLIDE 7

Equilibrium = completely labeled pair

pure equilibrium

2 3 5 4 4 1 2 3 1 5

slide-8
SLIDE 8

Equilibrium = completely labeled pair

2

mixed equilibrium

3 5 4 4 1 2 3 1 5

slide-9
SLIDE 9

Convex equilibrium components

[Winkels 1979 / Jansen 1980] (x,y) is an equilibrium of (A,B) ⇔ (x,y) is in the convex hull of U x V , where all (u, v) ∈ U x V are completely labelled vertex pairs of P x Q – (0,0) Convex equilibrium components U x V = maximal cliques of bipartite graph

slide-10
SLIDE 10

u

1

u

2

u

3

u

4

v1 v3 v2 v4 Geometry:

Convex equilibrium components

slide-11
SLIDE 11

Clique enumeration

[Bron & Kerbosch 1973] Recursive bottom-up generation of maximal cliques by elegant backtracking and branch and bound. Adapted to bipartite graphs, outputs 2000 cliques / second independent of graph size.

slide-12
SLIDE 12

So far

Problem: Given: bimatrix game (A,B). What are its Nash equilibria? Overview: Any equilibrium is a convex combination of extreme equilibria = certain vertices of polytopes derived from A, B. Enumerate extreme equilibria (finitely many). Output convex equilibrium components.

slide-13
SLIDE 13

No efficient equilibrium enumeration

[Gilboa & Zemel 1989] Uniqueness of Nash equilibrium is NP -hard. ⇒ No output efficient enumeration of equilibria possible (unless P = NP ).

slide-14
SLIDE 14

The EEE algorithm

Audet, C., P. Hansen, B. Jaumard, and G. Savard (2001), Enumeration of all Extreme Equilibria of bimatrix games. SIAM Journal on Scientific Computing 23, 323-338.

  • depth-first exploration of search tree for both

polyhedra via parameterized LPs Our improvements:

  • stand-alone instead of using CPLEX
  • exact arithmetic instead of floating-point
  • much faster degenerate handling
slide-15
SLIDE 15

Equilibria via LP duality

x best response to y ⇔ solves primal LP: max xT(Ay) s.t. 1Tx = 1 x ≥ 0 dual LP: min u s.t. 1u ≥ Ay

  • ptimal ⇔ u = xTAy

complementary slackness: ⇔ x ≥ 0 ⊥ 1u ≥ Ay i.e. xT (1u − Ay) = 0

slide-16
SLIDE 16

Equilibria via LP duality

x best response to y y best response to x ⇔ solves primal LP: max xT(Ay) max (xTB)y s.t. 1Tx = 1 s.t. 1Ty = 1 x ≥ 0 y ≥ 0 dual LP: min u min v s.t. 1u ≥ Ay s.t. 1v ≥ BTx

  • ptimal ⇔ u = xTAy

v = xTBy complementary slackness: ⇔ x ≥ 0 ⊥ 1u ≥ Ay y ≥ 0 ⊥ 1v ≥ BTx i.e. xT (1u − Ay) = 0 yT (1v − BTx) = 0

slide-17
SLIDE 17

Equilibria via Linear Complementarity

x best response to y y best response to x ⇔ solves primal LP: max xT(Ay) max (xTB)y s.t. 1Tx = 1 s.t. 1Ty = 1 x ≥ 0 y ≥ 0 dual LP: min u min v s.t. 1u ≥ Ay s.t. 1v ≥ BTx

  • ptimal ⇔ u = xTAy

v = xTBy complementary slackness: ⇔ x ≥ 0 ⊥ 1u ≥ Ay y ≥ 0 ⊥ 1v ≥ BTx i.e. xT (1u − Ay) = 0 yT (1v − BTx) = 0

slide-18
SLIDE 18

Best response polyhedra

P = { (x, v) ∈Rm+1 | Q = { (y, u) ∈Rn+1 | x ≥ 0

Ay ≤ 1u BTx ≤ 1v

y ≥ 0 1Tx = 1 } 1Ty = 1 }

slide-19
SLIDE 19

Best response polyhedra

P = { (x, v) ∈Rm+1 | Q = { (y, u) ∈Rn+1 | x ≥ 0

Ay ≤ 1u BTx ≤ 1v

y ≥ 0 1Tx = 1 } 1Ty = 1 } with slack variables r, s: x, s ≥ 0 x ⊥ r r + Ay = 1u BTx + s = 1v s ⊥ y r, y ≥ 0 1Tx = 1 1Ty = 1

slide-20
SLIDE 20

Faces of P, Q via label sets K

Let K, L ⊆ M ∪ N = set of labels (pure stategies) P(K) = { (x, v) ∈ P | xi = 0, (BTx)j = v for i, j ∈K } [⇔ sj = 0 ] Q(L) = { (y, u) ∈ Q | (Ay)i = u, yj = 0 for i, j ∈L } [⇔ ri = 0 ]

slide-21
SLIDE 21

EEE - binary search tree

root: P, Q = P(∅), Q(∅) nodes: P(K), Q(L) with disjoint K, L binary branching: new label k added to K or L P(K), Q(L) P(K ∪ k ), Q(L) P(K), Q(L ∪ k )

slide-22
SLIDE 22

Face representatives

face P(K) of P represented by x ∈P(K), face Q(L) of L represented by y ∈Q(L). x ∈P(K), y ∈Q(L) P(K ∪ k), Q(L) P(K), Q(L ∪ k) new x, same y same x, new y

slide-23
SLIDE 23

Face representatives

face P(K) of P represented by x ∈P(K), face Q(L) of L represented by y ∈Q(L). x ∈P(K), y ∈Q(L) k=i: set xi=0 set ri=0 P(K ∪ i ), Q(L) P(K), Q(L ∪ i ) new x, same y same x, new y

slide-24
SLIDE 24

Face representatives

face P(K) of P represented by x ∈P(K), face Q(L) of L represented by y ∈Q(L). x ∈P(K), y ∈Q(L) k=j: set sj=0 set yj=0 P(K ∪ j ), Q(L) P(K), Q(L ∪ j ) new x, same y same x, new y

slide-25
SLIDE 25

To smaller-dimensional face via LP

x ∈P(K), y ∈Q(L) set xi=0 . . . P(K ∪ i ), Q(L) new x as solution to LP max xT(Ay) − v s.t. (x,v) ∈P(K), xi=0

slide-26
SLIDE 26

To smaller-dimensional face via LP

x ∈P(K), y ∈Q(L) set xi=0 . . . P(K ∪ i ), Q(L) new x as solution to LP max xT(Ay) − v s.t. (x,v) ∈P(K), xi=0 if infeasible: terminate search, backtrack (depth-first search)

slide-27
SLIDE 27

To smaller-dimensional face via LP

x ∈P(K), y ∈Q(L) set xi=0 . . . P(K ∪ i ), Q(L) new x as solution to LP max xT(Ay) − v s.t. (x,v) ∈P(K), xi=0 in LP tableau: drive xi out of basis (use tableau row to minimize xi), then delete cobasic column for xi

slide-28
SLIDE 28

Choice of label to branch on

given node with x ∈P(K), y ∈Q(L), branch on k that violates complementarity most, i.e. k = arg max { xiri , sjyj | i , j ∉ K ∪ L} ⇒ hope to discover infeasibility quickly to prune search tree.

slide-29
SLIDE 29

Choice of label to branch on

given node with x ∈P(K), y ∈Q(L), branch on k that violates complementarity most, i.e. k = arg max { xiri , sjyj | i , j ∉ K ∪ L} possible: max { xiri , sjyj } = 0 ⇔ (x,y) equilibrium, but: is ignored unless |K| = m, |L| = n (Nash equilibrium at leaf of search tree, node at depth m+n ).

slide-30
SLIDE 30

Choice of objective function

given y ∈Q(L), x ∈P(K ∪ k) is solution to LP max xT(Ay) − v s.t. (x,v) ∈P(K ∪ k) given x ∈P(K), y ∈Q(L ∪ k) is solution to LP max (xTB)y − u s.t. (y,u) ∈Q(L ∪ k)

slide-31
SLIDE 31

Choice of objective function

given y ∈Q(L), x ∈P(K ∪ k) is solution to LP max xT(Ay) − v s.t. (x,v) ∈P(K ∪ k) given x ∈P(K), y ∈Q(L ∪ k) is solution to LP max (xTB)y − u s.t. (y,u) ∈Q(L ∪ k) Why these objective functions? Their sum xT(Ay) + (xTB)y − u − v [ ≤ 0 ] is negative of duality gap, try to make that zero!

slide-32
SLIDE 32

Other objective functions

ignoring y ∈Q(L), x ∈P(K ∪ k) is solution to LP max − v s.t. (x,v) ∈P(K ∪ k) ignoring x ∈P(K), y ∈Q(L ∪ k) is solution to LP max − u s.t. (y,u) ∈Q(L ∪ k) find lowest point on upper envelope

slide-33
SLIDE 33

Other objective functions

x ∈P(K ∪ k) is solution to LP max 0 s.t. (x,v) ∈P(K ∪ k) y ∈Q(L ∪ k) is solution to LP max 0 s.t. (y,u) ∈Q(L ∪ k) find feasible vertex ⇒ still on upper envelope

slide-34
SLIDE 34

Run time comparisons [sec]

Objective function Random (average) 17 x 17 57 NE Guessing Game 22 x 22 3 NE Dollar Game 10 x 10 91 NE

P: max xTAy − v Q: max xTBy − u

186 44 126

P: max −v Q: max −u

408 185 119

P: max 0 Q: max 0

397 169 117

P: max xT(A+B)y − v Q: max xT(A+B)y − u

146 33 122

slide-35
SLIDE 35

Extra multiple branching needed

In degenerate games, not all extreme equilibria appear at level m+n in the binary search tree. Audet et al. add multiple branches at level m+n: each positive variable xi , sj , ri , yj at that level is attempted to be set to zero (typically infeasible, m+n extra pivots), continuing search. One observes a very high number of extra nodes for degenerate games.

slide-36
SLIDE 36

Example of original EEE search tree

A = 2 5 2 5

  • B =

3 4 5 4

  • 51

66 52 63 65 64 53 55 62 61 60 56 59 58 57 54 1 39 41 50 42 49 48 44 47 46 45 43 40 2 26 38 27 37 33 36 35 34 29 32 31 30 28 3 15 22 25 24 23 21 20 16 19 18 17 4 11 14 13 12 7 10 9 8 6 5

slide-37
SLIDE 37

Improved EEE search tree

A = 2 5 2 5

  • B =

3 4 5 4

  • 20

28 21 25 27 26 22 24* 23 1 15 17 19 18* 16 2 10 14 11 13* 12 3 7* 9 8 4 6 5*

slide-38
SLIDE 38

Polyhedra for example

A = 2 5 2 5

  • B =

3 4 5 4

  • 4

3

2

1 2

P

v

2 5

1

3 4

prob( )

1 2 4 3

4

1 u

Q

2 5

prob( )

slide-39
SLIDE 39

Extreme equilibria

A = 2 5 2 5

  • B =

3 4 5 4

  • 4

3

2

1 2

P

v

2 5

1

3 4

prob( )

1 2 4 3

4

1 u

Q

2 5

prob( )

slide-40
SLIDE 40

One equilibrium missed by objective function

A = 2 5 2 5

  • B =

3 4 5 4

  • 4

3

2

1 2

P

v

2 5

1

3 4

prob( )

1 2 4 3

4

1 u

Q

2 5

prob( )

not found

slide-41
SLIDE 41

Improved degeneracy treatment

Vertices are missed due to redundant equalities (degeneracy in description of polyhedron!). These appear as zero rows in tableaux and cannot be made cobasic. ⇒ delete zero row, keep extra cobasic variable;

  • nly these extra cobasic variables are searched

(eliminated) beyond search level m+n.

slide-42
SLIDE 42

Run time comparisons

Degeneracy check Guessing Game 5 NE Dollar Game 73 NE

Original EEE time nodes pivots

0.36 427 530 14806.06 279020949 20326989

Improved EEE time nodes pivots

0.37 337 530 25.25 141531 43987