Calcolo di Equilibri Nash in giochi a due giocatori

Strumenti della Teoria dei Giochi per l’Informatica
A.A. 2009/10
Lecture 5: 29 Ottobre 2010
Calcolo di Equilibri Nash Misti per Giochi a due Giocatori
Docente Prof. Vincenzo Auletta
Note redatte da: Roberto Di Russo
Sommario
In questa lezione verrà discusso il problema del calcolo degli Equilibri Nash in giochi
strategici a due giocatori e verrà descritto l’algoritmo di Lemke-Hawson. Queste note sono
basate sui paragrafi 3.1-3.5 di [?].
1
Bimatrix Games e Best Response Condition
In questa lezione restringeremo la nostra attenzione a giochi strategici con due soli giocatori.
Questi giochi sono anche detti bimatrix games perché possono essere completamente descritti
fornendo le due matrici di utilità dei due giocatori. Nel seguito definiremo le utilità come dei
payoff e assumeremo che ogni giocatore vuole massimizzare la sua utilità. Tutte le definizioni
possono facilmente essere trasposte al caso di minimizzazione dei costi.
Sia (A, B) un bimatrix game, dove A è la matrice m × n dei payoff del giocatore 1 e B è la
matrice m × n dei payoff del giocatore 2 (stiamo assumendo che il giocatore riga può scegliere tra
m azioni mentre il giocatore colonna può scegliere tra n alternative). Date due strategie miste
x, y, rispettivamente del giocatore riga e del giocatore colonna, definiamo l’expected payoff per
il giocatore riga è
XX
xi · yj · aij = xT · A · y
(1)
i
j
e quello de giocatore colonna è
XX
i
xi · yj · bij = xT · B · y
(2)
j
La coppia di strategie (x, y) è un Nash Equilibrium se ognuna delle due strategie è una best
response alla strategia dell’avversario.
Formalmente, questo si può scrivere nel seguente modo:
∀x̄ ∈ <m x̄T · A · y ≤ xT · A · y
∀ȳ ∈ <n xT · B · ȳ ≤ xT · A · y
Possiamo quindi formulare una Best Response Condition e caratterizzare le soluzioni in Equilibrio
Nash come tutte le soluzioni che soddisfano questa condizione.
Definizione 1.1 (Best Response Condition) La soluzione (x, y) è un Nash Equilibrium se
e solo se ogni strategia nel supporto di x è una best response alla strategia y ed ogni strategia nel
supporto di y è una best response alla strategia x. Quindi, abbiamo che
P
per i = 1, · · · , m, xi > 0 ⇒ j aij · yj = (A · y)j = u = max{(A · y)k , k ∈ M }
P
per j = 1, · · · , n, yj > 0 ⇒ i bij · xi = (x · B)i = v = max{(x · B)k , k ∈ N }
1
Lecture 5: Calcolo di Equilibri Nash Misti per Giochi a due Giocatori
2
La Best Response Condition dice che tutte le strategie nel supporto di x sono best response
alla strategia y e garantiscono al giocatore riga la stessa expected utility. Quindi, per il giocatore
riga è indifferente quale azione del supporto di x giocare e può giocare una qualsiasi strategia
mista che abbia questo stesso supporto. Il giocatore riga, però, sceglie la sua strategia in modo
da garantire che anche tutte le azioni del supporto di y siano best response per il suo avversario
(altrimenti, lui sa che il suo avversario cambierebbe strategia). Questa proprietà è utile perché
ci permette di lavorare con i supporti, che sono in numero finito, anche se esponenziale (2m+n ),
piuttosto che con le strategie miste, che sono infinite.
Un primo banale algoritmo per trovare un Equilibrio Nash di un gioco consiste nell’enumerare
tutte le combinazioni di supporti dei giocatori e verificare se esistono delle distribuzioni di probabilità per le quali quei supporti soddisfano la Best Response Condition. Dati due supporti S1 , S2 ,
per verificare se essi definiscono un Nash Equilibrium basta risolvere i due sistemi di equazioni
lineari
(P
(P
xi · bij = v ∀j ∈ S2
j∈S2 aij · yj = u ∀i ∈ S1
P
Pi∈S1
j yj = 1
i yi = 1
e verificare che le soluzioni sono non-negative e soddisfano la Best Response Condition.
Per semplicità, consideriamo solo giochi non degeneri, dove i supporti dei due giocatori in un
Equilibrio Nash hanno la stessa cardinalità. Per questi giochi i due sistemi di equazioni dati
hanno al più una soluzione e possono essere risolti in tempo polinomiale.
Possiamo ora fornire il seguente algoritmo per il calcolo di un Equilibrio Nash basato sull’enumerazione dei supporti.
Algorithm 1 Calcolo di un Equilibrio Nash per enumerazione dei supporti
Require: date due matrici A e B di dimensione m × n
for k = 1 to min{m, n} do
for all coppie (S1 , S2 ) con |S1 | = |S2 | = k e S1 ⊆ {1 . . . n}, S2 ⊂ {1 . . . n} do
verifica se esistono strategie x e y con supporti S1 e S2 che formano un Nash Equilibrium.
end for
end for
Questo algoritmo ha complessità O(2m+n poly(n + m)). Vediamo ora come possiamo trovare
algoritmi più efficienti.
2
Calcolo di Equilibri Nash tramite Politopi etichettati
E’ possibile fornire un algoritmo più efficiente utilizzando il politopo delle best responses. Prima
di procedere con la descrizione dell’algoritmo ricordiamo alcune definizioni della teoria dei poliedri
convessi che risulteranno utili nella nostra esposizione.
2.1
Cenni sulla Teoria dei Poliedri Convessi
• Dati k punti z1 . . . zk di uno spazio euclideo (cioè, uno spazio in cui vale la disuguaglianza
triangolare), una combinazione affine di questi punti è dato dal valore
X
λi × zi
(3)
i
Lecture 5: Calcolo di Equilibri Nash Misti per Giochi a due Giocatori
con λi ∈ < e
P
i λi
3
= 1.
• Una combinazione affine si dice convessa se per ogni i λi ≥ 0.
• Un insieme è convesso se è chiuso rispetto all’operazione di combinazione convessa.
• Un insieme di punti è detto affinemente indipendente se nessun punto è esprimibile come
combinazione affine degli altri.
• Un insieme convesso ha dimensione d se e solo se è possibile trovare al suo interno al
massimo (d + 1) punti affinemente indipendenti.
• Un poliedro P ⊂ <d è un insieme di punti {z ∈ <d | C · z ≤ q}. Se il poliedro è limitato
allora è detto politopo.
• Un poliedro è fully dimensional se è d-dimensionale.
• Una faccia di P è l’insieme di punti per i quali alcune disequazioni di C · z ≤ q sono vere
come uguaglianze.
• Un vertice è l’unico punto di una faccia 0-dimensionale.
• Un arco è una faccia 1-dimensionale.
• Un facet è una faccia (d − 1)-dimensionale.
• Un poliedro d-dimensionale è semplice se nessun punto appartiene a più di d facets (cioè
in ogni punto ci sono al più d disequazioni vere come uguaglianze).
2.2
Poliedro delle Best Response
Il poliedro delle best-responses è l’insieme delle strategie miste che forniscono all’avversario un
expected payoff inferiore ad una certa soglia. Quindi il poliedro delle best response del giocatore
riga è dato da
P̄ = {(x, v) ∈ <m × < | x ≥ 0, B T · x ≤ v, 1T × x = 1}
(4)
Possiamo riscrivere le condizioni che definiscono P̄ come un sistema di m + n + 1 diseguaglianze


i ≥ 0 i = 1...m
x
P
i xi · bij ≤ v j = 1 . . . n

P
i xi = 1
Analogamente, il poliedro delle best response del giocatore colonna è uguale a
Q̄ = {(q, u) ∈ <n · < | A · y ≤ u,
y ≥ 0,
1T × y = 1}
che può essere riscritto nel seguente sistema di m + n + 1 diseguaglianze:
P

 j yj · aij ≤ u i = 1 . . . m
yj ≥ 0 j = 1 . . . n

P
j yj = 1
(5)
Lecture 5: Calcolo di Equilibri Nash Misti per Giochi a due Giocatori
Esempio.
Consideriamo il gioco a due

3
A = 2
0
4
giocatori rappresentato dalle matrici



3
3 2
5 B = 2 6
6
3 1
Siano {x1 , x2 , x3 } e{y4 , y5 } gli insiemi delle azioni a disposizione dei due giocatori. Allora il
poliedro delle best response del giocatore riga è il sottoinsieme P̄ ⊆ <3 definito dal sistema


3y4 + 3y5 ≤ u





2y4 + 5y5 ≤ u
.
(6)
6y5 ≤ u


y4 + y5 = 1




y4 , y5 ≥ 0
Figura 1: Poliedro delle best responses del giocatore 1 per le strategie del giocatore 2
Dalla figura ricaviamo che:
• x1 è la best response del giocatore 1 per y4 ≥
• x2 è la best response del giocatore 1 per
1
3
2
3
≤ y4 ≤
• x3 è la best response del giocatore 1 per y4 ≤
2
3
1
3
Procediamo ora ad etichettare i vertici dei poliedri delle best response. Per ogni punto (y, u) ∈ P̄
diciamo che (y, u) ha label k se la k-ima disequazione di P è soddisfatta come uguaglianza. Quindi, il vertice (y, u) avrà tante labels quante sono le disuguaglianze verificate come uguaglianza in
quel punto. Nell’esempio precedente il punto ( 23 , 13 , 1) ha label (1, 2) il che significa che x1 e x2
sono entrambe delle best responses e danno utilità 3.
Ricordiamo che in un gioco non degenere il politopo delle best responses è semplice e fully
dimensional e quindi possiamo dire che i vertici di P̄ sono gli unici punti del poliedro in cui m
disequazioni del sistema sono verificate come uguaglianze (e quindi sono gli unici punti ad avere
Lecture 5: Calcolo di Equilibri Nash Misti per Giochi a due Giocatori
5
m label). Allo stesso modo, i vertici di Q̄ sono gli unici punti del poliedro in cui n diseguaglianze
sono vere come uguaglianze (e, quindi, hanno n label).
Supponiamo ora che [(x, v), (y, u)] siano una coppia di punti di P̄ × Q̄ tali che ∀1 ≤ k ≤ m + n
almeno uno dei due vertici ha la label k. Chiamaremo queste coppie di vertici completamente
etichettate. Osserviamo che, per ogni 1 ≤ k ≤ m
(
se k è assegnato a (y, u) ⇒ (A · y)k = u
se k è assegnato a (x, v) ⇒ xk = 0
In pratica, la strategia xk del giocatore riga o garantisce expected-payoff u o non è utilizzata.
Allo stesso modo, ∀m + 1 ≤ k ≤ m + n
(
se k è assegnato a (y, u) ⇒ yk−m = 0
se k è assegnato a (x, v) ⇒ (B T · x)k−m = v
e, quindi, la strategia yk−m del giocatore colonna o garantisce expected-payoff v o non è utilizzata.
Osserviamo che, se k ≤ m non èpresente nelle etichette di [(x, v), (y, u)], questo significa che
yk > 0 e (A · y)k < u e quindi c’è una azione che il giocatore colonna sta giocando con probabilità
positiva e che non è una best response alla strategia del suo avversario e quindi viola la Best Response Condition. Quindi, trovare un Nash Equilibrium significa trovare due punti [(x, v), (y, u)]
che sono completamente etichettati. D’altra parte, in P̄ gli unici punti con m label sono i vertici
del politopo ed in Q̄ gli unici punti con n label sono i vertici del politopo. Quindi, per trovare una
coppia di punti completamente etichettati possiamo limitarci a considerare soltanto le coppie di
vertici di P̄ × Q̄. Ovviamente, tutte queste coppie di punti hanno m + n label ma alcune di queste potrebbero essere duplicate e quindi cercare una coppia di punti completamente etichettati
equivale a cercare una coppia di vertici che non hanno label duplicate.
Se le matrici A e B sono non-negative e non hanno colonne nulle allora le definizioni di P̄ e Q̄
possono essere semplificate eliminando le variabili u e v. Infatti, possiamo sostituire xi con la
y
variabile xvi e yj con la variabile uj e definire i politopi
P = {x ∈ <m
Q = {y ∈ <n
| x ≥ 0 B T × x ≤ 1}
| A × y ≤ 1 y ≥ 0}
che risultano essere fully dimensional. Nel nostro esempio, il politopo Q corrispondente al poliedro Q̄ è rappresentato in figura ??.
Esiste una biezione tra P̄ e P − {0} e tra Q̄ e Q − {0} che lascia inalterate le label assegnate ai
punti diversi da (0, 0). Quindi, trovare una coppia ((x, v), (y, u)) completamente etichettata in
P̄ × Q̄ è equivalente a trovare (x, y) ∈ (P × Q) − {(0, 0)} completamente etichettata.
3
Algoritmo di Lemke-Howson
L’algoritmo di Lemke-Howson permette di trovare un Equilibrio Nash di un gioco non degenere
a due giocatori. Esso fornisce implicitamente una dimostrazione costruttiva al Teorema di Nash
per questa classe di giochi.
Partendo dal vertice (0, 0) ∈ P ×Q, l’algoritmo segue un cammino tra i vertici del politopo P ×Q
fino a raggiungere un vertice completamente etichettato. Questo vertice definisce i supporti di
Lecture 5: Calcolo di Equilibri Nash Misti per Giochi a due Giocatori
6
Figura 2: Politopo delle best responses corrispondente al poliedro di figura ??
due strategie che sono in Equilibrio di Nash e che sono costruibili risolvendo un sistema lineare
con n + m incognite.
L’algoritmo non visita tutte le coppie di vertici di P × Q, ma solo quelle quasi completamente
etichettate, che sono le coppie di vertici che hanno tutte le label tranne al più una, detta missing
label. Poiché i vertici di P × Q hanno m + n labels, un vertice quasi completamente etichettato
ha una label duplicata k: l’idea dell’algoritmo è di spostarsi su un altro vertice in cui una delle
due copie di k è eliminata e sostituita da un’altra label. Ciò significa spostarsi su un lato di uno
dei due politopi, restando fermi nell’altro.
Una label duplicata k corrisponde ad una strategia che è best response per la strategia dell’avversario ma viene giocata con probabilità pari a 0. Per eliminare la duplicazione o dobbiamo
togliere k dal supporto (cioè, modificare la strategia dell’avversario in modo che non sia più una
best response) oppure assegnarle probabilità positiva. Supponiamo che il vertice v sia quasi completamente etichettato con label duplicata k e che sia stato raggiunto da un altro vertice v 0 quasi
completamente etichettato che aveva una sola copia di k. Allora, a partire da v, è univocamente
determinato cosa dobbiamo fare per eliminare la duplicazione di k senza tornare nel vertice v 0
già visitato. La cancellazione di una copia di k implica uno spostamento su un altro vertice in
cui tale copia viene sostituita con un’altra label k 0 (anch’essa eventualmente duplicata).
L’algoritmo di Lemke-Howson parte da un vertice (0, 0), che è completamente etichettato ma
non definisce un Nash Equilibrium perché non può essere riscalato per ottenere una distribuzione
di probabilità, e sceglie a caso un vertice v 0 adiacente in cui una certa label l è assente. La
label assente non è altro che una strategia scelta con probabilità maggiore di 0, ma per la
quale l’avversario non ha una best response. Mancando l, ci sarà una label duplicata h0 , che
supponiamo essere una strategia del giocatore riga (h0 ≤ m). Allora, l’algoritmo si sposta nel
politopo Q su un nuovo vertice che definisce una best response del giocatore riga. Se la strategia
trovata è tale che la strategia del giocatore riga è una best response, l’algoritmo termina con
successo; altrimenti ritorna nel politopo P e sceglie un nuovo vertice inserendo nel supporto una
nuova strategia che è best response per l’avversario oppure ponendo a 0 la probabilità di una
strategia non ottimale.
L’algoritmo di Lemke-Howson termina sicuramente perché ad ogni passo visita una nuova coppia
di vertici di P × Q e non visita mai due volte la stessa coppia. Infatti, data una coppia (x, y),
è univocamente determinato chi sarà il prossimo vertice. Se ci fosse un ciclo, ci dovrebbe essere
un vertice con tre archi incidenti, il che èimpossibile. Se prendessimo il grafo formato dalle sole
Lecture 5: Calcolo di Equilibri Nash Misti per Giochi a due Giocatori
7
coppie di vertici in cui manca al più la sola label l, esso avrebbe solo vertici di grado al più pari
a 2 e, quindi, sarebbe formato solo da paths e cicli. Ogni endpoint di un path è un Equilibrio di
Nash oppure costituisce la coppia (0, 0). Poiché (0, 0) non ha archi entranti, c’è almeno un path
nel grafo e l’altro endpoint di questo path è un Nash Equilibrium. Ovviamente, ci potrebbero
essere anche altri path i cui endpoint sarebbero altri Equilibri Nash. Tuttavia, per giochi non
degeneri gli Equilibri di Nash sono sempre in numero dispari.
L’algoritmo di Lemke-Howson non può essere usato per trovare tutti gli Equilibri di Nash perché è
possibile costruire giochi in cui c’è un equilibrio che non viene mai raggiunto per nessuna missing
label. E’ anche possibile costruire giochi in cui per ogni possibile missing label il percorso seguito
dall’algoritmo per trovare il Nash Equilibrium ha lunghezza esponenziale.
L’implementazione dell’algoritmo consente di seguire i lati del politopo per passare da un vertice
ad un altro che differisce per una label attraverso delle operazioni di pivoting simili a quelle usate
dall’algoritmo del simplesso per i problemi di programmazione lineare. Per giochi degeneri non
è garantita l’univocità del cammino seguito dall’algoritmo di Lemke-Howson. E’ possibile, però,
perturbare il gioco in modo da renderlo non-degenere. Questi giochi possono avere un numero
infinito di Equilibri di Nash.
Riferimenti bibliografici
[1] Noam Nisan, Tim Roughgarden, Eva Tardos, and Vijay V. Vazirani. Algorithmic Game
Theory. Cambridge University Press, 2007.