Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Algorithmic Game Theory
Lecture 3
04/27/10
1
2
Some notation
We consider a 2-player normal-form game given in matrix form (a bimatrix game) (A,B):
A ∈ Rm×n - the row player’s payoff matrix
B ∈ Rm×n - the column player’s payoff matrix
We denote the players’ pure strategies asand , respectively.
M = {1, . . . ,m}N = {m + 1, . . . ,m + n}
We denote the rows of A by and the rows of by .
ai, i ∈ M,bj , j ∈ NBT
Mixed strategies are vectors from and . Components of are .
X =�x ∈ Rm
�� �x�1 = 1�
Y =�y ∈ Rn
�� �y�1 = 1�
y ∈ Yyi, i ∈ N
3
Some notationaiy - row player’s expected payoff for pure strategy
when column player is playing mixed strategy ybjx - column player’s expected payoff for pure strategy
when row player is playing mixed strategy x
Players’ payoffs given strategy profile (x,y) areand .
and likewise for .
We define the support of a mixed strategy as
Supp(x) =�i ∈ M
�� xi > 0�,
x ∈ Rm
y ∈ Rn
xT AyxT By
i ∈ M
j ∈ N
4
Some notation
Proposition 1The mixed strategy pair (x,y) is a Nash equilibrium of (A,B), if and only if for all and we havei ∈ M j ∈ N
j ∈ Supp(y) ⇒ bjx = maxk∈N
bkx.
i ∈ Supp(x) ⇒ aiy = maxk∈M
aky,
We say (A,B) is non-degenerate if to any mixed strategy z (of the row or column player), the number of pure best responses to z is at most the size of the support of z.
5
Some geometry
A (convex) polyhedron H in is a setfor some , , i.e., an intersection of halfspaces.A bounded polyhedron is called a polytope.
Rd {z ∈ Rd |Cz ≤ q}C ∈ Rk×d q ∈ Rk
A face of H is a set , where the inequality holds for all .
{z ∈ H | cTz = α}
cT z ≤ α z ∈ H
A 0-dimensional face is called vertex, a 1-dimensional face an edge, a (d-1)-dimensional face a facet.
All faces of a polyhedron can be obtained by turning some of its defining inequalities into equalities. A facet is characterized by a single binding inequality.
6
Some geometry
A 3-dimensional polytope:
facetvertex
edge
7
Some geometry
A polyhedron H is simple, if no point of H belongs to more than d of its facets.
Every vertex of a simple polyhedron is characterized by exactly d binding inequalities.
H ⊂ Rd
Not Simple: Simple:
8
Finding Nash equilibria
For our bimatrix game (A,B), we consider the following polyhedra:
H1 =�
(x, v) ∈ Rm × R��� x ∈ X, B
Tx ≤ (v, . . . , v)T
�
H2 =�
(y, u) ∈ Rn × R��� y ∈ Y,Ay ≤ (u, . . . , u)T
�
If (A,B) is non-degenerate, then the polyhedra aresimple.
H1, H2
9
We label the vertices of these polyhedra with the indices of their binding inequalities (except ). Let (x,v) and (y,u) be vertices and
Finding Nash equilibria
L(x, v) =�i�� xi = 0
�∪
�j�� bjx = v
�
�j�� yj = 0
�∪
�i�� biy = u
�L(y, u) =
�x�1 = 1, �y�1 = 1
Theorem 1
A mixed strategy profile (x,y) is a Nash equilibrium of the game (A,B), if and only if there exist u,v such that
L(x, v) ∪ L(y, u) = M ∪N.
.
,
10
Mixed equilibria
3 3 1 0A = 2 5 B = 0 2
0 6 4 3
0x = 1/3 yT = 1/3 2/3
2/3
3Ay = 4 xTB = 8/3 8/3
4
only pure best responses can have probability > 0
Finding Nash equilibria
An example of a bimatrix game:
11
Best response polyhedron H2 for player 2
= A�1�2�3
y4 y5
023
653
H2 = { (y4, y5, u) |�1 : 3y4 + 3y5≤ u�2 : 2y4 + 5y5≤ u�3 : 6y5≤ u
y4 + y5 = 1
y4 ≥ 0y5 ≥ 0
�4 :�5 : }
3
y
0 1
u
H
40
2
3
5
6
1
54
2
2
Best response polyhedron H2 for player 2
= A�1�2�3
y4 y5
023
653
H2 = { (y4, y5, u) |�1 : 3y4 + 3y5≤ u�2 : 2y4 + 5y5≤ u�3 : 6y5≤ u
y4 + y5 = 1
y4 ≥ 0y5 ≥ 0
�4 :�5 : }
3
y
0 1
u
H
40
2
3
5
6
1
54
2
2
Best response polyhedron H2 for player 2
= A�1�2�3
y4 y5
023
653
H2 = { (y4, y5, u) |�1 : 3y4 + 3y5≤ u�2 : 2y4 + 5y5≤ u�3 : 6y5≤ u
y4 + y5 = 1
y4 ≥ 0y5 ≥ 0
�4 :�5 : }
3
y
0 1
u
H
40
2
3
5
6
1
54
2
2
Finding Nash equilibria
12
Finding Nash equilibria
We define the following polytopes:
P =�
x ∈ Rm��� x ≥ 0, BT x ≤ (1, . . . , 1)T
�
Q =�
y ∈ Rn��� y ≥ 0, Ay ≤ (1, . . . , 1)T
�
Vertices of have exactly m labels.P
Analogous arguments apply to and .H2 Q
Note: and define bijections between and . Binding inequalities in correspond to binding inequalities in . In particular, vertices have the same labels.
(x, v)→ (1/v)x x →�(1/�x�1)x, (1/�x�1)
�
H1 H1
PP
13
Projective transformation
H2,Q same face incidences
�
�
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✲
✻
0 y j y j0
1
u
��
��
�
✲
✻
✒
✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟
★★
★★★
★★
★★
★★
★★
★★
★★
★★
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✂✂✂✂
✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂
H2
y40
1
u
y5
�4
�3
�2
�1
�5
��
..................
............... �� � �
❇❇❇❇❇❇❇❇❇❇❇❇❆❆❆❆❆❆❆❆
❅❅
❅❅
Q
��
�
�
❅❅
❅❅
❅❅
❅❅
❅❅
❅❅
��
�
Projective transformation
H2,Q same face incidences
�
�
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✲
✻
0 y j y j0
1
u
��
��
�
✲
✻
✒
✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟✟
★★
★★★
★★
★★
★★
★★
★★
★★
★★
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✡✡
✂✂✂✂
✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂
H2
y40
1
u
y5
�4
�3
�2
�1
�5
��
..................
............... �� � �
❇❇❇❇❇❇❇❇❇❇❇❇❆❆❆❆❆❆❆❆
❅❅
❅❅
Q
��
�
�
❅❅
❅❅
❅❅
❅❅
❅❅
❅❅
��
�
Finding Nash equilibria
Projecting onto :H2 Q
Introduces extra vertex (0,0).
14
Best response polytope Q for player 2
= AQ = { y | Ay≤1, y≥0 }�1
�2�3
y4 y5
023
653
Q = { (y4, y5) |�1 : 3y4 + 3y5≤ 1�2 : 2y4 + 5y5≤ 1�3 : 6y5≤ 1
�4 : y4 ≥ 0�5 : y5 ≥ 0 }
y4
5y
4 1
23
5
Best response polytope Q for player 2
= AQ = { y | Ay≤1, y≥0 }�1
�2�3
y4 y5
023
653
Q = { (y4, y5) |�1 : 3y4 + 3y5≤ 1�2 : 2y4 + 5y5≤ 1�3 : 6y5≤ 1
�4 : y4 ≥ 0�5 : y5 ≥ 0 }
y4
5y
4 1
23
5
Best response polytope Q for player 2
= AQ = { y | Ay≤1, y≥0 }�1
�2�3
y4 y5
023
653
Q = { (y4, y5) |�1 : 3y4 + 3y5≤ 1�2 : 2y4 + 5y5≤ 1�3 : 6y5≤ 1
�4 : y4 ≥ 0�5 : y5 ≥ 0 }
y4
5y
4 1
23
5
Finding Nash equilibria
15
B < 1P = { x | x > 0, x }
x3
x1
x2
x3
x1x2
4
1
52
3
1 02
4 30
!1!1
= B
Best response polytope P for player 1
4
5
4 5
x1
x2
x3
x1 + 4x3
2x2 + 3x3 ≤
≥ 0
1
≤
≥≥
1
0
0
Best response polytope Q for player 2
= AQ = { y | Ay≤1, y≥0 }�1
�2�3
y4 y5
023
653
Q = { (y4, y5) |�1 : 3y4 + 3y5≤ 1�2 : 2y4 + 5y5≤ 1�3 : 6y5≤ 1
�4 : y4 ≥ 0�5 : y5 ≥ 0 }
y4
5y
4 1
23
5
Best response polytope Q for player 2
= AQ = { y | Ay≤1, y≥0 }�1
�2�3
y4 y5
023
653
Q = { (y4, y5) |�1 : 3y4 + 3y5≤ 1�2 : 2y4 + 5y5≤ 1�3 : 6y5≤ 1
�4 : y4 ≥ 0�5 : y5 ≥ 0 }
y4
5y
4 1
23
5
P = { (x1,x2,x3) |
}
B < 1P = { x | x > 0, x }
x3
x1
x2
x3
x1x2
4
1
52
3
1 02
4 30
!1!1
= B
Best response polytope P for player 1
4
5
Finding Nash equilibria
B < 1P = { x | x > 0, x }
x3
x1
x2
x3
x1x2
4
1
52
3
1 02
4 30
!1!1
= B
Best response polytope P for player 1
4
5
B < 1P = { x | x > 0, x }
x3
x1
x2
x3
x1x2
4
1
52
3
1 02
4 30
!1!1
= B
Best response polytope P for player 1
4
5
16
The Lemke-Howson Algorithm
Start at special vertices of polytopes , .
v = w = (0, . . . , 0)
In P, drop some label k (i.e., relax the corresp. binding inequality) and follow the edge defined by the remaining binding inequalities to an adjacent vertex .v
While {L(v) ∪ L(w) �= M ∪N
}
Alternatingly in Q and P, drop the labeland update or by following the edge of or defined by the remaining binding inequalities to an adjacent vertex.
� ∈ L(v) ∩ L(w)w v PQ
P Q
17
The Lemke!Howson algorithm
2
3
5
4
4 1
2
1
5
3
The Lemke-Howson AlgorithmThe Lemke!Howson algorithm
2
Drop label 33
5
4
4 1
2
1
5
3
The Lemke!Howson algorithm
2
Drop label 33
5
4
4 1
2
1
5
3
The Lemke!Howson algorithm
2
Drop label 33
5
4
4 1
2
1
5
3
18
The Lemke-Howson AlgorithmThe Lemke!Howson algorithm
2
Drop label 33
5
4
4 1
2
1
5
3
The Lemke!Howson algorithm
2
Drop label 33
5
4
4 1
2
1
5
3
The Lemke!Howson algorithm
2
Drop label 33
5
4
4 1
2
1
5
3
The Lemke!Howson algorithm
2
Drop label 33
5
4
4 1
2
1
5
3
19
The Lemke-Howson Algorithm
Let be the vertices of polytopes P, Q. We define a graph G on vertices with edges
V,WV ×W
�(v, w), (v�, w)
�, if
��L(v) ∩ L(v�)�� = m− 1,
�(v, w), (v, w�)
�, if
��L(w) ∩ L(w�)�� = n− 1.
Call completely labeled if , k-almost completely labeled if .
(v, w) L(v) ∪ L(w) = M ∪NL(v) ∪ L(w) = (M ∪N)\{k}
The LH algorithm follows a path through G along k-almost completely labeled vertices.
20
The Lemke-Howson Algorithm
Every completely labeled vertex of G is adjacent to exactly one k-almost completely labeled vertex.
Every k-almost completely labeled vertex of G has exactly two (k-almost) completely labeled neighbors.
G
0 NE
NE
NE
21
Implementation: Pivoting
How do we traverse a polytope
P =�
x ∈ Rm��� x ≥ 0, BT x ≤ (1, . . . , 1)T
�
along its edges algebraically? Consider the system
BT x + Is = 1,
, where is a vector of slack variables, is the identity matrix and the all-ones vector.x, s ≥ 0 s ∈ Rn I ∈ Rn×n
1 ∈ Rn
Letβ(x, s) =
�i ∈ M
�� xi > 0�∪
�j ∈ N
�� sj > 0�.
22
Implementation: Pivoting
We are interested in those , where is a basis of .(x, s) β(x, s) Rn
Each basis corresponds to a a set of tight inequalities / labels:
j /∈ β(x, s)⇔ sj = 0⇔ bjx = 1⇔ j ∈ L(x)
i /∈ β(x, s)⇔ xi = 0⇔ i ∈ L(x)
Thus, dropping a label or is equivalent to switching to a new basis including the corresponding column vector or .
i jBT
i ej−m
TβLet consist of the column vectors defining the currently selected basis . We store the systemβ
T−1β
�BT x + Is
�= T−1
β 1.
23
Implementation: Pivoting
In and , the columns corresponding to appear as unit vectors.
T−1β BT T−1
β I β
T−1β� TβA basis transformation corresponds to a Gaussian
elimination transforming the column vector entering the basis into a unit vector.
Let this vector be and .c k = argmini∈N :ci>0
(T−1β 1)i
ci
�T−1
β BT T−1β I
��� T−1β 1
�We call
a tableau.
Such an index exists by the boundedness of , and we obtain a new feasible basis (i.e., with ) by transforming into .
k Px, s ≥ 0 c ek
24
Implementation: Pivoting
B < 1P = { x | x > 0, x }
x3
x1
x2
x3
x1x2
4
1
52
3
1 02
4 30
!1!1
= B
Best response polytope P for player 1
4
5
4 5
x1
x2
x3
x1 + 4x3
2x2 + 3x3 ≤
≥ 0
1
≤
≥≥
1
0
0
Best response polytope Q for player 2
= AQ = { y | Ay≤1, y≥0 }�1
�2�3
y4 y5
023
653
Q = { (y4, y5) |�1 : 3y4 + 3y5≤ 1�2 : 2y4 + 5y5≤ 1�3 : 6y5≤ 1
�4 : y4 ≥ 0�5 : y5 ≥ 0 }
y4
5y
4 1
23
5
Best response polytope Q for player 2
= AQ = { y | Ay≤1, y≥0 }�1
�2�3
y4 y5
023
653
Q = { (y4, y5) |�1 : 3y4 + 3y5≤ 1�2 : 2y4 + 5y5≤ 1�3 : 6y5≤ 1
�4 : y4 ≥ 0�5 : y5 ≥ 0 }
y4
5y
4 1
23
5
P = { (x1,x2,x3) |
}
1 0 4 1 0 10 2 3 0 1 1
x1 x2 x3
41 2 3 5s4 s5
25
Implementation: Pivoting
1 0 4 1 0 10 2 3 0 1 1
x1 x2 x3
41 2 3 5
drop 3
drop 1
s4 s5
1 2 3{ , , }
1 2 41/4 0 1 1/4 0 1/4
-3/4 2 0 -3/4 1 1/4{ , , }
2 3 4 1 0 4 1 0 10 2 3 0 1 1
{ , , }
P:
{ , }
26
Implementation: Pivoting
3 3 1 0 0 12 5 0 1 0 1
4 1 2 35
drop
1
4
Q:y4 y5 t1 t2 t3
50 6 0 0 1 1
41 1 1/3 0 0 1/3
0 3 -2/3 1 0 1/3
0 6 0 0 1 1{ , }5