game theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... ·...

48
Game Theory 4. Algorithms Albert-Ludwigs-Universität Freiburg Bernhard Nebel and Robert Mattmüller May 15th, 2017

Upload: others

Post on 31-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Game Theory4. Algorithms

Albert-Ludwigs-Universität Freiburg

Bernhard Nebel and Robert MattmüllerMay 15th, 2017

Page 2: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Motivation

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 2 / 36

Page 3: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Motivation

We know: In finite strategic games, mixed-strategy Nashequilibria are guaranteed to exist.We don’t know: How to systematically find them?Challenge: There are infinitely many mixed strategyprofiles to consider. How to do this in finite time?

This chapter:Computation of mixed-strategy Nash equilibria forfinite zero-sum games.Computation of mixed-strategy Nash equilibria forgeneral finite two player games.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 4 / 36

Page 4: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 5 / 36

Page 5: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Digression:We briefly discuss linear programming because we will usethis technique to find Nash equilibria.

Goal of linear programming:Solving a system of linear inequalities over n real-valuedvariables while optimizing some linear objective function.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 7 / 36

Page 6: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

ExampleProduction of two sorts of items with time requirements andprofit per item. Objective: Maximize profit.

Cutting Assembly Postproc. Profit per item(x) sort 1 25 60 68 30(y) sort 2 75 60 34 40per day ≤ 450 ≤ 480 ≤ 476 maximize!

Goal: Find numbers of pieces x of sort 1 and y of sort 2 to beproduced per day such that the resource constraints are metand the objective function is maximized.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 8 / 36

Page 7: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., formalization)

x ≥ 0, y ≥ 0 (1)25x +75y ≤ 450 (or y ≤ 6− 1/3 x) (2)60x +60y ≤ 480 (or y ≤ 8−x) (3)68x +34y ≤ 476 (or y ≤ 14−2x) (4)

maximize z = 30x +40y (5)

Inequalities (1)–(4): Admissible solutions(They form a convex set in R2.)

Line (5): Objective function

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 9 / 36

Page 8: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 9: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x + 40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 10: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 x

y = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 11: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 x

y = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 12: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 13: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 14: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 15: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 16: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 17: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 18: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 19: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 20: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 21: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Example (ctd., visualization)

x ≥ 0, y ≥ 0y ≤ 6− 1/3 xy ≤ 8−xy ≤ 14−2x

max z = 30x +40y

x

y

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

123456789

1011121314

0

y = 6− 1/3 xy = 8−x

y = 14−2x

z = 0

z = 240

z = 210

z = 260

z = 290 ⇒ optimal solution at (3,5)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 10 / 36

Page 22: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Definition (Linear program)A linear program (LP) in standard from consists of

n real-valued variables xi ; n coefficients bi ;m constants cj ; n ·m coefficients aij ;m constraints of the form

cj ≤n

∑i=1

aijxi ,

and an objective function to be minimized (xi ≥ 0)

n

∑i=1

bixi .

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 11 / 36

Page 23: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Solution of an LP:assignment of values to the xi satisfying the constraints andminimizing the objective function.

Remarks:Maximization instead of minimization: easy, just changethe signs of all the bi ’s, i = 1, . . . ,n.Equalities instead of inequalities: x +y ≤ c if and only ifthere is a z ≥ 0 such that x +y +z = c (z is called a slackvariable).

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 12 / 36

Page 24: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Programming

Solution algorithms:Usually, one uses the simplex algorithm(which is worst-case exponential!).There are also polynomial-time algorithms such asinterior-point or ellipsoid algorithms.

Tools and libraries:lp_solveCLPGLPKCPLEXgurobi

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 13 / 36

Page 25: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Zero-Sum Games

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 14 / 36

Page 26: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Mixed-Strategy Nash Equilibria in FiniteZero-Sum Games

We start with finite zero-sum games for two reasons:They are easier to solve than general finite two-playergames.Understanding how to solve finite zero-sum gamesfacilitates understanding how to solve general finitetwo-player games.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 16 / 36

Page 27: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Mixed-Strategy Nash Equilibria in FiniteZero-Sum Games

In the following, we will exploit the zero-sum property of agame G when searching for mixed-strategy Nash equilibria.For that, we need the following result.

PropositionLet G be a finite zero-sum game. Then the mixed extension ofG is also a zero-sum game.

Proof.Homework.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 17 / 36

Page 28: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Mixed-Strategy Nash Equilibria in FiniteZero-Sum Games

Let G be a finite zero-sum game with mixed extension G′.

Then we know the following:1 Previous proposition implies: G′ is also a zero-sum game.2 Nash’s theorem implies: G′ has a Nash equilibrium.3 Maximinimizer theorem + (1) + (2) implies: Nash equilibria

