Documente Academic
Documente Profesional
Documente Cultură
jN
x
j
> 1
ento o benefcio para cada jogador nulo. Caso
jN
x
j
1 o benefcio do jogador i dado por
x
i
(1
jN
x
j
). Esta funo de benefcio mostra que cada jogador deve fazer um balano entre
seu uxo e o uxo total de transmisso.
Agora, considere um jogador i e sua escolha por um valor para o seu uxo considerando que os
outros jogadores j deniram seus uxos. Vamos supor que t =
jN\{i}
x
j
< 1 a quantidade de
uxo total usada pelos outros jogadores. Como o interesse de i maximizar seu benefcio, ele escolhe
seu uxo como o valor x que maximiza x(1tx). Resolvendo isso, ele obtm o valor x
i
= (1t)/2.
Por outro lado, como todos os jogadores so racionais e desejam maximizar seu benefcio, todos
faro estas mesmas contas e portanto teremos um resultado estvel se x
i
= (1
jN\{i}
x
j
)/2
para todo i. Estas equaes nos levam a um sistema com soluo nica dada por x
i
= 1/(n + 1),
para todo jogador i.
Portanto, o benefcio de cada jogador i x
i
(1
jN
x
j
) = 1/(n + 1)
2
o que d um benefcio
total de n/(n + 1)
2
1/n. Por outro lado, se cada jogador denir seu uxo como x
i
= 1/(2n)
temos um uxo vivel onde cada jogador tem benefcio de 1/(4n) resultando em um benefcio total
de 1/4, que so valores muito melhores que os obtidos no resultado estvel (aproximadamente n/4
vezes maior).
Jogos Sequenciais. At agora, consideramos que cada jogador faz sua escolha sem o conhecimento
das escolhas dos outros jogadores. Uma outra forma de jogo quando os jogadores se alternam na
9
escolha de suas decises. Para exemplicar esta situao, considere o jogo de Compartilhamento
de Largura de Banda, visto anteriormente. Suponha que, por restries no sistema, no possvel
ou ca muito custoso para o jogador saber a quantidade de uxo que cada jogador est enviando,
mas ele sabe apenas o uxo total que est sendo enviado pelo canal em cada momento. Alm disso,
suponha que um jogador possa modicar a quantidade de uxo a cada momento para obter um
melhor benefcio individual. Por simplicidade, vamos supor que as atualizaes dos jogadores so
realizadas em alguma ordem (i.e., dois jogadores no atualizam seus uxos ao mesmo tempo).
Sabendo o valor do uxo atual, um jogador i pode facilmente calcular o uxo total dos outros
jogadores, dado por t =
jN\{i}
x
j
. Neste momento o jogador calcula o valor do uxo x que
maximiza seu benefcio, de x(1 t x), obtendo o valor x
i
= (1 t)/2. Naturalmente, a mudana
feita pelo jogador i pode ser considerada pelos prximos jogadores, que faro tambm mudanas
nos seus uxos para obter um maior benefcio. Se os jogadores forem ajustando seus uxos um aps
o outro, de maneira sequencial, o uxo nal convergir na mesma soluo vista anteriormente, com
benefcio global prximo de 1/n e portanto muito aqum daquela soluo de benefcio total 1/4.
Jogos Repetidos. Podemos tambm considerar jogos que so repetidos entre os jogadores vrias
vezes. Isto , h vrias partidas de um mesmo jogo entre os mesmos jogadores. Alm disso, os
jogadores podem manter um histrico das partidas anteriores que poderiam ser usadas para a
tomada de suas decises. O custo obtido neste jogo o custo total obtido em todas as partidas.
Considere por exemplo o jogo do Dilema dos Prisioneiros. Note que se o nmero de partidas
xo, sempre prefervel para um prisioneiro confessar na ltima partida, pois diminuir o nmero
de anos na cadeia nesta partida. Isto tambm pode ser aplicado penltima partida, assim por
diante. Com isso, se o nmero de partidas for repetido um nmero nito de vezes, temos um
resultado estvel tambm onde os prisioneiros apenas confessam. Por outro lado, se o nmero
de partidas for innito ou no for conhecido, pode valer a pena aos jogadores car em silncio.
Isto ocorre pois o histrico de escolhas forma uma reputao do jogador que poder ser usada
pelo outro prisioneiro para decises futuras. Com isso, pode valer a pena um prisioneiro car em
silncio, sabendo que se trair confessando o crime ele poder ser retaliado nas prximas partidas.
Uma regra de escolha interessante que um jogador pode tomar escolher cooperar na primeira
partida e para as prximas partidas escolher exatamente a escolha do outro prisioneiro na partida
imediatamente anterior. Neste caso, se ambos prisioneiros escolherem inicialmente car em silncio,
ambos continuaro em silncio para sempre. Se um prisioneiro escolher confessar e o outro no,
o prisioneiro que no confessou ir retaliar na prxima partida. Esta estratgia conhecida como
Olho por Olho, ou em ingls Tit for Tat, e foi adaptada em protocolos de redes distribudas par-a-par
(peer-to-peer), exemplicado a seguir.
Transferncias em sistemas Peer-to-Peer. Neste tipo de sistema, um usurio pode transferir
arquivos da Internet para seu computador mas tambm tem incentivo a disponibiliz-los a partir
10
de seu computador, minimizando o trfego no geral, j que outros usurios tero mais alternativas
de onde obter este arquivo. Naturalmente um usurio pode no querer disponibilizar o arquivo de
seu computador, tornando-se assim, um aproveitador do sistema. Para incentivar que os usurios
tambm disponibilizem os arquivos, muitos protocolos mantm uma reputao dos usurios que
melhora quando o usurio disponibiliza os arquivos do seu computador e piora quando ele no
disponibiliza o arquivo. Alm disso, sempre que o nmero de usurios chegar ao mximo o sistema
dar preferncia a um novo usurio com melhor reputao e interromper a transmisso de um
usurio com reputao pior. Com isso, usurios tentaro cooperar, para no sofrerem retaliaes
no futuro.
2.1 Conceitos bsicos em Teoria dos Jogos
Os exemplos vistos so problemas modelados na rea de Teoria dos Jogos. Apesar de existirem jogos
com quantidade innita de jogadores, nos restringiremos neste texto a jogos onde h quantidade
nita de jogadores.
Durante um jogo, cada jogador i possui um conjunto de escolhas possveis que pode fazer,
digamos dado pelo conjunto S
i
. uma conveno da rea de Teoria dos Jogos chamar cada escolha
em S
i
de estratgia do jogador i. Quando o conjunto de jogadores, digamos N, estiver bem denido
e claro pelo contexto, muitas vezes omitiremos o conjunto N em somatrias e produtrios, entre
outros, para no sobrecarregar a notao. Com isso, os termos
i
x
i
e
i
x
i
so iguais aos termos
iN
x
i
e
iN
x
i
, respectivamente.
Denotaremos por S =
i
S
i
o conjunto de vetores de escolhas dos jogadores. Assim, se o
conjunto de jogadores dado pelo conjunto N = [n], onde [n] = {1, . . . , n}, o conjunto S dado
pelo conjunto S
1
. . .S
n
. Cada elemento s S representa um resultado do jogo, tambm chamado
de vetor de estratgias (ou perl de estratgias) do jogo. Alm disso, cada jogador deve ter uma
ordem de preferncia, que deve ser uma relao completa, transitiva, reexiva e binria sobre os
possveis resultados do jogo. esta relao que dir que o jogador prefere mudar sua estratgia, e
com isso o resultado do jogo muda de um vetor de estratgias para outro. Uma maneira simples
de representar isso ser atravs de uma funo de utilidade (ou benefcio) u
i
: S R para cada
jogador i, que devolve um valor numrico para cada vetor de estratgias. Assim, se i mudou de
estratgia, migrando de um vetor de estratgias s para um vetor s
) > u
i
(s). Observe que a funo de utilidade de um jogador est denida para cada s S e
portanto a utilidade ou benefcio de um resultado para um jogador depende tambm das escolhas
dos outros jogadores. Naturalmente, podemos tambm reescrever isto usando uma funo de custo
(ou penalidade), em vez da funo de utilidade. Dado uma funo de utilidade u, podemos denir
uma funo de custo c : S R fazendo c
i
(s) = u
i
(s). Neste caso, o jogador deseja minimizar seu
custo.
11
Denio 1 Um jogo J consiste de um conjunto N de jogadores e conjunto de estratgias S
i
e
funo de utilidade u
i
sobre o conjunto de vetores de estratgias do jogo, para cada jogador i.
Na denio acima, os conjuntos de estratgias nem sempre sero dados listando todos seus ele-
mentos, como zemos por matrizes de utilidade e custo. No jogo Compartilhamento de Largura
de Banda, por exemplo, cada jogador tem innitas estratgias. Mesmo quando o conjunto de es-
tratgias de cada jogador for nito, pode ser invivel representar todos os vetores de estratgia
explicitamente, como veremos na Seo 3.
Quando um vetor v estiver indexado no conjunto de jogadores N, a notao padro na rea
denir v
i
como o elemento do vetor v para o jogador i e por v
i
o vetor v removendo se a posio de
i. Dado estratgia v
i
do jogador i, denotamos por (v
i
, v
i
) o vetor obtido de v trocando o elemento
v
i
por v
i
. Assim, se o conjunto de jogadores dado por N = {1, . . . , n} e temos dois vetores de
estratgia s = (s
1
, . . . , s
n
) e r = (r
1
, . . . , r
n
), ento as seguintes igualdades so vlidas: s = (s
i
, s
i
),
s
i
= (s
1
, . . . , s
i1
, s
i+1
, . . . , s
n
) e (r
i
, s
i
) = (s
1
, . . . , s
i1
, r
i
, s
i+1
, . . . , s
n
).
Exemplo 1 No jogo Dilema dos Prisioneiros, temos:
(i) Um conjunto com dois jogadores N = {A, B}.
(ii) Conjuntos de estratgias para cada jogador:
S
A
= {Confessa, Silncio},
S
B
= {Confessa, Silncio}.
(iii) As preferncias de cada preso so dadas pelas funes de custo c
A
e c
B
, que do a quantidade
de anos que caro presos em cada resultado, apresentadas na matriz de custo da Figura 1-(a).
Assim, se o par (s
A
, s
B
) representa a clula onde o jogador A escolhe a estratgia s
A
e o jogador
B escolhe a estratgia s
B
, ento, dados os vetores de estratgias s = (Silncio, Confessa) e s
=
(Confessa, Confessa) temos, que c
A
(s) = 5, c
B
(s) = 1, c
A
(s
) = 4, c
B
(s
).
Vimos que no jogo Dilema dos Prisioneiros, sempre prefervel um jogador escolher a estratgia
Confessa. Quando um jogador possuir uma estratgia que sempre prefervel, independente das
escolhas dos outros jogadores, a chamaremos de estratgia dominante. Quando cada jogador possuir
uma estratgia dominante, o jogo dito ser com estratgias dominantes. Apesar de ser uma situao
desejvel, muitos jogos no so com estratgias dominantes.
12
2.2 Equilbrio de Nash em jogos com estratgias puras
Nos jogos que vimos at agora, cada jogador faz a cada momento a escolha de apenas uma estratgia.
Cada uma destas estratgias chamada de estratgia pura e estes jogos so chamados de jogos com
estratgias puras. Quando os jogadores atingem um resultado onde cada jogador no tem interesse
em mudar sua estratgia, atingimos um resultado estvel. Diremos que um vetor de estratgias
que representa tal resultado um equilbrio de Nash em estratgias puras. Por exemplo, no Dilema
dos Prisioneiros, o resultado onde ambos confessam um equilbrio de Nash, pois estando neste
resultado, nenhum deles diminui seus anos de cadeia ao mudarem (individualmente) suas escolhas.
Formalmente temos:
Denio 2 Um vetor de estratgias s S dito estar em equilbrio de Nash em estratgias
puras, se para todo jogador i e estratgia s
i
S
i
, temos u
i
(s
i
, s
i
) u
i
(s
i
, s
i
).
Isto , um vetor de estratgias s est em equilbrio de Nash em estratgias puras, se para todo joga-
dor i a mudana da sua estratgia s
i
para uma estratgia s
i
no melhora sua utilidade (mantendo
xas as estratgias s
i
dos outros jogadores). Durante um jogo, vamos dizer que um jogador i est
satisfeito em relao a um vetor de estratgias atual s se u(s
i
, s
i
) u(s), para todo s
i
S
i
. Caso
contrrio, diremos que i est insatisfeito. Claramente, em um equilbrio de Nash em estratgias
puras, todos os jogadores esto satisfeitos.
2.3 Equilbrio de Nash em jogos com estratgias mistas
Uma outra maneira de denir o jogo usando probabilidades para as estratgias puras de cada
jogador. Com isso, a escolha do jogador feita aleatoriamente dentre uma das estratgias puras, de
acordo com uma distribuio de probabilidade. Neste caso, em vez de escolher uma das estratgias
puras, cada jogador escolhe uma distribuio de probabilidade para suas estratgias puras. A partir
da distribuio dos jogadores, temos tambm uma distribuio de probabilidade para os vetores
de estratgias do jogo e a utilidade de cada jogador obtida pelo valor esperado dada por esta
distribuio.
Vamos formalizar isso para o caso de jogos com nmero nito de estratgias. Considere que os
jogadores so dados pelo conjunto N = {1, . . . , n} e seja S
i
o conjunto de estratgias do jogador
i e p
i
sua distribuio de probabilidade para os elementos de S
i
(isto , temos p
i
(s
i
) 0 para
todo s
i
S
i
e temos que
s
i
S
i
p
i
(s
i
) = 1). Se p = (p
1
, . . . , p
n
) o vetor das distribuies de
probabilidade dos jogadores, ento o valor esperado da utilidade do jogador i dada por E[U
i
(p)],
onde
E[U
i
(p)] =
sS
j
p
j
(s)u
i
(s).
13
Denio 3 Um vetor p = (p
1
, . . . , p
n
) das distribuies de probabilidade dos jogadores um
equilbrio de Nash em estratgias mistas, se para todo jogador i, temos que E[U
i
(p
i
, p
i
)] E[U
i
(p)],
para toda distribuio de probabilidade p
i
sobre S
i
.
Assim, se um vetor p das distribuies de probabilidade dos jogadores est em equilbrio de Nash,
ento no adianta o jogador i trocar sua distribuio p
i
pois seu benefcio esperado no ir aumentar.
Exemplo 2 Vamos exemplicar esta denio com o jogo Cara ou Coroa (Matching Pennies).
Vamos supor que os jogadores A (ganha se faces so iguais) e B (ganha se faces so diferentes)
usam as distribuies de probabilidade p
A
e p
B
, respectivamente, onde
p
A
(Cara) = 1/3, p
A
(Coroa) = 2/3,
p
B
(Cara) = 1/4, p
B
(Coroa) = 3/4.
Se p = (p
A
, p
B
), a utilidade esperada de A, dada por E[U
A
(p)] igual a
E[U
A
(p)] =
1
3
1
4
(+1) +
1
3
3
4
(1) +
2
3
1
4
(1) +
2
3
3
4
(+1) =
1
6
.
Fazendo as contas da utilidade esperada de B, temos E[U
B
(p)] =
1
6
. Note que com estas distri-
buies, a chance do jogador A ganhar maior.
Agora, considere o caso onde o jogador A escolhe cada uma de suas estratgias com probabilidade
1
2
e o jogador B escolhe uma outra distribuio qualquer, digamos dado pelas probabilidades e
(1 ), onde 0 1 de escolher cara e coroa, respectivamente. Neste caso, p
A
= (1/2, 1/2),
p
B
= (, 1 ) e p = (p
A
, p
B
). A utilidade de A dada por esta distribuio igual a
E[U
A
(p)] =
1
2
(+1) +
1
2
(1 )(1) +
1
2
(1) +
1
2
(1 )(+1) = 0.
Assim, ao usar p
A
= (1/2, 1/2), no importa qual a distribuio escolhida por B que a utilidade
esperada do jogador A igual a 0. O mesmo ocorre se B tambm escolher p
B
= (1/2, 1/2). Com
isso, se ambos jogadores escolherem estas distribuies p
A
e p
B
, nenhum dos jogadores ir conseguir
melhorar a utilidade esperada com outra distribuio, e portanto o vetor p = (p
A
, p
B
) um equilbrio
de Nash em estratgias mistas.
Note que um jogo com estratgias puras um caso particular de jogo com estratgias mistas,
onde a distribuio de cada jogador denida dando probabilidade 1 para a estratgia escolhida pelo
jogador e 0 para as demais. Assim, notamos que o jogo Cara ou Coroa apresenta um equilbrio de
Nash em estratgias mistas, mas o mesmo no verdade em estratgias puras. O prximo teorema,
provado por Nash, um dos resultados de maior impacto na rea de Teoria dos Jogos [29].
14
Teorema 1 Todo jogo com nmero nito de jogadores e estratgias possui um equilbrio de Nash
em estratgias mistas.
3 Complexidade Computacional de se Encontrar um Equil-
brio
3.1 Preliminares
Existem diversas classes de complexidade computacional investigadas na literatura. Tais classes
foram denidas considerando-se o que computvel a partir de um certo modelo e em quantos
passos computacionais. Nesta seo, iremos considerar modelos de computao e notao usual em
anlise e projeto de algoritmos.
Quando medimos a complexidade computacional de algoritmos, a maneira padro deni-la
em termos do tamanho (e.g. nmero de bits) da instncia. No caso da complexidade de tempo
computacional, deve-se apresentar uma funo que dado o tamanho da instncia nos d o nmero
de passos do algoritmo dentro do modelo computacional considerado. No desenvolvimento da rea,
os algoritmos de tempo polinomial apresentam na sua grande maioria um bom desempenho compu-
tacional e com isso so chamados de algoritmos ecientes; apesar de algoritmos com complexidades
de tempo dadas por um polinmio de grau alto, como O(n
100
), no serem prticos (felizmente eles
raramente ocorrem na prtica). Por outro lado, h problemas para os quais ningum conseguiu
produzir algoritmos de tempo polinomial para resolv-los.
Nesta busca, duas importantes classes de complexidade computacional se destacam: as classes
P e NP. A classe P contempla os problemas de deciso (problemas com resposta sim ou no) para
os quais h algoritmo de tempo polinomial para resolv-lo. A classe NP so os problemas de deciso
para os quais a resposta sim pode ser vericada por um algoritmo de tempo polinomial usando
um certicado de tamanho polinomial. Sabe-se que P NP, mas h grandes indicativos de que
estes dois conjuntos sejam diferentes. Um dos motivos disto a existncia da classe NP-completo
dentro da classe NP, para os quais os nicos algoritmos conhecidos para resolv-los so algoritmos
de tempo exponencial. Alm disso, a classe NP-completo contm muitos problemas e caso um deles
seja resolvido por um algoritmo de tempo polinomial, ento todos os problemas de NP tambm
sero resolvidos em tempo polinomial. A questo P = NP ? um dos principais problemas em
aberto da Cincia da Computao.
Para dar uma idia de como funes exponenciais crescem rpido, comparados com funes
polinomiais, vamos supor que temos um computador com velocidade de 1 Terahertz (mil vezes
mais rpido que um computador de 1 Gigahertz) e funes que para cada tamanho n nos do o
nmero de instrues executadas neste computador. A Tabela 1 mostra os tempos obtidos para
15
algumas funes polinomiais e exponenciais, onde os tempos so dados em segundos (seg), dias e
sculos (sc). Nota-se, para este exemplo, que o tempo computacional dado pelas funes de tempo
exponencial crescem muito mais rapidamente que as funes de tempo polinomial.
f(n) n = 20 n = 40 n = 60 n = 80 n = 100
n 2,0 10
11
seg 4,0 10
11
seg 6,0 10
11
seg 8,0 10
11
seg 1,0 10
10
seg
n
2
4,0 10
10
seg 1,6 10
9
seg 3,6 10
9
seg 6,4 10
9
seg 1,0 10
8
seg
n
3
8,0 10
9
seg 6,4 10
8
seg 2,2 10
7
seg 5,1 10
7
seg 1,0 10
6
seg
2
n
1,0 10
6
seg 1,0 seg 13,3 dias 1,3 10
5
sc 1,4 10
11
sc
3
n
3,4 10
3
seg 140,7 dias 1,3 10
7
sc 1,7 10
19
sc 5,9 10
28
sc
Tabela 1: Comparao de algumas funes de tempo computacional.
Uma possibilidade para tratar algoritmos com alta complexidade de tempo usar computadores
muito mais potentes para obter a resoluo de instncias maiores. Mesmo assim, esta estratgia no
nos leva a resolver instncias muito maiores quando executamos algoritmos de tempo exponencial.
Suponha por exemplo que um problema est sendo resolvido em um computador atual, mas para
tentar resolver instncias maiores, compramos um supercomputador mil vezes mais rpido. Se um
algoritmo com tempo de execuo n
2
conseguir resolver instncias de tamanho N no computador
atual, ele conseguir resolver instncias de tamanho 31,6N no supercomputador, no mesmo tempo.
Por outro lado, se o algoritmo tiver tempo de execuo 2
n
, ento ele s conseguir executar instn-
cias de tamanho N + 9,97 (apenas uma constante aditiva a mais) no supercomputador. Para mais
detalhes, veja [17, 28].
Diante disso, mostrar que um problema NP-completo um bom indicativo de que ele
intratvel computacionalmente (para instncias grandes), dado que o tempo computacional cresce
muito rpido em relao ao tamanho da instncia. Apesar desta comparao ter sido feita com
tempo computacional, ela tambm vale para outros tipos de recursos, como quantidade de memria,
processadores, etc. Depois que Cook provou que o problema Sat NP-completo [7], vrios outros
foram provados serem NP-completos, veja [8, 17, 2]. Alm disso, muitos destes problemas so
simplicaes de problemas prticos da rea. A seguir, listamos alguns destes problemas, que
usaremos posteriormente e cujas provas podem ser encontradas em [17].
Uma frmula booleana (x
1
, . . . , x
n
) sobre variveis booleanas x
1
, . . . , x
n
est em forma normal
conjuntiva se uma conjuno de clusulas, onde cada clusula uma disjuno de literais. Uma
literal uma varivel ou sua negao. Por exemplo, a frmula (x, y, z) = (xy)(xyz)(yz)
est em forma normal conjuntiva.
Problema 1 (Sat) Dada uma frmula booleana (x
1
, . . . , x
n
) em forma normal conjuntiva, deci-
dir se h atribuio para as variveis x
1
, . . . , x
n
de maneira a tornar (x
1
, . . . , x
n
) verdadeira.
16
Problema 2 (MaxSat-D) Dado uma frmula booleana (x
1
, . . . , x
n
) em forma normal conjun-
tiva e um inteiro k, decidir se a frmula contm uma atribuio que satisfaz pelo menos k clusulas.
Dado grafo no-orientado G = (V, E), um conjunto de vrtices S V dito ser um conjunto
independente de G se nenhum par de vrtices u, v S ligado por uma aresta em G.
Problema 3 (Conjunto Independente-D) Dado grafo G = (V, E) no-orientado e inteiro k,
decidir se existe conjunto independente S V de cardinalidade k.
Problema 4 (Partio) Dado conjunto de inteiros S, decidir se h conjunto T S tal que
xT
x =
yS\T
y.
Teorema 2 Os problemas Sat, MaxSat-D, Conjunto Independente-D e Partio so NP-completos.
Apesar da classe NP ser de problemas de deciso, ela contempla vrios problemas que so
simplicaes de problemas de busca e de otimizao combinatria. Convencionou se chamar de
problemas NP-difceis os problemas que so to difceis quanto os problemas NP-completos usando
redues de tempo polinomial. Assim, o problema de se encontrar uma atribuio para variveis
booleanas de maneira a satisfazer uma frmula em forma normal conjuntiva um problema NP-
difcil. Note que no problema de deciso s queremos decidir se existe alguma atribuio que satisfaz
a frmula, sem se preocupar em qual atribuio de fato a satisfaz. O problema de otimizao do
conjunto independente denido como:
Problema 5 (Conjunto Independente) Dado grafo G = (V, E) no-orientado, encontrar um
conjunto independente S V de cardinalidade mxima.
Este um tpico problema de otimizao combinatria, onde queremos encontrar uma certa es-
trutura (no caso um conjunto independente) que minimiza ou maximiza certa funo (no caso a
cardinalidade do conjunto independente). Certamente se soubermos qual o tamanho de um con-
junto independente de cardinalidade mxima, ento saberemos tambm responder a pergunta se
existe algum conjunto independente de cardinalidade k. Para mais detalhes sobre modelos de
computao, classes de complexidade e otimizao combinatria, veja [8, 17, 33].
Na prtica existem diversos problemas NP-difceis, como problemas de escalonamento de tarefas,
balanceamento de carga, projeto de redes de telecomunicaes e circuitos VLSI, roteamento de ve-
culos, empacotamento de objetos em containers, localizao de centros distribuidores, alinhamento
de DNA e protenas, classicao de dados, etc [39, 5].
Uma vez que um problema identicado ser NP-difcil sabemos que as chances de existir um
algoritmo eciente (de tempo polinomial) para resolv-lo remota. Com isso, podemos de maneira
mais conciente, fazer algoritmos exatos mas sabendo que dicilmente eles resolvero instncias
17
grandes. Para instncias maiores um algoritmo de tempo exponencial pode ser invivel e nos
sugere que devemos procurar por algoritmos ecientes, mas que no necessariamente cobrem todas
as restries do problema. No caso dos problemas de otimizao comum fazer algoritmos ecientes
que encontram solues que satisfazem todas as restries do problema, exceto possivelmente de
ser uma com valor da funo objetivo mnimo, para problemas de minimizao, ou de valor mximo,
para problemas de maximizao. Chamaremos estas solues de solues viveis do problema. Por
outro lado, desejado que tal soluo no se distancie muito de uma soluo exata. Uma das
principais abordagens neste caso desenvolver um algoritmo de aproximao.
Denio 4 Dizemos que um algoritmo A para um problema de otimizao tem um fator de
aproximao se a seguinte desigualdade vale
max
_
A(I)
OPT(I)
,
OPT(I)
A(I)
_
, para toda instncia I,
onde A(I) (resp. OPT(I)) o valor da soluo obtida pelo algoritmo A (resp. de uma soluo
tima) para a instncia I.
Assim, se um algoritmo uma 2-aproximao para um problema de minimizao, ele devolve
solues que so no pior caso duas vezes a tima, para toda instncia do problema.
importante observar que provar que um algoritmo de aproximao -aproximado, no
quer dizer que ele sempre ir devolver solues com valor prximos deste fator, mas sim que nunca
atingir um desempenho pior que este fator. Ademais, a busca por melhores fatores de aproximao
fora que a estrutura combinatria dos problemas seja melhor investigada, e com isso incentiva o
surgimento de tcnicas e ferramentas capazes de explor-las. Um exemplo deste comportamento
pode ser visto no problema de alocao de recursos (facility location problem) para o qual foram
apresentados algoritmos com fatores de aproximao 1,861 e 1,61 e que produziram resultados, em
poucos segundos, com distncia mdia do valor da soluo tima de 3% e 1%, respectivamente [22].
Para ver mais sobre algoritmos de aproximao, sugerimos a leitura dos livros [8, 39, 5].
A partir desta introduo, veremos nas prximas sees sobre a complexidade de se encontrar
equilbrios de Nash em estratgias puras e mistas. No decorrer do texto, veremos que a abordagem
de aproximao usada tanto nas medidas do equilbrio como no desenvolvimento de mecanismos
ecientes.
3.2 Jogos com estratgias puras
Considere um jogo com estratgias puras e n jogadores, onde cada jogador i possui conjunto S
i
de
exatamente m estratgias. Se representarmos de maneira direta cada possvel vetor de estratgias,
ento teremos m
n
possveis resultados para o jogo. Nesta representao, conhecida como forma
18
padro, ca fcil vericar a existncia de um equilbrio. Para isto, basta vericar se algum vetor
de estratgias s est em equilbrio para todos os jogadores. Para vericar se s est em equilbrio
para um jogador i, basta percorrer os vetores de estratgias (s
i
, s
i
), para todo s
i
S
i
\ {s
i
}, e
vericar se uma destas m1 estratgias d a ele uma utilidade maior. Como temos n jogadores, a
vericao de s pode ser feita facilmente em tempo O(nm). Com isso, a busca por um equilbrio de
Nash pode ser determinada com complexidade de tempo O(nm
n+1
). Uma vez que a representao
do problema j consumiu espao O(m
n
), a complexidade de tempo obtida para vericar se h
equilbrio polinomial em relao ao tamanho da instncia. Por outro lado, tal representao s
possvel para jogos que no so grandes. Note que mesmo quando cada jogador tem apenas duas
estratgias disponveis, isto j nos leva a uma complexidade de tempo de O(n2
n
).
Assim, natural que muitos jogos computacionais no sejam dados na forma padro, mas usem
alguma estrutura adicional compacta, de preferncia de tamanho polinomial no nmero de jogadores
e estratgias. Nestes casos, a idia usar um algoritmo que para cada vetor de estratgias, use esta
estrutura para dizer se ele est em equilbrio, ou apresente uma estratgia melhor se no estiver.
Veremos alguns exemplos deste tipo posteriormente, como no jogo de balanceamento de carga e no
jogo de conexo global.
Para entender a complexidade computacional de se decidir a existncia de um equilbrio, con-
sidere um jogo grco (graphical games) onde os jogadores so representados pelos vrtices de um
grafo G = (V, E) e as utilidades de um jogador i dependem apenas de suas estratgias e das es-
tratgias dos vizinhos de i em G. Esta uma representao interessante quando as escolhas de
cada jogador dependem de um grupo restrito de jogadores. Em alguns casos o nmero de jogadores
que inuenciam um jogador limitado por uma constante (i.e., o grau de cada vrtice no grafo
limitado por constante). Assim, se o grau de cada vrtice limitado por uma constante k e cada
jogador tem no mximo m estratgias, ento o nmero de valores de utilidades diferentes para um
jogador limitado por m
k+1
, o que polinomial no nmero de estratgias. Portanto, o tamanho da
instncia neste jogo limitado a nm
k
. Contudo, apesar de ganharmos uma representao compacta
para o jogo, mesmo quando m constante o problema de se encontrar um equilbrio de Nash
difcil [18].
Teorema 3 Decidir a existncia de equilbrio puro de Nash em jogos grcos NP-completo,
mesmo quando o grau de cada vrtice limitado a 3.
Na literatura h vrias outras situaes onde decidir a existncia de equilbrio puro nos d um
problema NP-completo. Para uma discusso mais profunda sobre isso, veja [13].
19
3.3 Tempo de convergncia em jogos com estratgias puras
Nesta seo iremos considerar o nmero de passos (escolhas realizadas durante o jogo) para se
chegar a um equilbrio de Nash em jogos sequenciais, onde cada jogador sabe apenas o resultado
atual do jogo. Vimos na subseo anterior, que decidir a existncia de um equilbrio um problema
NP-completo e h jogos que no terminam em um equilbrio de Nash. Um exemplo o jogo Cara
ou Coroa, que nunca atingia um equilbrio de Nash em estratgias puras. Outro exemplo foi visto
no jogo de Compartilhamento de Largura de Banda, onde havia um equilbrio, mas os jogadores
poderiam fazer melhorias de valores cada vez menores que de fato convergiam para um equilbrio,
sem no entanto chegar a ele em nmero nito de passos. Assim, vamos considerar jogos que sempre
tm equilbrios de Nash e os jogadores chegam a um equilbrio em nmero nito de passos. O
problema de atingir um equilbrio de Nash em jogos com estratgias puras tem relao com a
classe PLS (Polynomial-time Local Search). Esta classe foi denida para problemas de otimizao
combinatria que usam uma estrutura de vizinhana entre as solues viveis do problema [23]. A
vizinhana denida em geral atravs de pequenas alteraes de uma soluo vivel para outra.
Um algoritmo de busca local comea com uma soluo vivel e percorre suas solues vizinhas.
Caso uma das solues vizinhas tenha valor estritamente melhor, ento o algoritmo abandona a
soluo corrente e passa a usar uma daquelas solues vizinhas com valor melhor. Este processo se
repete at que se encontre uma soluo sem vizinhos melhores; tal soluo chamada de soluo
tima local. Por ser menos conhecida, mas de importncia para o estudo da complexidade de jogos
com estratgias puras, formalizaremos a classe PLS a seguir.
Em um problema de minimizao temos: (i) um conjunto de instncias I
e algoritmo de
tempo polinomial que verica se x I
, temos um conjunto de
solues viveis F
, encontrar s F
e s F
) para todo s
N
x
(s). O objetivo encontrar uma soluo que mnimo
local.
A denio de problema de maximizao e problemas de maximizao local so anlogos e assim
deixaremos para o leitor sua descrio. Chamaremos de problemas de otimizao, os problemas de
minimizao ou maximizao e por soluo tima local as solues que so mnimos locais ou
mximos locais para os respectivos problemas.
Um problema de otimizao local pertence classe PLS se temos um algoritmo com com-
plexidade de tempo polinomial que, para qualquer instncia x I
e soluo s F
(x), decide
se s tima local, e se no for, devolve s
N
x
(s) com c
x
(s
) < c
x
(s), se for um problema de
20
minimizao, ou c
x
(s
) > c
x
(s) se for um problema de maximizao. Uma PLS-reduo de um
problema de otimizao local Q para outro P consiste de: (a) funes h e g computveis em tempo
polinomial tal que h mapeia instncias de x I
Q
para instncias h(x) I
P
e g mapeia solues de
h(x) para solues de x; (b) para toda instncia x de Q, se s uma soluo tima local de h(x),
ento g(s, x) uma soluo tima local de x. Um problema P PLS-completo se est em PLS e se
para todo problema Q de PLS, h uma PLS-reduo de Q para P [23].
O Max2Sat com vizinhana Flip um problema PLS-completo e denido atravs de uma
vizinhana de solues para o problema de otimizao Max2Sat [35]. Denimos estes problemas
a seguir.
Problema 6 (Max2Sat) Dada frmula booleana em forma normal conjuntiva, cada clusula
com um peso associado, encontrar uma atribuio lgica das variveis de maneira a maximizar o
peso total das clusulas satisfeitas.
Problema 7 (Max2Sat com vizinhana Flip) Encontrar uma soluo tima local para o pro-
blema Max2Sat, onde a vizinhana dada trocando o valor de uma das variveis.
Alm deste, vrios outros problemas de busca local, denidos sobre problemas de otimizao mais
gerais, como MaxSat, MaxCut, TSP, entre outros, foram provados serem PLS-completos. Se
existir um algoritmo que sempre obtm um timo local em tempo polinomial para um destes
problemas, ento ser possvel obter algoritmos ecientes para encontrar uma soluo tima local
para qualquer problema em PLS. Apesar de ser tambm uma classe grande, ningum conseguiu
mostrar a existncia de um algoritmo de tempo polinomial que garantidamente obtm solues
timas locais para qualquer problema em PLS-completo. Para mais detalhes, veja [23, 35]. Isto
mostra de certa maneira a diculdade de se obter solues timas locais ecientemente.
Na Subseo 4.3, veremos uma classe de jogos que sempre possuem equilbrios de Nash, mas
encontr-los foi provado ser um problema PLS-completo. Assim, parece igualmente difcil obter
maneiras de se explorar os movimentos deste jogo e garantir uma convergncia para um equilbrio
de Nash em tempo polinomial.
Uma tentativa interessante de se contornar esta situao, considerar que os jogadores escolhem,
dentre todas as estratgias que melhoram sua utilidade, uma que devolve o maior benefcio. Mais
formalmente, vamos denir os conceitos de resposta de melhoria e melhor-resposta. Dado jogador
i, sua funo de utilidade u
i
e vetor de estratgias s, dizemos que s
i
uma resposta de melhoria
para s se u
i
(s
i
, s
i
) > u
i
(s). Isto , se o jogador i mudar sua escolha de s
i
para s
i
, sua utilidade
ir aumentar. Naturalmente, dentre todas as respostas de melhoria, deve haver uma que d a ele
o maior incremento na utilidade. Assim, uma estratgia s
i
uma melhor-resposta do jogador i se
u
i
(s
i
, s
i
) mximo dentre todas as estratgias de melhoria s
i
de i.
21
Apesar de ser uma escolha interessante, pois d ao jogador a chance de fazer o melhor possvel
dentro da sua viso local, pode haver jogos onde a melhor-resposta leva a um nmero exponencial
de passos. Em particular, o jogo da Subseo 4.3 pode gastar uma quantidade exponencial de
passos, mesmo usando estratgias de melhor-resposta.
3.4 Jogos com estratgias mistas
Nesta seo, iremos considerar jogos com nmero nito de jogadores e estratgias. Quando con-
sideramos estratgias mistas, o Teorema de Nash nos garante que todo jogo nesta situao tem
um equilbrio de Nash. Porm, as demonstraes existentes deste resultado no so construtivas e
no indicam como encontrar um equilbrio, muito menos por algoritmos ecientes. Vamos denotar
por Nash o problema de se encontrar um equilbrio de Nash em estratgias mistas em jogos com
nmero nito de jogadores e estratgias.
A teoria de NP-completude no parece ser adequada para investigar a complexidade computa-
cional do problema Nash. Problemas da classe NP-completo pedem a existncia de solues com
certas restries e no caso do problema Nash, sempre h um equilbrio de Nash.
O problema Nash foi provado ser PPAD-completo [9]. No iremos denir esta classe, pois ela
pouco intuitiva e necessita de maior fundamentao terica. importante observar que a existncia
de um algoritmo de tempo polinomial para resolver Nash (neste caso teramos P = PPAD) nos
daria tambm algoritmos ecientes para vrios outros problemas que so PPAD-completo e tem
resistido a existncia de tais algoritmos h dcadas. Alguns destes problemas so os problemas de se
encontrar pontos xos de Brouwer e Borsuk-Ulam, problema ham sandwich, busca de equilbrios de
Arrow-Debreu em mercados, etc. Para mais informaes sobre argumentos nesta linha, veja [9, 32].
4 Medidas do Equilbrio
Nesta seo, iremos considerar jogos que sempre tm equilbrios de Nash e os jogadores sempre
chegam a um equilbrio. Com isso, cabe perguntar Como medir a qualidade de um equilbrio de
Nash ?
No jogo Dilema dos Prisioneiros, o nico equilbrio existente quando ambos confessam, o
que dava a cada um uma pena de 4 anos. Por outro lado, se houvesse coordenao entre eles
e ambos cassem em silncio, cada um caria preso por 2 anos. Nota-se facilmente a inecincia
qualitativa do resultado em equilbrio, uma vez que h outro resultado onde ambos jogadores obtm
maior benefcio. Este tipo de comparao pode ser interessante quando comparamos quantidades
abstratas e preferncias dos jogadores. Para muitos jogos, os custos e benefcios dos jogadores
representam gastos, lucro ou outros valores mensurveis. Com isso, podemos usar funes para
medir a qualidade dos resultados, mesmo entre resultados que so pareto timos. Vamos considerar
22
que temos uma funo de valorao, chamada de funo social, que dado um resultado do jogo (vetor
de estratgias), nos devolve um valor numrico. Esta funo social representa a utilidade social
(ou custo social) do resultado. Para diferir os casos onde queremos maximizar a utilidade social
ou minimizar o custo social, usaremos tambm os termos funo de benefcio social ou funo de
custo social.
No jogo de Congestionamento 1, da Seo 2, havia dois equilbrios, um com utilidade total 10
e outro com utilidade total 12. Neste caso, poderia ser mais interessante para a sociedade que
fosse escolhido um equilbrio onde a satisfao mdia entre os jogadores maior ( equivalente
a ter soma das utilidades maior). De fato, uma funo social comum nestes jogos a soma das
utilidades (ou custos) dos jogadores. Este tipo de funo chamada de funo utilitria do jogo.
Um exemplo de funo social que no utilitria uma que devolve a maior insatisfao/custo
entre todos os jogadores (e no a soma dos custos). Este tipo de funo chamada de funo
igualitria. Naturalmente, podemos denir funes diversas para cada jogo, e sua denio ter
impactos diretos nas medidas usadas em cada situao.
4.1 Preo da Anarquia e Preo da Estabilidade
Uma vez denida a funo social do jogo, precisamos saber como os resultados em equilbrio se
comparam com os melhores resultados do jogo, denido por esta funo social. Dada uma funo
social, um resultado do jogo chamado de resultado timo social se a funo aplicada ao resultado
nos d a maior utilidade/benefcio (ou menor custo) dentre todos os possveis resultados do jogo.
Um resultado timo social pode inclusive no estar em equilbrio.
Por exemplo, se considerarmos a funo social do Dilema dos Prisioneiros, como a mdia dos
anos que os prisioneiros cam presos, o resultado timo social aquele onde a mdia de 2 anos.
J o resultado em equilbrio tem a mdia de 4 anos, que duas vezes maior que a soluo tima
social.
Baseado neste tipo de comparao, denimos a seguir o preo da anarquia e o preo da estabi-
lidade.
Se J um jogo com conjunto de vetores de estratgias S e f : S R uma funo de custo
social (resp. funo de benefcio social), denotamos por E(J) o conjunto de vetores de estratgias
de J que esto em equilbrio e OPT(J) = min{f(s) : s S} (resp. OPT(J) = max{f(s) : s S}).
Com isso, s um resultado timo social se f(s) = OPT(J). O desejo, para o sistema como um
todo, que o resultado em equilbrio atingido pelos jogadores esteja prximo do timo social, de
preferncia que tenha o mesmo valor.
O preo da anarquia, PA, de um jogo de minimizao J a maior razo entre o valor de um
23
resultado em equilbrio e o valor de um resultado timo social [24]. Mais formalmente, temos que
PA = max
_
f(s)
OPT(J)
: onde s E(J)
_
.
Se J um jogo de maximizao a denio anloga, e temos
PA = max
_
OPT(J)
f(s)
: onde s E(J)
_
.
O preo da estabilidade, PE, de um jogo de minimizao J a menor razo entre o valor de um
resultado em equilbrio e o valor de um resultado timo social [1]. Formalmente, temos
PE = min
_
f(s)
OPT(J)
: onde s E(J)
_
.
Se J um jogo de maximizao a denio anloga, e temos
PE = min
_
OPT(J)
f(s)
: onde s E(J)
_
.
Para todos os casos, temos que PA 1 e PE 1. O preo da anarquia, nos diz o quo longe
o resultado em equilbrio pode estar de um resultado timo social e o preo da estabilidade diz o
quo perto ele pode estar deste resultado. Quando a instncia J do jogo estiver clara pelo contexto,
usaremos apenas OPT como o valor de um resultado timo social.
4.2 Jogo de Balanceamento de Carga
O problema de balanceamento um problema bsico em sistemas computacionais e foi bastante
investigado na literatura como um problema de otimizao em escalonamento de tarefas. A verso
para jogos generaliza o problema de congestionamento, apresentado como exemplo do jogo Batalha
dos Sexos. Quando temos vrios jogadores e pontos de acesso, cada jogador procura transferir seus
dados a partir de um ponto menos congestionado. Esta seo foi baseada no artigo [41].
Jogo de Balanceamento de Carga. Temos um conjunto de m mquinas e um conjunto de n
tarefas, cada uma pertencente a um jogador. Para simplicar, usaremos um nmero i para indicar
tanto a tarefa como seu correspondente jogador. Cada jogador deve alocar sua tarefa i, que tem
um peso w
i
, em uma das m mquinas. Um vetor de estratgias neste caso simplesmente uma
atribuio de tarefas para mquinas, A : [n] [m], onde A(j) nos d a mquina escolhida pelo
jogador j. Denotaremos por A
i
o conjunto de tarefas atribudas mquina i e por
i
o peso total
das tarefas em i, isto ,
i
=
jA
i
w
j
. O custo do jogador da tarefa j o peso da mquina onde
24
j foi atribudo. J o custo social de uma atribuio A uma funo igualitria dada pelo peso
mximo de uma mquina, i.e., c(A) = max{
i
: i [m]}. Chamaremos este custo de makespan da
atribuio.
Exemplo 3 Considere um resultado inicial do problema de balanceamento de carga dado na Figura
6-(a), onde o nmero dentro de cada item corresponde ao seu peso. Neste resultado o jogador do
item de peso 4 tem um custo de 6 e tem incentivo para migrar para a mquina da direita, onde
pagaria 5. O resultado aps esta migrao dado na Figura 6-(b). Agora, o jogador do item de peso
1, que inicialmente tinha custo 1, ca com custo 5 e faz a migrao para a mquina da esquerda,
onde pagar 3. Aps esta migrao, temos o resultado da Figura 6-(c), que uma congurao em
equilbrio.
1
2
2
1
1
4 4
2
4
(b) (c) (a)
Figura 6: Sequncia de movimentos at o equilbrio.
Note que denimos este jogo de maneira sucinta onde a quantidade de dados de entrada
linear no nmero de jogadores (tarefas) e mquinas. Alm disso, o custo de cada jogador, dada
uma atribuio, computada ecientemente em tempo linear. Se tivssemos representado todos
os vetores de estratgia possveis de maneira tabular, teramos m
n
possibilidades. Certamente
isso demandaria, para instncias de tamanho mdio ou grande, uma quantidade de memria e
processamento proibitivos.
A verso de otimizao do problema de balanceamento de carga o problema de se buscar
uma atribuio com makespan mnimo e NP-difcil, mesmo para o caso onde h apenas duas
mquinas [17]. De fato, note que se existir um algoritmo que produza um balanceamento de carga
com makespan mnimo em tempo polinomial, ento poderemos decidir o problema da Partio,
dado como NP-completo no Teorema 2.
Este jogo no s tem um equilbrio de Nash, mas sempre converge para um [16].
Teorema 4 O jogo de balanceamento de carga sempre converge para um equilbrio de Nash.
Prova. No jogo de balanceamento de carga, uma atribuio A est em equilbrio de Nash se e
somente se todos os jogadores estiverem satisfeitos. Isto ,
A(j)
i
+w
j
, para todo jogador j e mquina i = A(j).
25
Considere uma atribuio A qualquer. Seja
w(A) = (
1
, . . . ,
m
) o vetor das cargas das mquinas
da atribuio A, em ordem no crescente de peso (
1
2
. . .
n
). Considere um movimento
de um jogador insatisfeito. Vamos mostrar que aps o movimento deste jogador, a nova atribuio
A
dar um vetor
w(A
i
continua o mesmo e a carga
i
diminui, temos que o novo vetor de cargas ordenado de maneira
no crescente, lexicogracamente menor.
Note que na prova, assumimos apenas que em cada passo um jogador insatisfeito movia sua
tarefa para alguma mquina. Independente se o movimento era de melhoria ou melhor-resposta.
Alm disso, note que se comearmos o jogo com uma soluo tima para o problema de otimiza-
o, obteremos um resultado em equilbrio com o mesmo makespan. Para isto, basta comear o jogo
a partir de um resultado timo do problema de otimizao. Note pela prova do teorema anterior,
que durante o jogo, o makespan nunca aumenta. Assim, encontrar um resultado em equilbrio com
makespan mnimo um problema NP-difcil. O seguinte teorema uma consequncia direta deste
fato.
Teorema 5 Encontrar um melhor balanceamento de carga em equilbrio um problema NP-difcil.
Prova. Para provar este resultado, vamos reduzir o problema da partio (veja Teorema 2) colo-
cando cada inteiro da instncia da Partio como uma tarefa com o mesmo peso. O problema da
partio tem soluo se e somente se h um balanceamento onde cada mquina tem o mesmo peso
total. Alm disso, um balanceamento onde cada mquina tem o mesmo peso total certamente est
em equilbrio. Portanto, a busca de um equilbrio de custo social mnimo nos dene tambm se o
problema da partio tem soluo.
26
Tempo de Convergncia para o Equilbrio
Apesar do jogo de balanceamento de carga convergir para um equilbrio, este pode ser dado em
um tempo muito grande. Por enquanto sabemos apenas que o nmero de passos no mximo o
nmero de resultados, que m
n
. Em alguns casos comum os jogadores usarem movimentos de
melhor-resposta. O prximo teorema mostra que mesmo nestas condies o nmero de passos pode
ser demasiadamente grande [12].
Teorema 6 Existe uma instncia do jogo balanceamento de carga com n tarefas e m mquinas e
sequncia de movimentos de melhor-resposta onde o equilbrio de Nash alcanado em pelo menos
_
n
k
2
_
k
passos, onde k = m1.
Note que para instncias onde k =
_
n/4 temos pelo menos 2
n
passos. A prova do teorema envolve
bastante detalhes, assim, daremos um exemplo que ilustra sua idia para o caso de duas mquinas,
onde todos os movimentos de melhoria so tambm de melhor-resposta. Para este caso de duas
mquinas o jogo pode levar a uma sequncia de n
2
/4 movimentos para atingir um equilbrio [12].
Exemplo 4 Considere um jogo com duas mquinas e n tarefas dadas pelo conjunto {1, . . . , n},
para n par, onde as tarefas 2i 1 e 2i tem peso 3
i
, para i = 1, . . . , n/2. Considere um resultado
inicial onde todas as tarefas esto em uma das mquinas e em cada passo, migre a tarefa de um
jogador insatisfeito que tiver o menor peso. Isto nos dar a quantidade total de n
2
/4 movimentos,
que deixaremos como exerccio para o leitor. A seguir, apresentamos uma simulao para n = 6.
O resultado inicial dado pela Figura 7-(a). Neste resultado todos os jogadores esto insatisfei-
tos. Considerando que migramos sempre a tarefa do jogador insatisfeito com menor peso, migramos
inicialmente a tarefa de peso 1. Isto nos leva ao resultado da Figura 7-(b). Continuando com as
migraes das tarefas de peso 1 e 3, chegamos no resultado da Figura 7-(e) com todos jogadores das
tarefas de peso 1 e 3 satisfeitos. Agora, note que ao migrar uma das tarefas de peso 9, Figura 7-(f ),
todos os jogadores das tarefas de peso menor (pesos 1 a 3) cam todos em uma mquina e voltam
a car insatisfeitos. Nota-se que as tarefas de maior peso (peso 9) nunca mais voltaro a car
insatisfeitas e com isso, voltamos a ter um resultado como o inicial, mas com 4 tarefas insatisfeitas
(n 2 para um caso geral).
Por outro lado, a ordem em que so feitas as migraes importante. Notamos que para
qualquer resultado inicial podemos chegar a um equilbrio no jogo de balanceamento de carga
rapidamente [41]. A prova relativamente simples e considera uma sequncia onde a cada iterao,
feita a migrao de uma tarefa mais pesada e que pertence a um jogador insatisfeito.
Teorema 7 Para qualquer vetor de estratgias do jogo de balanceamento de carga com n tarefas e
m mquinas, existe uma sequncia de no mximo n passos de melhor-resposta para se atingir um
equilbrio de Nash.
27
1
1
1
9
1
9
3
3
3
3
9
9
1
9 9
3
1
3
1
9
3
9
9
9
3
9
9
3
1
3
1
3
1
9
3
1
9
3
1
1
1
3
3
9
3
1
1
1
9
3 9
9
3
9
1
9
1
3
1
3
(c)
(f ) (g)
(b)
(h) (i)
(a)
(j)
(e) (d)
Figura 7: Sequncia de pior movimentos em duas mquinas.
Como j comentado, se comearmos o jogo a partir de uma soluo tima para a verso de
otimizao (que obtm o resultado de menor custo social) o jogo termina em equilbrio de Nash
sem aumentar o makespan. O seguinte resultado uma consequncia direta deste fato.
Teorema 8 O preo da estabilidade do jogo de balanceamento de carga 1.
O jogo de balanceamento foi investigado como um problema de busca local e foi mostrado ter
preo da anarquia menor que 2 [15].
Teorema 9 O preo da anarquia do jogo de balanceamento com n tarefas e m mquinas no
mximo 2
2
m+1
.
Prova. Seja A uma atribuio em equilbrio e c(A) o custo social desta atribuio. Seja i
uma
mquina mais carregada deste resultado (i.e., c(A) =
i
). Se i
e j de peso mnimo,
temos que w
j
i
2
.
28
Agora, considere uma mquina i diferente de i
i
i
w
j
i
i
2
=
1
2
i
=
1
2
c(A).
Agora, usando o fato que OPT
j
w
j
m
, temos
OPT
j
w
j
m
=
i
m
=
i
+
i=i
i
m
c(A) +
i=i
1
2
c(A)
m
=
(m+ 1)c(A)
2m
.
Isolando c(A), temos o limitante para o preo da anarquia.
Observamos tambm que o preo da anarquia apresentado no Teorema 9 justo [41]. Isto ,
para cada valor de m, existe uma instncia onde o preo da anarquia exatamente 2
2
m+1
.
4.3 Jogo de Conexo Global e Jogos Potenciais
Para ilustrar os jogos potenciais, iremos considerar um problema de formao de redes. Nestes
jogos, os equilbrios puros sempre existem e a dinmica de melhor-resposta tambm converge para
um equilbrio de Nash. Esta seo foi baseada no artigo [38].
No jogo de conexo global os jogadores querem construir ligaes (links) entre ns distantes.
Cada jogador quer conectar um par de vrtices de maneira barata e a cooperao entre os jogadores
se d quando uma mesma ligao usada por vrios jogadores e o custo de uma ligao dividido
igualmente entre seus usurios. Este mecanismo de dividir igualmente o custo chamado de
compartilhamento de custos de Shapley.
Exemplo 5 Considere dois jogadores que querem construir rotas de conexo de um vrtice a outro,
cujas possveis ligaes so dadas pelo grafo da Figura 8-(a). O jogador 1 quer construir uma
rota de ligao de s para t
1
e o jogador 2 quer construir uma rota de ligao de s para t
2
. Se
uma conexo local, dada por uma aresta do grafo, usada pelos dois jogadores, sua construo
dividida igualmente entre os dois, caso contrrio, sua construo paga pelo jogador que usar a
aresta. Alm disso, considere que cada jogador i comeou com um caminho (estratgia) de s para t
i
apresentada pelas arestas grossas da Figura 8-(b), para i = 1, 2. Neste resultado, o jogador 1 paga 4
29
e no interessante mudar para outro caminho, que passa pelo vrtice central, pois este custaria a
ele 6 (= 5 +1). J o jogador 2 est pagando 8 neste resultado e nota que se trocar seu caminho por
outro que passa pelo vrtice central, ele diminuir seu gasto para 6, e portanto faz esta mudana,
como mostrado na Figura 8-(c). Uma vez que o jogador 2 est usando o vrtice central, melhor
para o jogador 1 tambm mudar de estratgia, pois agora ele poder compartilhar a aresta de valor
5 (pagando metade dela) e pagaria menos pelo novo caminho. Assim, este jogador faz a mudana
e ambos cam satisfeitos no resultado da Figura 8-(d), cada um pagando 3,5 (= 5/2 + 1).
(d)
s
t
1
t
2
s
t
1
t
2
s
t
1
t
2
s
t
1
t
2
8 4
5
1 1
(a)
8 4
5
1 1
8 4
5
1 1
8 4
5
1 1
(b) (c)
Figura 8: Evoluo de um jogo de roteamento.
Jogo de Roteamento Global. Neste jogo, so dados k jogadores {1, . . . , k}, um grafo orientado
G = (V, E), custo no negativo c
e
para cada aresta e E e pares de vrtices s
i
e t
i
para cada
jogador i. A estratgia do jogador i um caminho P
i
em G ligando s
i
a t
i
. Para simplicar a
notao, dado um vetor de estratgias P = (P
1
, . . . , P
k
), usaremos P
i
tambm como o conjunto de
arestas no caminho considerado. Se P um vetor de estratgias, P = (P
1
, . . . , P
k
), e k
e
o nmero
de jogadores que usam a aresta e em P, ento o custo para o jogador i em P
c
i
(P) =
eP
i
c
e
k
e
.
Assim, o pagamento de cada aresta dividida igualmente entre os usurios da aresta e o custo de
um jogador a soma dos pagamentos que realizou nas arestas do seu caminho. O custo social de
P = (P
1
, . . . , P
k
) o custo total de se construir as ligaes de conexo, que dado por
c(P) =
eE
P
c
e
, onde E
P
= P
1
. . . P
k
.
Note que aqui tambm usamos uma representao compacta para representar o jogo, o que
permitiu usar uma quantidade de memria polinomial no nmero de jogadores e no tamanho do
grafo. Note que invivel representar (para grafos medianos ou grandes) uma lista de todas as
estratgias de um jogador explicitamente, pois cada estratgia de um jogador um caminho que
30
liga seu vrtice de origem ao vrtice destino. Portanto, se tivermos um grafo com arestas de ida
e volta entre cada par de vrtices, qualquer sequncia de vrtices comeando em s
i
e terminando
em t
i
uma estratgia para o jogador i. Armazenar todas estas estratgias certamente demandaria
demasiada quantidade de memria e processamento.
Para este jogo, vamos considerar que a cada momento, um jogador realiza um movimento de
melhor-resposta para o jogo. Note que para isso, o jogador i precisa resolver em cada passo do jogo
um problema de caminho mnimo do vrtice s
i
ao vrtice t
i
. Este problema pode ser resolvido em
tempo polinomial [11, 8] usando o mesmo grafo de ligaes e pondo a distncia de uma aresta como
o valor a ser pago pelo jogador i ao usar esta ligao. Desta maneira um caminho mnimo de s
i
a
t
i
nos d o menor custo de uma rota em cada resultado.
Se temos k jogadores, fcil ver que o preo da anarquia deste jogo est limitado a k.
Proposio 10 O preo da anarquia do jogo de roteamento global no mximo o nmero de
jogadores. Isto , PA k.
Prova. Seja P = (P
1
, . . . , P
k
) um vetor de estratgias em equilbrio, P
= (P
1
, . . . , P
k
) um vetor
de estratgias onde P
i
um caminho mnimo de s
i
a t
i
em G e O
e O
eP
i
c
e
c(O
eP
i
c
e
, pois caso contrrio o jogador i mudaria sua estratgia para o caminho P
i
. Com
isso, temos
c(P) =
eE
P
c
e
=
i
c
i
(P)
eP
i
c
e
i
c(O
)
= k c(O
) = k OPT.
Exemplo 6 A Figura 9-(a) apresenta um exemplo que mostra que o limite da proposio 10 no
pode ser melhorado. Neste exemplo temos k jogadores e todo jogador i quer obter uma conexo
do vrtice s ao vrtice t (todos jogadores tem a mesma origem e o mesmo destino). O resultado
timo social usar a aresta de peso 1, que est claramente em equilbrio com cada jogador pagando
1/k. O resultado onde todos usam a aresta de peso k tambm uma soluo em equilbrio e cada
jogador paga 1 e portanto no tem incentivo em mudar (individualmente) para a outra aresta.
interessante observar que se houvesse uma coalizo de jogadores, estes poderiam migrar para a
31
aresta de peso 1 e os demais fora da coalizo tambm migrariam para a aresta de peso 1, alcanando
o menor equilbrio.
Agora, considere o exemplo da Figura 9-(b) onde o jogador i quer conectar o vrtice s (todos
jogadores tm o mesmo vrtice de origem) ao vrtice t
i
. O resultado timo social aquele onde
todos os jogadores usam a aresta de peso 1 + , onde um valor positivo bem pequeno, e depois
seguem para as respectivas arestas de peso 0. Neste resultado cada jogador paga (1 + )/k. Apesar
de ter um custo baixo, este resultado no est em equilbrio, pois o jogador k est insatisfeito e pode
pagar menos usando apenas a aresta de peso 1/k. Aps a migrao do jogador k, ele ca satisfeito
e os demais devem dividir o peso de 1+ entre os k1 jogadores restantes, pagando (1+)/(k1).
Neste momento, o jogador k 1 ca insatisfeito, pois pode pagar menos usando apenas a aresta
de peso 1/(k 1). Continuando desta maneira, vemos que o jogo termina em um resultado em
equilbrio de peso H
k
= 1 +
1
2
+ . . . +
1
k
. Este exemplo mostra que o preo da estabilidade deve ser
pelo menos H
k
.
s
t
1
t
2
t
k
t
k1
t
3
1
k
1
k1
1
3
1
2
1
1 +
0 0 0 0 0
(a) (b)
t
s
1 k
Figura 9: (a) Instncia com PA = k. (b) Instncia com PE = H
k
.
A seguir, mostraremos que o preo da estabilidade deste jogo no mximo H
k
, usando o mtodo
da funo potencial. Vamos denir o custo social de um vetor de estratgias s por c(s) e o custo
pago pelo jogador i ao participar do vetor de estratgias s como c
i
(s).
Denio 5 Uma funo potencial exata uma funo que mapeia cada vetor de estratgias s
para um valor real tal que para todo jogador i, temos
(s
i
, s
i
) (s
i
, s
i
) = c
i
(s
i
, s
i
) c
i
(s
i
, s
i
), para todo s
i
S
i
.
Neste caso dizemos que temos um jogo potencial.
Teorema 11 Se um jogo tem nmero nito de estratgias e uma funo potencial exata , o jogo
sempre converge para um equilbrio de Nash.
32
Prova. Considere um vetor de estratgias s. Se s no est em equilbrio ento h um jogador
insatisfeito i. Considere a mudana de estratgia de s
i
para s
i
pelo jogador i. Pela funo potencial,
temos (s
i
, s
i
) (s
i
, s
i
) = c
i
(s
i
, s
i
) c
i
(s
i
, s
i
). Como o jogador i diminuiu seu custo, temos
que (s
i
, s
i
) > (s
i
, s
i
) e portanto seu movimento fez o potencial do novo vetor de estratgias
do jogo car estritamente menor que o do potencial anterior. O potencial do vetor de estratgias
corrente sempre diminui a cada iterao e o jogo nunca passar pelo mesmo vetor de estratgias
duas vezes. Portanto, se o jogo tem nmero nito de estratgias, ele deve convergir em algum
momento para um equilbrio de Nash.
Para mostrar que o jogo de roteamento global sempre tem um equilbrio de Nash, denimos
a seguinte funo potencial: Dado vetor de estratgias P = (P
1
, . . . , P
k
) do jogo de roteamento
global, denimos a funo potencial
(P) =
eE
c
e
H(k
e
),
onde k
e
o nmero de caminhos de P que usam a aresta e e H(t) = 1 +
1
2
+ +
1
t
para t 1 e
H(0) = 0.
Lema 12 A funo denida para o jogo de roteamento global uma funo potencial exata.
Prova. Seja P = (P
1
, . . . , P
k
) um vetor de estratgias e P
= (P
i
, P
i
) o vetor de estratgias obtido
aps um movimento de melhoria do jogador i. Isto , o jogador i trocou o caminho P
i
pelo caminho
P
i
. Seja tambm k
e
e k
e
o nmero de caminhos usando a aresta e nos vetores de estratgia P e P
,
respectivamente. Para toda aresta e que pertence a P e P
, o
valor de k
e
o mesmo de k
e
e portanto c
e
H(k
e
) = c
e
H(k
e
). Com isso, temos
(P) (P
) =
eE
c
e
H(k
e
)
eE
c
e
H(k
e
)
=
eE
(c
e
H(k
e
) c
e
H(k
e
))
=
eP
i
\P
i
(c
e
H(k
e
)c
e
H(k
e
))+
eP
i
\P
i
(c
e
H(k
e
)c
e
H(k
e
)) (1)
=
eP
i
\P
i
c
e
k
e
+
eP
i
\P
i
c
e
k
e
=
eP
i
\P
i
c
e
k
e
+
eP
i
P
i
c
e
k
e
eP
i
\P
i
c
e
k
eP
i
P
i
c
e
k
e
(2)
=
eP
i
c
e
k
e
eP
i
c
e
k
e
=c
i
(P) c
i
(P
),
33
onde (1) vlida pois k
e
= k
e
quando e no pertence a P nem a P
ou quando e pertence a P e P
eP
i
P
i
ce
ke
e subtramos
eP
i
P
i
ce
k
e
e nestas duas somatrias temos
tambm que k
e
= k
e
.
Corolrio 13 O jogo de roteamento global com a dinmica de melhor-resposta converge para um
equilbrio de Nash.
Prova. Pelo Lema 12 temos que uma funo potencial exata e portanto, pelo Teorema 11, o
jogo converge para um equilbrio de Nash.
O seguinte lema mostra que a funo (P) est prxima do valor do custo de S.
Lema 14 Se P = (P
1
, . . . , P
k
) um vetor de estratgias, ento
c(P) (P) H(k)c(P). (3)
Prova. A primeira desigualdade de (3) segue direto da denio de e do fato que H(k
e
) pelo
menos 1 se e pertence a P e 0 caso contrrio. Isto ,
c(P) =
eE
P
c
e
eE
P
c
e
H(k
e
) =
eE
c
e
H(k
e
) = (P).
A segunda desigualdade de (3) segue do fato que H(k
e
) H(k), uma vez que o nmero de caminhos
que usam uma aresta no mximo o nmero de jogadores.
(P) =
eE
c
e
H(k
e
) =
eE
P
c
e
H(k
e
)
eE
P
c
e
H(k) = H(k)c(P).
Teorema 15 O preo da estabilidade do jogo de roteamento global no mximo H(k).
Prova. Seja O
) (6)
H(k)c(O
) = H(k)OPT. (7)
34
A desigualdade (4) segue pois dentre os resultados em equilbrio, P a de menor custo. A desigual-
dade (5) segue do Lema 14. A desigualdade (6) vale pois O foi obtido de O
aps movimentos de
melhoria, que s diminuem o valor do potencial. A ltima desigualdade segue novamente do Lema
14.
O problema de busca do resultado timo social para o caso especial onde s
i
= s
j
, para 1
i, j k, o problema da rvore de Steiner em grafos orientados, que alm de ser NP-difcil [17]
improvvel ter fator de aproximao (1 ) log |V | para qualquer > 0 [14]. Notamos tambm que
mesmo usando estratgias de melhor-resposta, o tempo de convergncia do problema de roteamento
global pode ser exponencial no tamanho da entrada, como mostrado em [1]. O seguinte teorema
mostra a diculdade de se obter um equilbrio de Nash em jogos potenciais, mesmo usando a
dinmica de melhor-resposta [13].
Teorema 16 O problema de encontrar um equilbrio puro de Nash em jogos potenciais, onde a
melhor-resposta computada em tempo polinomial, PLS-completo.
O seguinte teorema, provado por Syrgkanis [36], estabelece a complexidade computacional de se
encontrar um equilbrio de Nash no jogo de roteamento global.
Teorema 17 O problema de encontrar um equilbrio de Nash no jogo de roteamento global PLS-
completo.
Por m, observamos que para grafos no-orientados, podemos denir outras formas de compar-
tilhamento de custos onde o preo da anarquia limitado a 2 [38].
5 Projeto Algortmico de Mecanismos
Nesta seo apresentamos uma introduo ao projeto algortmico de mecanismos. Um mecanismo
um processo algortmico que escolhe uma soluo social baseado nas preferncias dos jogadores.
Para isso, o mecanismo deve ter regras de funcionamento que incentivem os jogadores a declarar
informaes verdadeiras para que a escolha social seja feita adequadamente. Um problema quando
lidamos com jogadores que tem interesses prprios e independentes, que eles podem no dizer
seus verdadeiros benefcios sobre os resultados e mentir para que possivelmente o jogo termine com
um resultado mais favorvel a ele. Este tipo de situao ocorre em vrios problemas onde h vrios
participantes, como eleies e escolhas de lideres, denio de prioridades, alocao e pareamento
por preferncias, leiles, etc.
Neste texto nos restringiremos aos mecanismos cujos resultados, tanto de maneira social como
individual, podem ser medidos numericamente. O texto desta seo foi baseado no artigo [30].
Primeiramente, veremos um problema de leilo que se encaixa neste tipo de jogo e apesar de
simples, contempla as principais idias envolvidas no projeto de mecanismos.
35
5.1 Leilo de Vickrey
Considere um leilo de um item nico, onde h potenciais compradores (jogadores) que fazem lances
para possuir o item e nenhum jogador sabe at quanto os outros jogadores podero pagar pelo item.
Um possvel meio de se implementar tal leilo com apenas uma rodada de lances fazendo com que
cada jogador declare um valor em um envelope fechado e leva o item o jogador que tiver o maior
valor, e este ser tambm o valor pago por ele. Note que cada jogador j deve ter um valor privado
v
j
(s conhecido pelo jogador j) que o limite que ele poder pagar pelo item e ainda ter algum
benefcio ao adquiri-lo. Um dos problemas deste tipo de leilo, que os jogadores tendem a mentir
sobre o valor a ser declarado no envelope. Suponha que o ganhador do item colocou um valor de
10 no envelope e o segundo maior valor foi 5. Assim, apesar do ganhador ainda ter benefcio ao
declarar seu valor privado de 10, ele no ca contente, pois sabe que se tivesse declarado 6 tambm
teria ganho e seu benefcio seria ainda maior. Assim, este tipo de regra (mecanismo) pode levar os
jogadores a mentir sobre os valores declarados, na esperana de aumentar seus benefcios.
Uma maneira de resolver isso, fazer vrias rodadas comeando com algum valor mnimo,
possivelmente 0. Em cada rodada o leiloeiro pergunta se algum outro participante cobre o valor da
rodada anterior por um pequeno valor adicional. O primeiro a se manifestar o ganhador daquela
rodada com o valor anterior acrescido do pequeno adicional. Este processo se repete, sempre
adicionando um pequeno valor ao denido na rodada anterior. Quando chegar a uma rodada onde
no h outro participante disposto a pagar pelo novo valor, o leiloeiro para e declara o ltimo
vencedor como ganhador do leilo pagando seu correspondente valor.
Se neste mecanismo o item foi vendido por um valor para o jogador j
, ento certamente
ainda compensa para o jogador j
i
(a) no o leva a ter um benefcio maior. Mais formalmente, temos:
Denio 7 Um mecanismo (f, p
1
, . . . , p
n
) dito ser incentivo-compatvel (do ingls incentive-
compatible, tambm usado como truthful ou strategy-proof) se para todo jogador i, todo v
1
V
1
, . . .,
todo v
n
V
n
e todo v
i
V
i
temos
v
i
(a) p
i
(v
i
, v
i
) v
i
(a
) p
i
(v
i
, v
i
),
onde a = f(v) e a
= f(v
i
, v
i
).
Denio 8 Um mecanismo dito ter uma funo de utilidade (utilitarian function) se sua funo
de escolha social a somatria das declaraes dos jogadores (isto ,
i
v
i
(a)).
Uma das principais abordagens para projetar mecanismos aplicar o mtodo VCG [40, 6, 19],
que permite denir mecanismos incentivo-compatveis para funes de utilidade.
Denio 9 Um mecanismo (f, p
1
, . . . , p
n
) dito ser um mecanismo VCG (Vickrey-Clarke-Groves)
se
f(v
1
, . . . , v
n
) arg max
aA
j
v
j
(a), isto , f maximiza o benefcio social e
para funes h
1
, . . . , h
n
, onde h
i
: V
i
R para todo v
1
V
1
,. . ., para todo v
n
V
n
, temos
p
i
(v
1
, . . . , v
n
) = h
i
(v
i
)
j=i
v
j
(f(v
1
, . . . , v
n
)).
No primeiro item acima temos que o mecanismo deve escolher uma alternativa que maximiza o
benefcio social dadas as escolhas dos jogadores; chamaremos estas alternativas de alternativas
economicamente ecientes. O segundo ponto diz que a funo de pagamento de um usurio i
depende de uma funo h
i
(v
i
) e da soma
j=i
v
i
(f(v
1
, . . . , v
n
)) que a soma total dos valores dos
38
outros jogadores. Note que o valor pago ao jogador i no depende do valor v
i
. Na viso do jogador
i, o termo h
i
basicamente uma constante, pois s depende dos valores declarados pelos outros
jogadores.
Teorema 19 Todo mecanismo VCG incentivo-compatvel.
Prova. Seja v = (v
1
, . . . , v
n
) as declaraes (funes) dos jogadores. Vamos mostrar que um jogador
i no tem vantagens ao declarar v
i
em vez de v
i
(xando a declarao dos outros jogadores). Vamos
denotar por v
= (v
i
, v
i
) (declaraes dos jogadores trocando v
i
por v
i
) e alternativas a = f(v) e
a
= f(v
j=i
v
j
(a).
Ao declarar v
i
, a utilidade de i
u
i
(a
) = v
i
(a
) p(v
) = v
i
(a
) h
i
(v
i
) +
j=i
v
j
(a
).
Como no mecanismo VCG, v e a so tais que
j
v
j
(a) mximo, temos que
j
v
j
(a)
j
v
j
(a
). Assim,
u
i
(a) = v
i
(a) h
i
(v
i
) +
j=i
v
j
(a)
= h
i
(v
i
) +
j
v
j
(a)
h
i
(v
i
) +
j
v
j
(a
)
= v
i
(a
) h
i
(v
i
) +
j=i
v
j
(a
) (8)
= u
i
(a
),
onde (8) vale pois v e v
i
.
A funo h usada na denio do mecanismo VCG pode inclusive fazer situaes onde alguns
jogadores recebem e outros pagam ao mecanismo, o que em muitos casos no natural. Em geral,
tambm no normal os jogadores pagarem mais que o item vale para ele. Assim, interessante
que todos os benefcios/utilidades sejam no negativos e com isso nenhum jogador tenha prejuzo
ao participar do jogo. As seguintes denies formalizam o que queremos:
39
Denio 10 Um mecanismo dito ser individualmente racional se os jogadores sempre obtm
benefcio no negativo. Isto , se para todo v
1
, . . . , v
n
temos v
i
(f(v
1
, . . . , v
n
)) p
i
(v
1
, . . . , v
n
)
0. Dizemos que um mecanismo no tem transferncias positivas se nenhum jogador recebe do
mecanismo (em vez de pagar). Isto , se para todas funes v
1
, . . . , v
n
e todo jogador i, temos
p
i
(v
1
, . . . , v
n
) 0.
possvel obter mecanismos VCG que atendam a estas duas condies denindo h
i
como sendo
h
i
(v
i
) = max
bA
j=i
v
j
(b) [6].
Note que no mecanismo VCG, a alternativa a = f(v
1
, . . . , v
n
) tal que
i
v
i
(a) mxima.
Na regra de pagamento de Clarke para pagamento de um jogador i fazemos p
i
(v
1
, . . . , v
n
) =
j=i
v
i
(f(v
i
))
j=i
v
i
(a). A primeira parte busca por um resultado com benefcio social mximo,
mas sem contar com o jogador i. A segunda somatria nos d o valor da alternativa que maximiza
o benefcio social, mas sem contar a contribuio do jogador i. Assim, o pagamento representado
pela regra de Clarke ao jogador i igual ao prejuzo que ele causaria aos outros jogadores, caso no
participe da soluo.
Lema 20 Um mecanismo VCG com regra de pagamento de Clarke no faz transferncias positivas.
Alm disso, se v
i
(a) 0 para todo v
i
V
i
e a A ento o mecanismo individualmente racional.
Prova. Seja a = f(v
1
, . . . , v
n
) uma alternativa que maximiza
j
v
j
(a) e b A uma alternativa que
maximiza
j=i
v
j
(b). Vamos mostrar que o mecanismo individualmente racional. A utilidade do
jogador i dada por
v
i
(a) p
i
(v) = v
i
(a) +
j=i
v
j
(a)
j=i
v
j
(b)
j
v
j
(a)
j
v
j
(b) (9)
0, (10)
onde a desigualdade (9) vlida pois v
i
(b) 0 e a desigualdade (10) vlida pois a foi escolhida
como uma alternativa que maximiza
j
v
j
(a). Para mostrar que no h transferncias positivas,
note que
p
i
(v
1
, . . . , v
n
) =
j=i
v
j
(b)
j=i
v
j
(a) 0,
j que b foi escolhido como uma alternativa que maximiza
j=i
v
j
(b).
A regra de pagamento de Clarke no se encaixa em muitas situaes onde os valores so negati-
vos, quando alternativas tem custos aos jogadores. No caso de custos, o mecanismo que paga para
os jogadores. Podemos adaptar a regra de pagamento de Clarke para um jogador i, modicando a
regra que escolhe b como a alternativa que minimiza o custo social quando i no participa do jogo.
40
Exemplo 7 Considere novamente o Leilo de Vickrey. Vamos de fato mostrar que o mecanismo
denido no leilo de Vickrey VCG. Cada resultado do jogo indica que um dos jogadores o
vencedor e os demais so os perdedores. O vencedor paga pelo item e os demais pagam 0. Denote o
conjunto de jogadores por N = {1, . . . , n} e por A = {1, . . . , n} o conjunto de possveis resultados
do jogo. Assim, se o resultado do jogo a A, ento o jogador a o vencedor do jogo.
O valor da alternativa a
) que 0 se i = a
ou o valor privado
v
i
(a) se i = a
.
Aplicando o mecanismo de Vickrey, o resultado do jogo uma alternativa a, que maximiza
i
v
i
(a). Para cada alternativa h apenas um valor no nulo, que igual ao lance do jogador
correspondente alternativa. Assim, a alternativa que maximiza esta soma a alternativa do
jogador de maior lance.
Denido o vencedor, digamos i
j=i
v
j
(b)
j=i
v
j
(a).
O primeiro termo do lado direito da igualdade o maior valor de uma alternativa, quando o jogador
i
no participa do jogo; e portanto igual ao segundo maior lance. O segundo termo do lado direito,
a soma dos valores obtidos pelos outros jogadores quando i
. Assim, o mecanismo VCG aplicado a este leilo de item nico nos d exatamente o
Leilo de Vickrey e portanto um mecanismo incentivo-compatvel.
5.3 Um Jogo de Caminho Mnimo
Muitos projetos de mecanismos podem ser resolvidos usando o mecanismo VCG. Um exemplo o
jogo do camnho mnimo [31], que denimos a seguir.
Suponha que um grafo G = (V, E) representa os caminhos possveis por onde podemos construir
um caminho de s a t, onde s, t V . Cada aresta e E representa um trecho que pode ser construdo
por um agente (jogador) distinto e sua construo demanda um valor c
e
0 por seu agente. Por
simplicidade, usaremos e para denotar tanto a aresta como seu agente. O objetivo encontrar um
caminho de s a t em G e determinar pagamentos p
e
para cada agente e. O valor gasto pelo agente e
0 se sua aresta no faz parte do caminho escolhido (pois no precisar construir nada) e c
e
se for
escolhido (neste jogo o sistema que paga para o agente e). Note que este exemplo de custo (em
vez de utilidade). Assumiremos por simplicidade que o grafo 2-aresta conexo (isto , a remoo
de uma aresta ainda deixa o grafo conexo).
Este problema tem aplicaes na Internet, onde vrias sub-redes pertencem a diferentes agentes e
busca-se uma rota para fazer uma transmisso de dados pela rede. A idia construir um mecanismo
que permita construir um caminho barato de s a t e dena pagamentos para os jogadores de maneira
41
que eles no tenham vantagens ao declarar valores diferentes dos custos verdadeiros das construes
de suas arestas. Para isso, vamos usar o mecanismo VCG para denir o caminho e os pagamentos.
A ecincia econmica direta, pois o mecanismo VCG j nos garante que o resultado escolhido
deve ser um que maximiza a utilidade social (minimiza custos). Com isso, seja P
um caminho
mnimo de s a t, em relao aos custos declarados. Assim, o custo social do resultado dado por
c(P
) =
eP
c
e
. (11)
Agora, continuando na denio do mecanismo VCG para este jogo, vamos denir os pagamentos
p
e
para cada agente e. Para isto, dena o conjunto P
Ge
como o conjunto dos caminhos de s a t
que no usam a aresta e. Assim, o pagamento do agente e dado por
p
e
= min
P
P
Ge
fP
c
f
fP
e
c
f
= min
P
P
Ge
c(P
) c(P
) + c
e
. (12)
A denio do resultado e dos pagamentos pode ser feita atravs de no mximo n execues de
um algoritmo de caminho mnimo, sendo uma execuo para a obteno do caminho P
, que ser
o resultado do jogo com valor dado em (11), e no mximo n 1 execues para os pagamentos,
uma para cada aresta e P
de s a t que no passa
por e, basta executar um algoritmo de caminho mnimo no grafo G e. Como o grafo 2-aresta
conexo, tal caminho sempre existe.
Assim, o mecanismo VCG para este jogo pode ser realizado com complexidade de tempo poli-
nomial, uma vez que a obteno de um caminho mnimo pode ser feita em tempo polinomial [11].
interessante observar que em vez de fazer n 1 execues do algoritmo de caminho mnimo
para computar os pagamentos dos agentes no caminho timo, possvel obter todos os pagamentos
computando apenas duas rvores de caminhos mnimos [21].
Exemplo 8 Considere o grafo da Figura 10. O caminho mnimo de s a t dado pela sequncia
de vrtices P
) c
sx
) = 8 (6 3) = 5.
Note que se o custo da aresta sx fosse maior que 5, o custo do caminho P
) c
xy
) = 7 (6 1) = 2,
p
yt
= c(P
yt
) (c(P
) c
yt
) = 7 (6 2) = 3.
Quando o problema de otimizao subjacente para encontrar o resultado timo e os pagamentos
resolvido de maneira eciente, podemos ter uma implementao do mecanismo VCG de maneira
eciente. Em particular, podemos ter mecanismos ecientes para o correspondente jogo que busca
(constri) uma rvore geradora de peso mnimo [8] e o jogo que busca um emparelhamento de peso
mximo [27].
6 Leiles Combinatoriais
As aplicaes em leiles tem motivado o estudo de vrios problemas pelos pesquisadores da rea
de Teoria dos Jogos Algortmica. Leiles pela Internet apresentam vrias vantagens em relao aos
leiles realizados em salas fechadas. Algumas destas vantagens podem incluir exibilidade de tempo,
sem limitaes de presena fsica, permite grande nmero de possveis compradores e vendedores,
maior nmero de vendas simultaneamente, etc. As aplicaes de leiles ocorrem em diversas reas
e produtos, desde venda de itens de pequeno valor como livros e discos de msica, como os grandes
leiles combinatoriais de espectros em telefonia celular na ordem de vrios bilhes de dlares [4].
Uma das aplicaes de grande ateno na rea ocorre na apresentao de propagandas na Internet.
Motores de busca, como Google e Yahoo, reservam alguns trechos (slots) da pgina de busca onde
costumam apresentar links de propaganda [26]. Nesta aplicao, anunciantes oferecem valores para
que seus links apaream nos slots quando um certo conjunto de palavras for procurado. Com isso,
as empresas dos motores de busca devem resolver um problema de leilo, muito rapidamente, para
denir quais os vencedores dos slots para cada busca. A escolha dos vencedores deve considerar
tambm a chance do link ser clicado, uma vez que os anunciantes s pagam pelos links clicados
43
(pay-per-click).
Nesta seo, veremos um problema de leilo onde vrios itens esto sendo leiloados e cada
possvel comprador pode dar valores diferentes para vrias combinaes de itens. No exemplo
visto do Leilo de Vickrey, temos apenas um item sendo leiloado. Uma maneira para tratar o
leilo de vrios itens simplesmente fazer vrios leiles de item nico, como no caso do Leilo de
Vickrey. Porm, isso no retrata situaes importantes, como o interesse do jogador comprar um
determinado conjunto de itens e no h interesse em comprar apenas um ou parte deles. Neste
caso, dizemos que os itens deste conjunto se complementam. Outra situao quando um certo
conjunto de itens pode ser substitudo por outro. Isto , um comprador poderia estar interessado
em pelo menos um dos conjuntos, mas se tiver os dois sua utilidade no ser maior que ter apenas
um deles.
Exemplo 9 Considere um leilo onde dois itens {a, b} esto sendo leiloados e h trs potenciais
compradores (jogadores 1, 2 e 3). A Tabela 2 d os pesos atribudos por cada jogador a cada possvel
conjunto.
{a} {b} {a, b}
Jogador 1 5 4 15
Jogador 2 6 6 6
Jogador 3 2 10 12
Tabela 2: Exemplo de instncia para leilo combinatorial.
Nota-se que o Jogador 1, tem mais preferncia pelo item a que pelo item b. Alm disso, como
deu um lance muito maior (que a soma dos lances individuais) para o conjunto {a, b}, nota se que
a e b se complementam e resultam em um valor maior quando obtidos juntos para o jogador 1. J
para o jogador 2, os itens a e b possuem o mesmo valor, e alm disso obter os dois itens no mais
interessante que obter apenas um. Assim, os itens a e b se substituem para o jogador 2. J para o
jogador 3, os itens so independentes e o valor dos dois itens juntos exatamente a soma dos dois
itens em separado.
6.1 Mecanismo VCG
Denotamos por I o conjunto dos itens sendo leiloados. Uma valorao v
i
de um jogador i em um
leilo combinatorial dos itens de I uma funo real para cada subconjunto S I. Deve ser
montona (i.e., v
i
(S) v
i
(T) para todo S T) e normalizada (i.e., v
i
() = 0). As funes de
valorao dos jogadores so dadas por um vetor de valorao v = (v
1
, . . . , v
n
) onde v
i
a funo de
valorao do jogador i. Uma alocao para um leilo combinatorial dos itens de I para n jogadores,
dado por uma sequncia S = (S
1
, . . . , S
n
), onde S
i
o conjunto de itens atribudo ao jogador i e
44
S
i
S
j
= para i = j. Neste caso, o valor privado v
i
(S) o valor v
i
(S
i
), que o valor do conjunto
S
i
para o jogador i. O benefcio social desta alocao dado pelo valor v(S) =
i
v
i
(S
i
), onde v
o vetor de valorao dos jogadores. Denotamos por A o conjunto de todas as alocaes possveis
dos itens de I aos jogadores. Dizemos que uma alocao socialmente eciente se seu benefcio
social mximo (aqui ecincia no tem a ver com complexidade de tempo polinomial).
Neste jogo, os jogadores denem os valores para os conjuntos de itens e o mecanismo deve denir
quem so os vencedores e para cada vencedor dizer o seu conjunto de itens e quanto ele ir pagar pelo
conjunto. Inicialmente, usaremos o mecanismo VCG de maneira a fazer os jogadores reportarem
seus valores privados, obtendo uma alocao socialmente eciente e denindo os pagamentos de
cada jogador.
Mecanismo CA
Entrada: Conjunto de itens I a serem leiloados.
Subrotina: Algoritmo R para obter uma alocao socialmente eciente.
1. Cada jogador i submete um lance v
i
(S) para cada S I.
2. Use R para obter uma alocao S = (S
1
, . . . , S
n
) para o vetor de valorao v = (v
1
, . . . , v
n
)
que maximiza v(S).
3. O pagamento do jogador i denido como o valor p
i
, dado por
p
i
= max{v(S
) : S
S
i
}
j=i
v
j
(S
j
),
onde S
i
o conjunto de todas as alocaes que no atribuem conjuntos a i. Utilize a rotina
R para resolver o problema de maximizao.
Note que o mecanismo acima uma aplicao do mecanismo VCG para o problema de leiles
combinatoriais, uma vez que nos passos 2 e 3 buscamos por resultados timos sociais (que maxi-
mizam v(S), com e sem o jogador i) e o pagamento o quanto a ausncia do jogador i causa de
prejuzo para os outros jogadores, ao se ausentar da soluo.
Como o pagamento denido acima usa a regra de Clarke, veja Lema 20, segue pelo Teorema 19
que o mecanismo acima incentivo-compatvel.
Teorema 21 O mecanismo CA incentivo-compatvel.
Para vrios problemas, a resoluo de partes do jogo podem envolver problemas computacional-
mente difceis de serem tratados e mesmo para problemas simples maximizar o benefcio social pode
ser um problema NP-difcil. No caso dos leiles combinatoriais, um primeiro cuidado que devemos
ter na denio da funo de valorao, que como denido acima dada para todo subconjunto
45
de itens. Assim, se o leilo tiver n itens, teremos 2
n
subconjuntos possveis e portanto precisaremos
desta quantidade de valores para representar a valorao de cada jogador. Porm, na prtica os
jogadores se importam com poucas conguraes de conjuntos e denem regras (algoritmos) para
valorar outras situaes baseadas nestas conguraes bsicas. Por exemplo, um jogador pode estar
interessado em obter apenas o conjunto {a, b} e tem um certo valor de utilidade para ele. Para todos
os outros conjuntos que contm estes dois itens, a utilidade a mesma; j para os outros conjuntos
que no contm estes dois itens sua utilidade nula. Neste caso, basta armazenar o conjunto de
interesse deste jogador e a regra de valorao para os demais. Naturalmente, a ecincia do jogo
tambm dependente da forma como estes algoritmos avaliam os conjuntos.
Um segundo ponto que devemos tomar cuidado na busca de uma alocao socialmente eciente.
Note que no mecanismo CA, o passo 2 um problema de busca de uma alocao socialmente
eciente, e no passo 3 o pagamento do jogador i calculado resolvendo se a busca de uma alocao
socialmente eciente sem o jogador i. Com isso, o mecanismo CA deve resolver n+1 problemas de se
encontrar uma alocao socialmente eciente. A diculdade aqui que o problema de se obter uma
alocao socialmente eciente um problema NP-difcil. Veremos alguns casos particulares para
os quais h algoritmos ecientes e um outro que apesar de ser NP-difcil, apresenta um mecanismo
guloso que incentivo-compatvel e obtm uma alocao aproximada.
A vantagem de se usar o mecanismo VCG que ele j nos garante que obteremos uma alo-
cao que incentivo-compatvel. Assim, para instncias pequenas do jogo, podemos utilizar um
algoritmo exato para resolver o problema de alocao socialmente eciente. Neste caso, h um al-
goritmo por programao dinmica com complexidade de tempo O(3
n
) que poderia ser utilizado no
mecanismo CA para obter alocao e pagamentos de maneira incentivo-compatvel [34]. O seguinte
teorema mostra que quando h poucos itens em relao ao nmero de compradores ou h poucos
compradores em relao ao nmero de itens, o problema de alocao pode ser resolvido de maneira
eciente [34].
Teorema 22 No jogo de leilo combinatorial com n itens e m jogadores, o mecanismo VCG pode
ser implementado em tempo polinomial se n log m ou se m log n.
Um caso particular que tambm pode ser resolvido obtendo um mecanismo eciente, quando
cada jogador i est interessado em apenas um conjunto S
i
de cardinalidade mxima 2. Neste caso,
o problema de alocao pode ser resolvido atravs de um problema de emparelhamento de peso
mximo da seguinte forma: Seja I o conjunto de itens. Como um jogador i est interessado em
apenas um conjunto S
i
, denotaremos por (S
i
, v
i
) seu lance e denotaremos simplesmente por v
i
o
valor v
i
(S
i
). Vamos construir um grafo inicialmente com cada vrtice igual a um item. Para cada
lance (S
i
, v
i
) com |S
i
| = 1, coloque mais um vrtice novo e ligue com o vrtice em S
i
atravs de
uma aresta de peso v
i
. Para cada lance (S
i
, v
i
) com |S
i
| = 2, coloque uma aresta ligando os dois
vrtices em S
i
atravs de uma aresta de peso v
i
. Seja G o grafo ponderado obtido desta forma.
46
Note que com isso, uma alocao no jogo nos dene um emparelhamento de mesmo peso em G
(um emparelhamento um conjunto de arestas que no tem extremos em comum). O problema
de se obter um emparelhamento de peso total mximo pode ser resolvido ecientemente [27] e
consequentemente, h uma rotina eciente para obter uma alocao socialmente eciente neste
caso. Portanto, obtemos um mecanismo incentivo-compatvel (usando esta rotina no mecanismo
CA) para este caso.
6.2 Leiles Combinatoriais com Objetivo nico
Uma tentativa de se obter mecanismos ecientes no mecanismo VCG substituir os algoritmos
exatos de tempo exponencial por algoritmos ecientes (como algoritmos aproximados) na esperana
que ainda continuem incentivo-compatveis. Infelizmente no podemos simplesmente embutir uma
rotina direta, pois nem sempre h garantias de que o mecanismo continue incentivo-compatvel.
Para apresentar a utilizao de um mecanismo aproximado neste caso, vamos considerar uma
verso mais restrita do jogo, onde o problema de alocao associado ainda intratvel. Neste
problema, que chamaremos de leilo combinatorial de objetivo nico (Single-Minded Case), cada
jogador tem interesse em obter um determinado conjunto de itens. O texto que segue foi baseado
no artigo [4].
Uma valorao v
i
, do jogador i, chamada de valorao de conjunto nico para o conjunto de
itens I se existe um conjunto S
i
I e valor
i
> 0 tal que v
i
(S
i
) =
i
para todo conjunto S que
contm S
i
e v
i
(S
i
) = 0 caso contrrio. Denotaremos um lance de conjunto nico por um par (S
i
, v
i
)
e o valor v
i
(S
i
) simplesmente por v
i
. Chamaremos apenas de problema de alocao, o problema de
alocao para o jogo de leilo combinatorial com objetivo nico.
Apesar de ser um caso particular dos leiles combinatoriais, o problema de se encontrar uma
alocao socialmente eciente para o caso de conjunto nico ainda NP-difcil.
Teorema 23 Dado um inteiro k e uma instncia do jogo de leilo combinatorial com objetivo nico,
o problema de se decidir se existe uma alocao socialmente eciente de valor k um problema
NP-completo.
Prova. A prova que este problema est em NP direta. Assim, vamos mostrar que NP-difcil. Para
isso, vamos reduzir o problema do conjunto independente, enunciado como problema NP-completo
no Teorema 2, para o problema de alocao de valor k.
Dados grafo G = (V, E) e inteiro k, instncia do problema do conjunto independente, dena o
conjunto de itens como sendo o conjunto E e o conjunto de jogadores como o conjunto V . Para
cada jogador i V , dena S
i
= {e E : e incidente a i}, v
i
= 1 e seu lance como o par (S
i
, v
i
).
A prova segue do fato que um conjunto independente de tamanho k em G nos d uma alocao de
valor k no jogo, e vice-versa.
47
Note que a prova de reduo do problema do conjunto independente para o problema de alocao
socialmente eciente preserva aproximao, na verso de otimizao destes dois problemas. Como
h um resultado de inaproximabilidade para o problema do conjunto independente, este se transfere
para o problema da alocao por valorao de conjunto nico. O seguinte teorema mostra a
diculdade de se obter solues aproximadas para o problema de conjunto independente [42, 20].
Teorema 24 No existe um algoritmo de aproximao com fator n
1
, para qualquer > 0, para
o problema do conjunto independente, a menos que P = NP.
Atravs deste teorema, obtemos o mesmo resultado de inaproximabilidade para o nmero de joga-
dores. Para adaptar o problema para nmero de itens, note que em um grafo, o nmero de arestas
(que na reduo so os itens) no mximo n
2
. Portanto, temos m n
2
e o seguinte corolrio segue
do teorema anterior.
Corolrio 25 No existe um algoritmo de aproximao com fator m
1/2
, para qualquer > 0,
para o problema de alocao socialmente eciente, a menos que P = NP.
Agora, vamos considerar um mecanismo de aproximao incentivo-compatvel para o jogo de
leilo combinatorial com objetivo nico. Este um mecanismo guloso que privilegia conjuntos
que tenham um equilbrio entre quantidade de elementos e valor do conjunto. Posteriormente,
mostraremos que este mecanismo uma
m-aproximao para o problema de alocao, e de certo
modo o melhor possvel, considerando o Corolrio 25.
Mecanismo Guloso
Entrada: Conjunto de itens I a serem leiloados.
1. Cada jogador i submete um lance (S
i
, v
i
), onde S
i
I.
2. Reordene os lances tal que
v
1
|S
1
|
v
2
|S
2
|
. . .
vn
|Sn|
.
3. W
4. Para i 1 at n faa
5. se S
i
(
jW
S
j
) = ento W W {i}.
6. Para i 1 at n faa
7. p
i
v
j
|S
j
|/|S
i
|
, onde j o menor ndice tal que S
i
S
j
= e para
8. todo k < j, k = i, S
k
S
j
= . Se no existir tal j ento p
i
0.
9. Devolva a alocao (T
1
, . . . , T
n
), onde T
i
= S
i
se i W e T
i
= caso
48
10. contrrio, e pagamentos (p
1
, . . . , p
n
).
fcil ver que este mecanismo eciente (de tempo polinomial). Para provar que este meca-
nismo incentivo-compatvel, vamos usar as seguintes propriedades para um mecanismo:
Denio 11 Um mecanismo para o leilo combinatorial de objetivo nico satisfaz a propriedade
de Monotonicidade se todo jogador i que ganha com um lance (S
i
, v
i
) continua ganhando para
qualquer v
i
> v
i
e para qualquer conjunto S
i
S
i
(xando os lances dos outros jogadores).
Denio 12 Um mecanismo para o leilo combinatorial de objetivo nico satisfaz a propriedade
de Pagamento Crtico se todo jogador i que vence, paga o menor valor necessrio para vencer. Isto
, o nmo de todos os valores v
i
tal que (S
i
, v
i
) continua vencendo.
Lema 26 Um mecanismo para leilo combinatorial de objetivo nico no qual os perdedores pagam
0 e que satisfaz as propriedades de monotonicidade e de pagamento crtico incentivo-compatvel.
Prova. Note que nas condies dadas, um jogador que declara seu valor privado nunca ir receber
uma utilidade negativa: sua utilidade zero enquanto for perdedor (perdedores no pagam), e se
vencer, seu valor deve ser pelo menos o valor crtico, que exatamente seu pagamento.
Vamos mostrar que cada jogador i nunca melhora sua utilidade ao declarar um lance (S
i
, v
i
) em
vez dos valores verdadeiros (S
i
, v
i
). Se (S
i
, v
i
) um lance perdedor ou se S
i
no contm S
i
, ento
claramente declarando (S
i
, v
i
) s pode ajudar (no sentido de no ser pior). Portanto, assumiremos
que (S
i
, v
i
) um lance vencedor e que S
i
S
i
.
Primeiro, vamos mostrar que o jogador nunca estar pior declarando (S
i
, v
i
) em vez de (S
i
, v
i
).
Denote o pagamento do jogador pelo lance (S
i
, v
i
) por p
, e para o lance (S
i
, v
i
) por p. Para todo
x < p, o lance (S
i
, x) um lance perdedor, uma vez que p um valor crtico. Pela monotonicidade,
(S
, x) tambm ser um lance perdedor para todo x < p, e portanto o valor crtico p
pelo menos
p. Segue que o lance (S
i
, v
i
), em vez de (S
i
, v
i
), tambm ganha e seu pagamento no aumenta.
Resta mostrar que o lance (S
i
, v
i
) no pior que o lance vencedor (S
i
, v
i
). Assuma primeiro
que (S
i
, v
i
) um lance vencedor com um pagamento (de valor crtico) p. Enquanto v
i
maior que
p, o jogador continuar ganhando com o mesmo pagamento; assim, declarando um valor diferente
no ter maior benefcio. Quando v
i
< p o jogador ir perder, ganhando utilidade zero, e ele no
se dar melhor neste caso tambm.
Se (S
i
, v
i
) um lance perdedor, v
i
deve ser um valor menor que o correspondente valor crtico.
Assim, o pagamento para qualquer lance vencedor (S
i
, v
i
) ser maior que v
i
, fazendo este desvio
no lucrativo.
Note que o mecanismo guloso se encaixa nas condies do Lema 26, e portanto incentivo-
compatvel. Para isso, vamos mostrar que satisfaz as condies de monotonicidade e de pagamento-
crtico.
49
Lema 27 O mecanismo guloso para o leilo combinatorial de objetivo nico incentivo-compatvel.
Prova. A monotonicidade garantida, uma vez que aumentando v
i
ou decrescendo S
i
s pode
mover o jogador i para o incio da ordenao, e portanto melhora as chances de i ser ganhador. A
condio de pagamento-crtico satisfeita, uma vez que i ganha se aparecer na ordem antes de j
(veja passo 7) que o primeiro jogador a ser impedido pela entrada de i. O pagamento computado
exatamente o valor da transio entre i ocorrer antes e depois de j na ordenao do mecanismo
guloso.
A seguir, mostramos a razo de aproximao do mecanismo guloso.
Lema 28 Seja O
iO
v
i
mximo e seja W a alocao gerada pelo mecanismo
guloso. Ento,
iO
v
i
m
iW
v
i
.
Prova. Para cada i W, seja O
i
= {j O
: j i e |S
i
S
j
| = } o conjunto de jogadores de O
.
Claramente O
iW
O
i
e portanto se provarmos a seguinte desigualdade, para cada i W,
jO
i
v
j
mv
i
, (13)
temos o resultado desejado:
iO
v
i
iW
jO
i
v
j
iW
mv
i
=
iW
v
i
.
Para provar (13), note que todo j O
i
apareceu aps i na ordem gulosa e portanto v
j
v
i
|S
j
|
|S
i
|
.
Somando para todo j O
i
, temos
jO
i
v
j
v
i
_
|S
i
|
jO
i
_
|S
j
|. (14)
Usando a desigualdade de Cauchy-Schwarz, podemos limitar a ltima somatria em (14) como
jO
i
_
|S
j
|
_
|O
i
|
jO
i
|S
j
|.
Todo S
j
para j O
i
intersepta S
i
. Como O
i
| |S
i
|. Como O
i
|S
j
| m. Portanto,
obtemos
jO
i
_
|S
j
|
_
|S
i
|