Meccanismi compatibili agli incentivi per Aste Combinatoriali

annuncio pubblicitario
Strumenti della Teoria dei Giochi per l’Informatica
A.A. 2009/10
Lecture 21: 31 Maggio 2010
Aste Combinatoriali
Docente Vincenzo Auletta
Note redatte da: Davide Armidoro
Abstract
In questa lezione tratteremo il problema delle Aste Combinatoriali (Combinatorial Auction). Definiremo il problema e mostreremo la sua difficoltà anche rispetto ad un algoritmo
di approssimazione. Parleremo, quindi, di una versione particolare del problema, in cui il dominio è a singolo parametro e per il quale è possibile fornire un algoritmo di approssimazione
greedy, polinomiale e monotono.
1
Introduzione al problema
Le Aste Combinatoriali rappresentano uno dei problemi fondamentali, se non il principale, nel
campo del Mechanism Design e hanno svariate applicazioni. Questo tipo di problema, a differenza di quelli studiati fino ad ora presenta un dominio Multi-Dimensional; vale a dire che
il meccanismo, per calcolare il benessere sociale, ha bisogno di conoscere le valutazioni di ogni
agente per ogni possibile soluzione. Negli esempi visti nelle lezioni precedenti, invece, ogni agente
aveva un numero limitato di valori privati a partire dai quali era possibile calcolare il vettore
delle valutazioni. Per esempio, nell’asta di Vickrey c’era un singolo oggetto in vendita ed il
giocatore riferiva al meccanismo soltanto la sua valutazione dell’oggetto. Nel problema delle
Aste Combinatoriali, invece, il giocatore dovrà fornire in input al meccanismo l’intero vettore
contenente le valutazioni per tutti i sottoinsiemi possibili degli oggetti messi in vendita che
potrebbero essere assegnati al giocatore.
Definizione del problema. Passiamo subito a definire il problema: abbiamo un insieme
di m oggetti in vendita, che indichiamo con 1, 2, · · · , m, e n acquirenti (in questo caso gli
agenti). Ogni agente è interessato ad acquistare un sottoinsieme degli oggetti ed ha una propria
funzione di valutazione, che descrive in termini quantitativi quanto l’agente è interessato ad
ogni sottoinsieme di oggetti. Formalmente, per ogni i = 1, 2, · · · , n abbiamo una funzione di
valutazione
vi : 2m → <
tale che per ogni sottoinsieme di oggetti S, vi (S) è la massima cifra che l’agente i è disposto a
spendere per acquistare l’insieme S. E’ importante sottolineare, per capire appieno la definizione
di queste funzioni di valutazione, che il valore di un insieme di oggetti non deve essere necessariamente uguale alla somma dei valori dei singoli oggetti del sottoinsieme.
La funzione di scelta sociale f prende in input le valutazioni di tutti i giocatori, calcola un’allocazione
degli oggetti agli agenti e restituisce i sottoinsiemi di oggetti assegnati ad ogni giocatore. Quindi
f (v1 , · · · , vn ) = (S1 , · · · , Sn )
dove ogni Si rappresenta il sottoinsieme di oggetti acquistati dall’agente i e
∀i, j Si ∩ Sj = ∅.
1
2
Lecture 21: Aste Combinatoriali
Il nostro scopo è riuscire a trovare una funzione di scelta sociale che massimizza la somma delle
valutazioni dei vari giocatori
X
f (v1 · · · vn ) = max
vi (Si ).
S
i
Difficoltà del problema. Notiamo che, essendo il dominio del problema Multi-Dimensional
e unrestricted, vale il teorema di Roberts e quindi per sperare di poter implementare questa
funzione di scelta sociale dobbiamo mostrare che è un massimizzatore affine, cioè una funzione
del tipo
X
α + max
wi vi (a).
a∈A
i
Ovviamente, la nostra funzione di scelta sociale soddisfa questa condizione per α = 0 e i pesi
wi = 1 e quindi la nostra funzione di scelta sociale è implementabile tramite un meccanismo
VCG. Il problema sembrerebbe risolto, ma sorgono tre difficoltà:
• il problema dell’Asta Combinatoriale è notoriamente NP-Hard (simile al problema SET1
COVER). Si potrebbe approssimare la soluzione ad un fattore pari a m 2 − solo che poi
diventa impossibile utilizzare i meccanismi VGC;
• oltre a far parte della categoria NP-Hard, il problema presenta anche un input di taglia
esponenziale perchè il dominio delle funzioni di valutazione vi ha dimensione 2m ;
• il terzo ed ultimo problema è rappresentato dagli agenti che naturalmente risultano essere
strategici, quindi bisogna fare in modo da convincerli a dire la verità sulle valutazioni dei
sottoinsiemi di oggetti. In poche parole bisogna rendere il meccanismo Compatibile agli
Incentivi.
In questa lezione tralasceremo il problema della taglia esponenziale dell’input e considereremo
solo una versione particolare del problema in cui il dominio ha dimensione piccola (per l’esattezza
2).
2
Soluzione Single Minded Bidders
Supponiamo che ogni agente i sia interessato ad un solo insieme di oggetti Si∗ (agenti che
soddisfano questa condizione sono detti Single-Minded). Per questo tipo particolare di agenti il
vettore di valutazione diventa
vi (Si∗ )
Si∗ ⊂ Si
∀i vi (Si ) =
0
altrimenti
In pratica è come dire che ad ogni giocatore i interessa solo il sottoinsieme di oggetti Si∗ . Naturalmente, potrebbe accadere che il meccanismo gli assegni un sottoinsieme contenente più oggetti
di quelli che l’agente valuta positivamente, in questo caso l’agente accetta tutto il sottoinsieme
solo nel caso in cui gli oggetti in più non gli vengano fatti pagare.
Adesso il problema non è più Multi-Dimensional perchè lo abbiamo trasformato in un problema Two-Parameters dato che l’agente dovrà dichiarare al meccanismo solo la coppia di valori
(Si∗ , vi (Si∗ ). L’ultimo problema che ci resta da risolvere è quello di convincere i giocatori a non
barare. Dobbiamo progettare un meccanismo compatibile agli incentivi tale che
∀i
vi (f (Si∗ , S−i )) − Pi (Si∗ , S−i ) ≥ vi (f (Si0 , S−i )) − Pi (Si0 , S−i )
∀S 0 6= Si∗ .
Lecture 21: Aste Combinatoriali
3
Poichè la nostra funzione di scelta sociale è di tipo utilitaristico e, quindi, è possibile costruire
un meccanismo Compatibile agli Incentivi di tipo VCG. Tuttavia, abbiamo visto che calcolare
l’allocazione ottima degli oggetti ai vari giocatori è NP-Hard e non è possibile usare algoritmi
approssimati in VCG. E’ possibile però far vedere che per questo specifico problema esiste
√
un meccanismo polinomiale (che non utilizza VCG) Compatibile agli Incentivi ed è O( m)approssimato.
Lemma 1 Un meccanismo M per agenti Single-Minded è Compatibile agli Incentivi se e solo
se rispetta le seguenti due proprietà:
Monotonicità : se i vince dichiarando (Si∗ , vi∗ ) allora deve vincere anche se dichiara (Si0 , vi0 )
dove Si0 ⊆ Si∗ e vi0 ≥ vi∗ ;
Valore Critico : ogni agente che vince paga il costo della più piccola offerta che gli permetterebbe di vincere l’asta.
Proof. (⇐): Faremo vedere solo che le due proprietà sono sufficienti per ottenere un meccanismo
Compatibile agli Incentivi nel caso di agenti Single-Minded. Come prima cosa osserviamo che
un giocatore non potrà mai ricevere un’utilità negativa: o perderà e pagherà zero, o vincerà e
pagherà il suo valore critico. Adesso faremo vedere che un agente non può mai aumentare la sua
utilità dichiarando una coppia (S 0 , v 0 ) al posto dei suoi veri valori segreti (S, v).
Se (S 0 , v 0 ) è una dichiarazione perdente oppure se S 0 non contiene S, allora questa dichiarazione
produce utilità nulla e quindi dichiarare (S, v) non può certo produrre un’utilità peggiore.
Quindi, assumeremo che (S 0 , v 0 ) sia una dichiarazione vincente e che S 0 ⊇ S. Dobbiamo far
vedere che l’agente non ci perderà nulla dichiarando (S, v 0 ) al posto di (S 0 , v 0 ).
Denotiamo con p0 i pagamenti calcolati dal meccanismo rispetto alla dichiarazione (S 0 , v 0 ), e
con p quelli prodotti rispetto alla dichiarazione (S, v 0 ). Per ogni x < p, l’offerta (S, x) perderà
perchè p è il valore critico. Dalla monotonicità, (S 0 , x) sarà un’offerta perdente per ogni x < p,
e quindi il valore critico p0 è ≥ p. Da questo segue che dichiarando (S, v 0 ) al posto di (S 0 , v 0 )
i giocatori continueranno a vincere e i loro pagamenti non aumenteranno. Vediamo adesso che
non conviene mentire sul valore della v. Se (S, v) è una dichiarazione vincente allora per v 0 > p il
giocatore continuerà a vincere con lo stesso pagamento senza avere nessun guadagno aggiuntivo;
invece per v 0 < p il giocatore perderà ed avrà utilità nulla. Mentre se (S, v) è una dichiarazione
perdente allora v è minore del valore critico e per qualsiasi dichiarazione vincente il giocatore si
troverà a pagare una cifra (valore critico) più alta della sua vera valutazione.
3
Algoritmo Greedy per agenti Single-Mindend
In questa sezione mostreremo un algoritmo greedy per il problema delle Aste Combinatoriali
con agenti Single-Minded che rispetta le condizioni del Lemma 1. Osserviamo che gli argomenti
di questa sezione sono indipendenti dalla Teoria dei Gioche poichè abbiamo ridotto il problema
ad una questione prettamente algoritmica: dobbiamo trovare un algoritmo per SET-COVER
che rispetti le due proprietà enunciate nel Lemma 1.
Algoritmo Greedy per agenti Single-Mindend
v∗
- ordina i giocatori in maniera decrescente rispetto alla quantità |Si∗ | che rappresenta il valore medio di ogni o
i
- poni W = ∅ (W conterrà gli indici dei giocatori che vinceranno l’asta.)
- for i = 1 to n
4
Lecture 21: Aste Combinatoriali
- for i = 1
-
S
if Si∗ ∩ ( j∈W Sj∗ ) = ∅
W = W ∪ {i}
to n
if i 6∈ W
Pi = 0
else
√
- return W ;
Pi = vj∗ ·
|Sj∗ |
|Si∗ |
In questo caso l’indice j che compare nella formula dei pagamenti dell’algoritmo rappresenta
l’indice del primo giocatore scartato a causa del giocatore i, cioè quello per cui Si ∩ Sj 6= ∅.
Naturalmente, se un tale j non esistesse allora risulterebbe pi = 0.
Osserviamo che l’algoritmo è polinomiale (O(n2 )) e rispetta la monotonicità grazie all’ordinamento
effettuato inizialmente dall’algoritmo. Non ci rimane, quindi, nient’altro che calcolarne l’approssimazione.
X
X
Lemma 1 Sia OP T una soluzione al problema che massimizza
vi∗ allora
vi∗ ≤
√
i∈OP T
m·
X
i∈OP T
vi∗
i∈W
Proof. ∀i ∈ W indichiamo con OP Ti = {j ∈ OP T, j ≥ i : Si∗ ∩ Sj∗ 6= ∅} l’insieme degli elementi
[
in OP T incompatibili con i. Chiaramente, OP T ⊆
OP Ti e quindi è sufficiente provare che
i∈W
X
∀i
vj∗ ≤
√
m · vi∗ .
j∈OP Ti
Osserviamo che j ∈ OP Ti allora
vj∗
v∗
q
≤pi∗
|Si |
|Sj∗ |
e quindi
q
|Sj∗ |
∗
∗
vj ≤ vi · p ∗ .
|Si |
Sommando su tutti gli elementi di OP Tj otteniamo che
X q
X
v∗
|Sj∗ |
vj∗ ≤ p i ∗ ·
|Si | j∈OP T
j∈OP Ti
i
s X
p
vi∗
|Sj | (Dis. Cauchy-Schwartz)
≤ p ∗ · |OP Ti | ·
|Si |
j∈OP Ti
s X
∗
v
≤ p i ∗ · |Si∗ | ·
|Sj | (perchè |OP Ti | ≤ |Si |)
|Si |
j∈OP T
i
vi∗
p ∗ · |Si∗ | ·
|Si |
√
≤ vi∗ · m.
≤
√
m ( perchè
X
|Si | ≤ m)
j∈OP Ti
Abbiamo quindi dimostrato che il nostro algoritmo Greedy ha un fattore di approssimazione
√
pari a m.
Scarica