2/16/17 1 CSCI 3210: Computational Game Theory Mohammad T. Irfan Email: [email protected]Web: www.bowdoin.edu/~mirfan Course Website: www.bowdoin.edu/~mirfan/CSCI-3210.html Linear Programming and 2-Player Zero-Sum Games Ref: Wikipedia and [AGT] Ch 1 2-player zero-sum game Prove that NE exists– in two ways 1. Nash's theorem Doesn't give an algorithm (why?) 2. Linear programming Gives an algorithm (next assignment)
20
Embed
CSCI 3210: Computational Game Theory Linear Programming ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Linear Programming and 2-Player Zero-Sum Games Ref: Wikipedia and [AGT] Ch 1
2-player zero-sum game
u Prove that NE exists– in two ways
1. Nash's theorem u Doesn't give an algorithm (why?)
2. Linear programming u Gives an algorithm (next assignment)
2/16/17
2
Example: 2-player zero-sum game
u Penalty kick game
Left (0.42)
Right (0.58)
Left (0.38)
0.58, 0.42
0.95, 0.05
Right (0.62)
0.93, 0.07
0.70, 0.30
Shoo
ter
Goalkeeper
Example: 2-player zero-sum game
u Fictitious game
u Assumption (wlog): sum of payoffs in each cell is 0
u More than 2 actions? u Need an algorithm
L R
U 2, -2 -1, 1
D -3, 3 4, -4
Row
pla
yer
Column player
L R
U 2 -1
D -3 4
2/16/17
3
Linear Programming (LP)
Will come back to game theory later
Applications
u Optimization u Production, machine scheduling, employee
scheduling, supply chain management, etc.
u Game theory
u In general– optimization
2/16/17
4
LP
1. Variables (or decision variables) u We can choose the values of these variables
u Why/what's the goal?
u What values can we choose?
2. Objective function (Why?) u Minimization or maximization
u Must be linear in the variables
3. Constraints (What values?) u Restricts the values of choice variables
u Must be linear in the variables
Example
u I'm planning my day-to-day life. Outside of 10 hours of sleep every day, I want to set aside a few hours for studying and a few hours for enjoying other things in life.
u I get 10 units of payoff from every hour of study and 20 units of payoff from every hour of other activities.
u I know that I must study at least 6 hours every day (to avoid getting fired from Bowdoin). Also, I feel guilty if I spend more than 6 hours on other activities.
u How should I allocate my time optimally? u Variables? u Objective function? u Constraints?
2/16/17
5
LP formulation
u Maximize 10 x1 + 20 x2
u Subject to
x1 >= 6
x2 <= 6
x1 + x2 <= 14
x1, x2 >= 0
Geometric interpretation
u Maximize 10 x1 + 20 x2
u Subject to
x1 >= 6
x2 <= 6
x1 + x2 <= 14
x1, x2 >= 0
u Draw the "feasible region"
2/16/17
6
x1
x2
(0,0) 14
14
6
6
Note: x1, x2 >= 0: white region
Feasible region
One of the vertices (black dots) will give the optimal solution
Example: infeasible LP
u I want to study at least 10 hours/day and do other activities for at least 5 hours/day. How should I allocate my time?
u Maximize 10 x1 + 20 x2
u Subject to
x1 >= 10
x2 >= 5
x1 + x2 <= 14
x1, x2 >= 0
2/16/17
7
Example: more var. & constraints
u I get 15 units of payoff from every hour of study up to 3 hours and then 10 units of payoff from each additional hour of study (basically, my brain slows down). I also get 20 units of payoff from every hour of other activities. Everything else is unchanged.
u Intuition: dual gives the value of primal constraints u Moulton wants to borrow Thorne's equipment for a day.
Thorne wants to charge "reasonable" prices $y1/min, $y2/min, and $y3/min for the 3 equipment, resp.
u Dual objective: minimize total cost of renting
u Dual constraints: recuperate lost payoff for each dessert
2/16/17
12
Another example: LP duality
Primal LP
Maximize 10 x1 + 20 x2
Subject to
x1 >= 6 (or, -x1 <= -6)
x2 <= 6
x1 + x2 <= 14
x1, x2 >= 0
Dual LP
Minimize -6 y1 + 6 y2 + 14 y3
Subject to
-y1 + y3 >= 10
y2 + y3 >= 20
y1, y2, y3 >= 0
Work out the solutions by hand
Complementary slackness
u primal constraint non-binding (not equal) => corresponding dual variable = 0 u Similar condition holds for dual constr. & primal
var.
u The reverse implication may not hold
2/16/17
13
Weak duality theorem
Primal LP
Maximize ...
Dual LP
Minimize ...
Increasing objective function
Gap?
Weak duality theorem
u Any feasible solution of the dual LP (minimization) gives an upper bound on the optimal solution of the primal LP (maximization).
u Proof
u Any feasible solution of the primal LP (maximization) is a lower bound on the optimal solution of the dual LP (minimization).
Primal LP (max)
Dual LP (min)
Increasing objective function
Gap?
2/16/17
14
Weak duality theorem
u Implications u Primal unbounded è Dual infeasible
u Dual unbounded è Primal infeasible
u Both primal and dual may be infeasible (although not implied by this theorem)
Primal LP (max)
Dual LP (min)
Increasing objective function
Gap?
Strong duality theorem
u If the primal LP has a finite optimal solution, then so does the dual LP. Moreover, these two optimal solutions have the same objective function value. u In other words, if either the primal or the dual LP
has a finite optimal solution, the gap between them is 0.
2/16/17
15
2-player zero-sum game
Algorithm via LP duality
Example: 2-player zero-sum game
u Assumption (wlog): sum of payoffs in each cell is 0
L R
U 2, -2 -1, 1
D -3, 3 4, -4
Row
pla
yer
Column player
L R
U 2 -1
D -3 4
Matrix A
2/16/17
16
Row player
u How much (vr) can row player guarantee self?
u Mixed strategy p (vector of probabilities)
u Expected payoff of column player for action j = (pTA)j = Σi (pi Ai,j)
u LP
vr = max v
subject to
piAi, ji∑ ≥ v, for each action j of column player
pi =1i∑
pi ≥ 0, for each action i of row player
Row player's thought process: maximize my guaranteed payoff v from column player knowing that column player will always minimize her payout to me (in other words, v is the least for any action j of column player).
Column player
u How much (vc) can col. player guarantee self?
u Mixed strategy q (vector of probabilities)
u Expected payoff of row player for action i = (Aq)i = Σj (Ai,j qj)
u LP vc = min u subject to
Col. player's thought process: minimize my guaranteed payout u to row player knowing that row player will choose to maximize her payoff.
Ai, jq jj∑ ≤ u, for each action i of row player
qj =1j∑
qj ≥ 0, for each action j of column player
2/16/17
17
Minimax Theorem
u At an equilibrium, vr = vc
u Proof:
1. The two LPs are duals of each other.
2. Primal LP has a finite optimal solution (it's feasible + bounded).
3. By duality theorem, vr = vc.
u Another proof: 1. Let v* be row player's payoff at a NE.
2. vr <= v*, because is vr is row player's guaranteed payoff and v* cannot be lower than that.
3. By assumption of NE, column player will not give row player more than vr. So, vr = v*. SImilarly, vc = v*.
u This quantity vc or vr is known as the value of the game (v*)
Example: Infinite game with no NE
u 2-player game
u Actions: Any real number in [0, 1] u Infinite # of actions
u Payoffs: same as action, unless both players choose 1, in which case both get 0.
u No mixed NE (therefore no pure NE)
u Many infinite games do have NE!
2/16/17
18
More LP duality example
Vertex cover problem
Vertex cover problem
u Given a graph, select the minimum number of nodes such that at least one endpoint of every edge is selected.
u Answer?
4
5 6
7
8 9
2
3
1 0
2/16/17
19
Optimization
u xt is 1 if node t is picked and 0 otherwise
u Is the following a usual linear program?
Minimize Σt xt
Subject to
xu + xv >= 1, for each edge (u, v)
xt ε {0, 1}, for each node t
Integer linear program (ILP) In general "NP-hard" to solve
LP relaxation
Minimize Σt xt
Subject to
xu + xv >= 1, for each edge (u, v)
xt >= 0, for each node t
Approximation algorithm: Rounding the LP solution gives a
2-approximation
2/16/17
20
Dual of LP relaxation
u Primal
Minimize Σt xt
Subject to
xu + xv >= 1, for each edge (u, v)
xt >= 0, for each node t
u Dual
Maximize Σe ye
Subject to
Σall edges e incident on t ye <= 1, for each node t
ye >= 0, for each edge e
c and b are vectors of 1s.
Maximum matching problem (relaxed)
Maximum matching problem
u Select the maximum number of edges so that the selected edges do not share any vertex.