and pairs of maximinimizers in G′ are the same.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 18 / 36

Page 29: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Mixed-Strategy Nash Equilibria in FiniteZero-Sum Games

Consequence:When looking for mixed-strategy Nash equilibria in G, it issufficient to look for pairs of maximinimizers in G′.

Method: Linear Programming

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 19 / 36

Page 30: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Program Encoding

Approach:Let G = 〈N, (Ai)i∈N , (ui)i∈N〉 be a finite zero-sum game:

N = {1,2}.A1 and A2 are finite.U1(α,β ) =−U2(α,β ) for all α ∈ ∆(A1),β ∈ ∆(A2).

Player 1 looks for a maximinimizer mixed strategy α .For each possible α of player 1:

Determine expected utility against best response of pl. 2.(Only need to consider finitely many pure candidates forbest responses because of Support Lemma).Maximize expected utility over all possible α .

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 20 / 36

Page 31: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Program Encoding

Result: maximinimizer α for player 1 in G′(= Nash equilibrium strategy for player 1)

Analogously: obtain maximinimizer β for player 2 in G′(= Nash equilibrium strategy for player 2)

With maximinimizer theorem: we can combine α and β

into a Nash equilibrium.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 21 / 36

Page 32: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Program Encoding

“For each possible α of player 1, determine expected utilityagainst best response of player 2, and maximize.”

translates to the following LP:

α(a)≥ 0 for all a ∈ A1

∑a∈A1

α(a) = 1

U1(α,b) = ∑a∈A1

α(a) ·u1(a,b)≥ u for all b ∈ A2

Maximize u.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 22 / 36

Page 33: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Program Encoding

Example (Matching pennies)H T

H 1,−1 −1, 1

T −1, 1 1,−1

Linear program for player 1:Maximize u subject to the constraints

α(H)≥ 0, α(T )≥ 0, α(H) + α(T ) = 1,α(H) ·u1(H,H) + α(T ) ·u1(T ,H) = α(H)−α(T )≥ u,

α(H) ·u1(H,T ) + α(T ) ·u1(T ,T ) =−α(H) + α(T )≥ u.

Solution: α(H) = α(T ) = 1/2, u = 0.May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 23 / 36

Page 34: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Linear Program Encoding

Remark: There is an alternative encoding based on theobservation that in zero-sum games that have a Nashequilibrium, maximinimization and minimaximization yieldthe same result.Idea: Formulate linear program with inequalities

U1(a,β )≤ u for all a ∈ A1

and minimize u. Analogously for β .

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 24 / 36

Page 35: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

General Finite Two-PlayerGames

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 25 / 36

Page 36: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

General Finite Two-Player Games

For general finite two-player games, the LP approachdoes not work.Instead, use instances of the linear complementarityproblem (LCP):

Linear (in-)equalities as with LPs.Additional constraints of the form xi ·yi = 0(or equivalently xi = 0∨yi = 0)for variables X = {x1, . . . ,xk} and Y = {y1, . . . ,yk}, andi ∈ {1, . . . ,k}.no objective function.

With LCPs, we can compute Nash equilibria for arbitraryfinite two-player games.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 27 / 36

Page 37: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

General Finite Two-Player Games

Let A1 and A2 be finite and let (α,β ) be a Nash equilibriumwith payoff profile (u,v). Then consider this LCP encoding:

u−U1(a,β )≥ 0 for all a ∈ A1 (6)v−U2(α,b)≥ 0 for all b ∈ A2 (7)

α(a) · (u−U1(a,β )) = 0 for all a ∈ A1 (8)β (b) · (v−U2(α,b)) = 0 for all b ∈ A2 (9)

α(a)≥ 0 for all a ∈ A1 (10)

∑a∈A1

α(a) = 1 (11)

β (b)≥ 0 for all b ∈ A2 (12)

∑b∈A2

β (b) = 1 (13)

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 28 / 36

Page 38: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

General Finite Two-Player Games

Remarks about the encoding:In (8) and (9): for instance,

α(a) · (u−U1(a,β )) = 0

if and only if

α(a) = 0 or u−U1(a,β ) = 0.

This holds in every Nash equilibrium, because:if a /∈ supp(α), then α(a) = 0, andif a ∈ supp(α), then a ∈ B1(β ), thus U1(a,β ) = u.

With additional variables, the above LCP formulation canbe transformed into LCP normal form.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 29 / 36

Page 39: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

General Finite Two-Player Games

TheoremA mixed strategy profile (α,β ) with payoff profile (u,v) is aNash equilibrium if and only if it is a solution to the LCPencoding over (α,β ) and (u,v).

Proof.Nash equilibria are solutions to the LCP: Obviousbecause of the support lemma.

Solutions to the LCP are Nash equilibria: Let (α,β ,u,v)be a solution to the LCP. Because of (10)–(13), α and β

are mixed strategies.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 30 / 36

Page 40: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

General Finite Two-Player Games

TheoremA mixed strategy profile (α,β ) with payoff profile (u,v) is aNash equilibrium if and only if it is a solution to the LCPencoding over (α,β ) and (u,v).

Proof.Nash equilibria are solutions to the LCP: Obviousbecause of the support lemma.

Solutions to the LCP are Nash equilibria: Let (α,β ,u,v)be a solution to the LCP. Because of (10)–(13), α and β

are mixed strategies.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 30 / 36

Page 41: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

General Finite Two-Player Games

Proof (ctd.)Solutions to the LCP are Nash equilibria (ctd.): Becauseof (6), u is at least the maximal payoff over all possiblepure responses, and because of (8), u is exactly themaximal payoff.If α(a) > 0, then, because of (8), the payoff for player 1against β is u.The linearity of the expected utility implies that α is a bestresponse to β .Analogously, we can show that β is a best response to α

and hence (α,β ) is a Nash equilibrium with payoff profile(u,v).

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 31 / 36

Page 42: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

General Finite Two-Player Games

Proof (ctd.)Solutions to the LCP are Nash equilibria (ctd.): Becauseof (6), u is at least the maximal payoff over all possiblepure responses, and because of (8), u is exactly themaximal payoff.If α(a) > 0, then, because of (8), the payoff for player 1against β is u.The linearity of the expected utility implies that α is a bestresponse to β .Analogously, we can show that β is a best response to α

and hence (α,β ) is a Nash equilibrium with payoff profile(u,v).

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 31 / 36

Page 43: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

General Finite Two-Player Games

Proof (ctd.)Solutions to the LCP are Nash equilibria (ctd.): Becauseof (6), u is at least the maximal payoff over all possiblepure responses, and because of (8), u is exactly themaximal payoff.If α(a) > 0, then, because of (8), the payoff for player 1against β is u.The linearity of the expected utility implies that α is a bestresponse to β .Analogously, we can show that β is a best response to α

and hence (α,β ) is a Nash equilibrium with payoff profile(u,v).

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 31 / 36

Page 44: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

General Finite Two-Player Games

Proof (ctd.)Solutions to the LCP are Nash equilibria (ctd.): Becauseof (6), u is at least the maximal payoff over all possiblepure responses, and because of (8), u is exactly themaximal payoff.If α(a) > 0, then, because of (8), the payoff for player 1against β is u.The linearity of the expected utility implies that α is a bestresponse to β .Analogously, we can show that β is a best response to α

and hence (α,β ) is a Nash equilibrium with payoff profile(u,v).

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 31 / 36

Page 45: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Solution Algorithm for LCPs

Naïve algorithm:Enumerate all (2n−1) · (2m−1) possible pairs of support sets.For each such pair (supp(α),supp(β )):

Convert the LCP into an LP:Linear (in-)equalities are preserved.Constraints of the form α(a) · (u−U1(a,β )) = 0 arereplaced by a new linear equality:

u−U1(a,β ) = 0, if a ∈ supp(α), andα(a) = 0, otherwise,

Analogously for β (b) · (v−U2(α,b)) = 0.Objective function: maximize constant zero function.

Apply solution algorithm for LPs to the transformedprogram.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 32 / 36

Page 46: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Solution Algorithm for LCPs

Runtime of the naïve algorithm: O(p(n+m) ·2n+m), wherep is some polynomial.Better in practice: Lemke-Howson algorithm.Complexity:

unknown whether LcpSolve ∈ P.LcpSolve ∈ NP is clear(naïve algorithm can be seen as a nondeterministicpolynomial-time algorithm).

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 33 / 36

Page 47: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Summary

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 34 / 36

Page 48: Game Theory - uni-freiburg.degki.informatik.uni-freiburg.de/teaching/ss17/gametheory/... · 2017-05-15 · Game Theory 4.Algorithms Albert-Ludwigs-Universität Freiburg BernhardNebelandRobertMattmüller

Motivation

Linear Pro-gramming

Zero-SumGames

GeneralFiniteTwo-PlayerGames

Summary

Summary

Computation of mixed-strategy Nash equilibria for finitezero-sum games using linear programs. polynomial-time computationComputation of mixed-strategy Nash equilibria for generalfinite two player games using linear complementarityproblem. computation in NP.

May 15th, 2017 B. Nebel, R. Mattmüller – Game Theory 36 / 36