Sunteți pe pagina 1din 57

Introduo Teoria dos Jogos Algortmica

Flvio Keidi Miyazawa


2010
Resumo. O advento da Internet trouxe no s novas formas de se fazer computao,
mas tambm maneiras diferentes de se realizar vrias atividades, como comunicao,
busca por informaes, educao, lazer, propaganda, etc. Por se tratar de um ambi-
ente descentralizado, muitas destas atividades envolvem colaborao ou disputa pelos
recursos, e com isso pode motivar que usurios atuem guiados por interesses prprios,
buscando maximizar seus benefcios seja de maneira direta ou atravs de seus progra-
mas. Uma das teorias usadas para modelar estas situaes de maneira formal a Teoria
dos Jogos. Trata-se de um ramo da matemtica aplicada que tem sido aplicada a v-
rias reas (como economia, biologia, sociologia, etc) onde h conito e/ou cooperao
entre indivduos. Por outro lado, a aplicao desta teoria pode esbarrar na grandeza
das instncias envolvidas, principalmente nas aplicaes da Internet. Com isso, muitas
solues obtidas na rea de Teoria dos Jogos no so aplicveis diretamente por serem
inviveis computacionalmente. Tais solues podem esbarrar na representao do jogo,
na forma como os usurios fazem suas escolhas ou na intratabilidade computacional dos
vrios problemas necessrios para sua resoluo. Com isso, surge a rea de Teoria dos
Jogos Algortmica, que investiga solues algortmicas e a complexidade computacional
destes problemas. O texto uma breve introduo Teoria dos Jogos Algortmica, que
como a Internet, tem crescido muito nos ltimos anos. Com isso, no ser possvel apre-
sentar os vrios aspectos e abordagens que vem sendo tratados nesta rea e esperamos
que este texto motive o leitor a um estudo mais detalhado.
Sumrio
1 Introduo 3
2 Jogos Clssicos e Conceitos Bsicos 4
2.1 Conceitos bsicos em Teoria dos Jogos . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Equilbrio de Nash em jogos com estratgias puras . . . . . . . . . . . . . . . . . . . 13
2.3 Equilbrio de Nash em jogos com estratgias mistas . . . . . . . . . . . . . . . . . . 13
3 Complexidade Computacional de se Encontrar um Equilbrio 15
3.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Jogos com estratgias puras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Tempo de convergncia em jogos com estratgias puras . . . . . . . . . . . . . . . . 20
3.4 Jogos com estratgias mistas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4 Medidas do Equilbrio 22
4.1 Preo da Anarquia e Preo da Estabilidade . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Jogo de Balanceamento de Carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 Jogo de Conexo Global e Jogos Potenciais . . . . . . . . . . . . . . . . . . . . . . . 29
5 Projeto Algortmico de Mecanismos 35
5.1 Leilo de Vickrey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2 Denies e o Mecanismo VCG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.3 Um Jogo de Caminho Mnimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6 Leiles Combinatoriais 43
6.1 Mecanismo VCG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.2 Leiles Combinatoriais com Objetivo nico . . . . . . . . . . . . . . . . . . . . . . 47
7 Consideraes Finais 51
ndice Remissivo 52
Referncias bibliogrcas 54
2
1 Introduo
A Teoria dos Jogos uma rea da matemtica aplicada usada para modelar fenmenos onde dois ou
mais agentes interagem entre si. usada em situaes onde as decises de um agente (ou jogador)
dependem ou inuenciam as escolhas de outros. Se popularizou aps a publicao do livro Theory
of Games and Economic Behavior por von Neumann e Morgenstern em 1944, e teve como base
trabalhos anteriores de von Neumann. De fato, von Neumann criou teorias que tiveram grande
impacto em vrias reas. Uma delas na Computao, para a qual algumas das contribuies
incluem a arquitetura de computadores, princpios de programao, anlise de algoritmos, entre
outras [25].
Com o advento da Internet, houve uma transformao rpida na forma como as informaes
so divulgadas e trabalhadas. Seu crescimento rpido e descentralizado, permitiu disponibilizar
e compartilhar informaes de maneira nunca antes vista. Gerou vrias formas alternativas de
comrcio, relacionamentos e maneiras como a computao realizada. Com isso, surgiram tambm
vrios problemas computacionais onde no h um controle centralizado dos agentes envolvidos.
Alm disso, muitas das aes destes agentes so guiados por interesses individuais, onde a deciso
de um agente pode mudar a deciso de outros. Fomentados principalmente pelas aplicaes e
problemas da Internet, surgiu a rea de Teoria dos Jogos Algortmica, que a combinao de
outras duas, que tiveram grande contribuio de von Neumann: a Teoria dos Jogos e a Computao.
Nesta rea, estamos interessados em investigar, analisar e projetar algoritmos e regras associadas
a ambientes onde vrios agentes tem interesses prprios, com impactos em outros.
Por j ter sido bastante investigada, muitos dos conceitos e solues apresentados dentro da rea
de Teoria dos Jogos se encaixam aos problemas computacionais que veremos. Porm, muitas no
consideram nem tratam de maneira adequada os modelos computacionais e suas restries. Estas
restries so muitas vezes inviveis de serem tratadas, dado que as aplicaes, principalmente ad-
vindas da Internet, envolvem um volume de dados e quantidade de usurios extremamente grandes.
Neste texto, estamos preocupados em analisar o uso dos recursos em jogos envolvendo algorit-
mos computacionais bem como projetar jogos com regras que incentivem os jogadores a declararem
informaes vitais para o bom funcionamento do jogo. Por ser uma rea bem consolidada, deman-
daramos uma boa parte do texto apenas para descrever os vrios tipos de jogos e modelos nesta
rea. Assim, optamos por focar nossa ateno em poucos modelos que permitam que o leitor aprecie
algumas anlises e preocupaes algortmicas que aparecem na rea. Uma excelente introduo
Teoria dos Jogos apresentada em [10], que apresenta vrios modelos e exemplos diferentes com
aplicaes na rea da Computao.
A seguir, apresentaremos um breve resumo da organizao do texto. Na Seo 2 veremos alguns
jogos clssicos e introdutrios na rea de teoria dos jogos, com alguns exemplos para a Computao.
Em seguida, veremos denies mais formais sobre jogos puros e mistos e suas estratgias.
3
Na Seo 3, comentamos aspectos sobre a complexidade computacional de se obter uma con-
gurao em equilbrio de Nash. Tais conguraes so resultados do jogo onde nenhum jogador
tem interesse em mudar de escolha, atingindo assim uma congurao estvel.
Na Seo 4, veremos algumas medidas de importncia que aparecem no estudo algortmico de
jogos puros. Para isso, consideramos jogos que convergem para equilbrios de Nash e comparamos
resultados do jogo que esto em equilbrio com um resultado timo, no necessariamente em equi-
lbrio, mas com o melhor benefcio global (social). Veremos sobre as duas principais medidas do
equilbrio nesta linha: o preo da anarquia e o preo da estabilidade. Nesta seo so considerados
dois jogos, o jogo de balanceamento de carga, onde o preo da anarquia mais interessante, e o
jogo de roteamento global, onde o preo da estabilidade nos leva a anlises e tcnicas de maior
interesse. Este segundo problema abordado como um jogo potencial e tambm um exemplo de
jogo colaborativo, onde os jogadores que usam um mesmo recurso compartilham seu custo (cost
sharing).
Na Seo 5, veremos sobre o projeto de mecanismos de jogos. Aqui estamos interessados em
fazer escolhas sociais baseadas nas preferncias dos jogadores. Para isso, o mecanismo deve ter
regras que incentivem os jogadores a declarar informaes verdadeiras para que a escolha social
seja feita adequadamente. Nos restringiremos a casos onde o projeto de mecanismos considera uma
valorao dos benefcios e custos por parte dos jogadores. Veremos um exemplo de leilo de item
nico e da construo de um caminho de custo mnimo.
Na Seo 6, apresentaremos mecanismos para problemas de leiles combinatoriais. Veremos
alguns casos tratveis computacionalmente e outro caso, cuja busca do resultado timo social
intratvel computacionalmente. Seu tratamento ser feito por algoritmos no necessariamente
timos, mas que obtm resultados de maneira eciente e dentro de uma aproximao do resultado
timo social.
Neste texto consideramos questes importantes do lado computacional, como a ecincia e a
complexidade computacional de se resolver os problemas. Boa parte deste texto foi baseada em
captulos do livro Algorithmic Game Theory [32]. Este foi o primeiro livro a tratar da Teoria dos
Jogos Algortmica e cada captulo trata de um tpico e foi escrito por um ou mais pesquisadores
especialistas da rea.
2 Jogos Clssicos e Conceitos Bsicos
A Teoria dos Jogos modela situaes onde h dois ou mais agentes (tambm chamados de jogado-
res), cada um fazendo escolhas que podem afetar os resultados dos outros agentes. Nesta seo,
apresentaremos alguns jogos clssicos da rea de Teoria dos Jogos, comeando com um dos mais
importantes, conhecido como o Dilema dos Prisioneiros. Posteriormente, veremos outros jogos cls-
4
sicos e algumas aplicaes na computao. Esta seo foi baseada no artigo [37]. Por limitao
de espao, no foi possvel apresentar os diversos tipos de jogos e suas aplicaes na computao.
Para mais detalhes, recomendamos que o leitor interessado veja [10, 32, 3].
Dilema dos Prisioneiros. Dois prisioneiros, que chamaremos de A e B, esto sendo julgados por
um crime. A cada um so apresentadas duas escolhas: confessar o crime ou permanecer em silncio.
Se ambos confessarem, eles tero suas penas reduzidas por colaborarem e cumpriro quatro anos
cada um. Se A confessar e B car em silncio, ento A ser usado como testemunha contra B, que
ter uma pena de cinco anos, enquanto A ter sua pena reduzida para um ano. Da mesma forma,
se B confessar e A car em silncio, A ter pena de cinco anos e B de um ano. Se ambos carem
em silncio no ser possvel julgar por todos os crimes e cada um car dois anos preso, por crimes
menores. As penas de cada prisioneiro so esquematizadas pela matriz da Figura 1-(a). Cada
Confessa
Silncio
Confessa Silncio
Confessa
Silncio
Confessa Silncio
4 5
1
2
2
4
1
5
(b)
A
B
A
B
(a)
Figura 1: Dilema dos Prisioneiros.
clula representa um possvel resultado do jogo, conforme as escolhas dos prisioneiros, e contm
dois valores: o do canto inferior esquerdo a pena do prisioneiro A e do canto superior direito
do prisioneiro B. Uma matriz deste tipo chamada de matriz de custos (resp. ganhos), quando
os valores representam custos (resp. ganhos). Na matriz da Figura 1-(b) as setas representam as
preferncias dos prisioneiros de um resultado para outro. A anlise deste e dos outros jogos depende
muito das regras envolvidas nele. Para ilustrar, vamos considerar primeiro que cada jogador deve
fazer uma escolha sem o conhecimento das escolhas dos outros jogadores. Neste caso, temos um
jogo com escolhas simultneas, que exemplicaremos com o Dilema dos Prisioneiros a seguir.
Jogos com Escolhas Simultneas. Considere o jogo do Dilema dos Prisioneiros. Vamos analisar
a escolha do prisioneiro A de acordo com as possveis escolhas do prisioneiro B. Caso o prisioneiro
B escolha Confessa, prefervel ao prisioneiro A tambm escolher Confessa pois com isso car
quatro anos preso, em vez de cinco. Caso o prisioneiro B escolha Silncio, tambm prefervel para
o prisioneiro A escolher Confessa, pois car um ano preso, em vez de dois. A mesma anlise pode
ser feita para o prisioneiro B. Assim, sempre prefervel para um prisioneiro escolher Confessa,
independente da escolha do outro prisioneiro. Com estas escolhas, cada prisioneiro ca quatro anos
5
preso. Por outro lado, se ambos cassem em silncio, cada um caria apenas dois anos preso.
Porm, este no um resultado estvel, mesmo que os prisioneiros combinem previamente, j que
no momento da escolha, um prisioneiro tem motivao para trair e car menos tempo preso. A
anlise de resultados estveis esto entre os principais interesses na rea de Teoria dos Jogos.
Roteamento por Provedores de Servio. Este um exemplo de roteamento em provedores
de servio de Internet (ISP - Internet Service Providers) onde a mesma situao do Dilema dos
Prisioneiros pode ocorrer. Suponha que temos dois provedores de servios ISP-A e ISP-B, cujas
redes esto ilustradas na Figura 2 (rede ISP-A do lado esquerdo e ISP-B do lado direito). As duas
redes possuem dois pontos por onde podem transmitir dados de uma para outra rede, chamados
pontos de troca, que so os pontos C e S. Quando h uma requisio de transmisso com origem
em um ponto a
1
(na rede ISP-A) para um ponto b
3
(que est na rede ISP-B) o provedor ISP-A deve
fazer esta transmisso atravs de uma rota (caminho) necessariamente passando por um dos pontos
C ou S. A rota percorrida dentro de uma mesma rede determinada pelo seu respectivo provedor
e uma vez que o pacote atinge a rede de destino, todo o trajeto restante ser feito na mesma rede.
Posto isso, uma transmisso de a
1
para b
3
pode seguir pela rota (a
1
, C, b
1
, b
2
, S, b
3
) ou pela rota
b
2
S
C
a
1
ISP-A ISP-B
a
3
b
1
b
3
a
2
Figura 2: Roteamento por provedores de servio de Internet.
(a
1
, a
2
, S, b
3
) e como o provedor ISP-A que dene em qual ponto de troca ele chega (se primeiro
em C ou em S), a deciso do provedor ISP-A que dene qual a rota o pacote seguir. Como os
provedores tem comportamento racional, eles tentam minimizar o trfego em sua rede e enviam o
trfego pela rota que chegar primeiro a um ponto de troca. Vamos supor que cada aresta da rede
tem custo unitrio, exceto pelas ligaes Sa
3
e Sb
3
, que tero custo 0 por ligarem pontos muito
prximos. Assim, se o provedor ISP-A escolher a rota passando por C, ele ter custo 1, porm
far com que ISP-B tenha custo 3. Caso ele escolha a outra rota, ter custo 2 e no acarretar
custos para ISP-B. Para deixar esta situao igual ao do Dilema dos Prisioneiros, suponha que
haja uma requisio para transmitir do ponto b
1
para o ponto a
3
. Com isso, se ambos provedores
se comportarem de maneira racional (fazem suas respectivas transmisses passarem por C), cada
6
provedor ter um custo total de 4. Se ambos no enviarem o pacote por C, cada provedor ter
custo 2. Quando apenas um servidor for racional, ele ter custo 1 e o outro 5. Assim, a matriz de
custo exatamente a mesma matriz apresentada para o exemplo do Dilema do Prisioneiro (com
C=Confessa e S=Silncio).
A partir do exemplo do Dilema do Prisioneiro, fcil fazer outras variaes de jogos, simples-
mente alterando os valores na matriz de custos do jogo, como veremos a seguir.
Batalha dos Sexos. Um rapaz e uma garota esto decidindo uma atividade de lazer e consideram
duas possibilidades: Assistir um jogo de futebol ou um de vlei. Ambos gostam dos jogos, mas o
rapaz prefere futebol e a garota vlei. Por outro lado, ambos preferem car juntos que separados.
A Figura 3, mostra um exemplo de uma possvel matriz de ganho (preferncia) para esta situao.
Este um jogo de coordenao com dois resultados estveis e seus participantes tero mais vantagens
Futebol
Volei
Futebol
4
5
5
4
2
2
1
1
Volei
Garota
Rapaz
Figura 3: Batalha dos Sexos.
se houver um acordo entre eles para um melhor uso dos recursos. Na Seo 2.3 veremos uma forma
de escolha mais exvel que permitir que este jogo tenha mais um resultado estvel.
Jogo de Congestionamento 1. Para ilustrar este comportamento, considere um jogo de controle
de congestionamento em uma rede. Suponha que dois usurios A e B podem transferir seus dados
por dois pontos de conexo, P e Q. O ponto P permite transferir os dados com uma velocidade
um pouco maior que o ponto Q. Assim, natural que ambos preram fazer suas conexes pelo
ponto P, porm se ambos transferirem os dados por um mesmo ponto de conexo, haver um
congestionamento no ponto e o tempo de transmisso para cada um ser muito maior. Para
enriquecer um pouco mais este exemplo, vamos supor que o jogador A tem um pouco mais de
urgncia que o jogador B. Uma possvel matriz de ganho (satisfao do jogador) neste jogo poderia
ser a representada pela Figura 4.
Note que neste jogo tambm h dois resultados estveis. Em um a soma dos ganhos igual
a 12 e no outro a soma dos ganhos igual a 10. Com isso, se medirmos a satisfao mdia dos
jogadores (que nos d um valor social), vemos que prefervel ter o resultado onde o jogador A
est na mquina P e o jogador B est na mquina Q.
7
4
P
P Q
Q
2
2
1
1
7
5
6
A
B
Figura 4: Congestionamento em Redes.
Cara ou Coroa. Neste jogo, conhecido em ingls por Matching Pennies, temos dois jogadores,
cada um controla uma moeda e pode mostrar Cara ou Coroa. O jogador A ganha se os dois mostram
as moedas com as mesmas faces e o jogador B ganha se as faces das duas moedas forem diferentes.
A matriz deste jogo dada na Figura 5 e o valor 1 representa ganho e -1 representa derrota. Quando
1
1
1
1
1
1
1
1
Cara
Coroa
Coroa Cara
A
B
Figura 5: Cara ou Coroa.
todos os resultados de um jogo tiverem soma das utilidades iguais a uma constante, temos um jogo
de soma constante. Note que a soma das utilidades de cada resultado no jogo Cara ou Coroa
igual a zero, e neste caso temos um jogo de soma zero. Da forma como estamos considerando at
agora, este jogo no tem um um resultado estvel. Para ver isso, note que em qualquer resultado
h um vencedor e um perdedor, porm o perdedor pode mudar sua alternativa para um resultado
onde vence.
Jogo de Congestionamento 2. O exemplo do jogo de controle de congestionamento pode ser
adaptado para uma situao parecida com o jogo Cara ou Coroa, onde no h resultado estvel.
Considere a situao onde os jogadores A e B podem fazer suas transmisses de dados pelos pontos
P e Q. Suponha agora que ambos pontos tem a mesma taxa de transmisso e o preo cobrado
8
pela empresa que controla estes pontos depende do tempo que levou para transmitir os dados. Se
a empresa transmitir os dados em pouco tempo, ela cobra uma valor xo e se ela demora para
transmitir, ela no cobra pelo servio. Agora, suponha que o jogador A precisa fazer a transmisso
rapidamente e no pode transmitir a partir de um ponto congestionado, e consequentemente quer
pagar por este servio. J o jogador B no tem dinheiro nem pressa e portanto s pode se conectar
por um ponto congestionado. Se considerarmos que um ponto ca congestionado quando h dois
jogadores transmitindo por ele, ento este jogo no tem um resultado estvel.
Tragdia dos Comuns. Neste jogo, temos vrios jogadores que obtm mais vantagens atuando
de maneira racional, mas tal comportamento levar o jogo a um resultado com benefcio muito
aqum daquele obtido se todos zessem um acordo para uma melhor utilizao dos recursos.
Exemplicaremos esta situao com um problema de compartilhamento de largura de banda
em um canal de transmisso.
Compartilhamento de Largura de Banda. Suponha que n jogadores querem transmitir dados
por um cabo de transmisso que tem capacidade mxima 1 (largura de banda). O uxo de dados
usados por um jogador a quantidade de largura de banda usada por ele durante a transmisso.
Denotaremos por N o conjunto de jogadores e por x
i
[0, 1] o uxo do jogador i N. A medida
que o uxo total se aproxima da capacidade do cabo, a qualidade da transmisso se deteriora e com
isso diminui o benefcio dos jogadores. Neste modelo, se a banda total requisitada

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

, ento isso s ocorreu porque


u
i
(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

) = 4. Com isso, o jogador


A prefere o vetor de estratgias s

ao vetor de estratgias s, pois c


A
(s) > c
A
(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

; (ii) para cada instncia x I

, temos um conjunto de
solues viveis F

(x); (iii) para toda soluo s F

(x) temos um custo c


x
(s); (iv) um algoritmo
de tempo polinomial que diz se s pertence ou no F

(x) e em caso positivo, computa c


x
(s). O
problema consiste em dado x I

, encontrar s F

(x) tal que c


x
(s) mnimo. Em um problema
de minimizao local temos as propriedades (i)(iv) e mais as seguintes: (v) h uma vizinhana
N
x
(s) F

(x) para cada x I

e s F

(x); (vi) uma soluo s de F

(x) dita ser um mnimo


local se c
x
(s) c
x
(s

) 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

) que sempre lexicogracamente menor que



w(A). Como o nmero de
resultados possveis limitado (por m
n
) no possvel ter um nmero innito de passos, cada um
obtendo um vetor lexicogracamente menor. Portanto, o jogo deve chegar a um equilbrio de Nash
em estratgias puras em quantidade nita de passos.
Agora, considere o vetor

w(A) = (
1
, . . . ,
m
) e um jogador j insatisfeito que est em uma
mquina i. Para simplicar, vamos renomear as mquinas de maneira que a carga
i
relativa
a mquina i. Ao fazer um passo de melhoria, o jogador j tira sua tarefa de i e atribui para
uma mquina k. Certamente i > k, pois as cargas (e mquinas) esto ordenadas de maneira no
crescente. Apenas as mquinas i e k tero suas cargas modicadas aps o movimento do jogador
j. A escolha de k foi tal que mesmo somando a carga de j, a mquina k cou com carga menor
que a carga da mquina i antes do movimento. Isto :
k
+ w
j
<
i
.
O movimento diminui a carga de i e aumenta a carga de k, mas a nova carga de k ainda
estritamente menor que a carga antiga de i. Como o nmero de mquinas com carga pelo menos

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

tem apenas uma tarefa, o resultado


claramente vlido. Assim, vamos considerar que i

tem pelo menos duas tarefas. Seja j uma


tarefa de menor peso na mquina i

. Como h pelo menos duas tarefas em i

e j de peso mnimo,
temos que w
j


i

2
.
28
Agora, considere uma mquina i diferente de i

. Como a atribuio A est em equilbrio, temos


que
i

i
w
j
para toda mquina i (caso contrrio, a tarefa j poderia migrar para i). Com isso,
temos que

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

um vetor de estratgias que


um resultado timo social do jogo (P

e O

no necessariamente esto em equilbrio). Como


O

deve conectar o vrtice s


i
ao vrtice t
i
, temos que

eP

i
c
e
c(O

). Alm disso, temos que


c
i
(P)

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

ou que no pertena a P nem a 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

e (2) vlida pois somamos

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

um vetor de estratgias timo (timo social no necessariamente em equilbrio); O


um vetor de estratgias em equilbrio obtido a partir de O

e P um vetor de estratgia em Equilbrio


de Nash de menor custo. Com isso, temos
c(P) c(O) (4)
(O) (5)
(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

pagar pelo item, e portanto v


j
. E como no sobrou nenhum
outro jogador disposto a pagar pelo item, o valor supera o valor privado dos outros jogadores,
e portanto v
j
< , para todo j = j

. Alm disso, como o leiloeiro foi aumentando o preo do


item de uma pequena quantia, ento o valor pago pelo jogador j

pouco acima do segundo maior


valor privado. Se considerarmos que a quantia acrescida ao valor do item em cada rodada bem
pequena, o jogador j

basicamente paga o valor do segundo maior valor privado. Este conhecido


como um leilo ingls, ou ascendente e neste caso o comprador (vencedor) ca satisfeito, pois sabe
que por pouco menos que , haveria um outro comprador que tambm poderia comprar o item.
Um mecanismo que simplica o processo anterior usando apenas uma rodada pode ser denido
pelas seguintes regras [40]: (i) todos os jogadores declaram apenas um valor no envelope; (ii) o
ganhador denido como o jogador do maior lance e (iii) o valor a ser pago pelo ganhador o
valor do segundo maior lance. Chamaremos este mecanismo de Leilo de Vickrey.
Por ser simples, o leilo de Vickrey empregado por muitos sites de leiles eletrnicos. Para
leiloar um item, comea-se com um valor baixo e os possveis compradores fazem seus lances,
durante um certo intervalo de tempo. Cada possvel comprador pode ofertar um valor bem maior
36
que o atual valor do item, uma vez que o acordo oferecido pela empresa que controla o leilo de
que no divulgar seu valor privado e se ele for o maior lance, apenas parte suciente dele ser usado
para cobrir, por alguma pequena graduao monetria, o segundo maior valor. Desta maneira, os
possveis compradores enviaro seus valores privados, sabendo que pagar apenas o suciente para
cobrir o segundo maior lance.
Uma importante propriedade do Leilo de Vickrey que os jogadores so incentivados a decla-
rarem nos envelopes seus valores privados. Isto , um jogador j maximiza seu benefcio se declarar
seu valor v
j
. Para cada jogador j, denote por b
j
o valor (lance) declarado.
Proposio 18 No leilo de Vickrey, ao declarar o valor b
j
igual ao seu valor privado v
j
, o jogador
j maximizar seu benefcio.
Prova. Por simplicidade, vamos supor que neste jogo no ocorrem empates. Deixaremos como
exerccio a extenso quando h regras de desempates. Considere um jogador j e seja o maior
valor dos outros jogadores (i.e., = max
i=j
b
i
). Vamos mostrar que o jogador j maximiza seu
benefcio se declarar o valor b
j
= v
j
, considerando os seguintes casos:
Caso 1: v
j
< . Se j declarar o valor b
j
igual a v
j
, ento ele no leva o item e seu benefcio 0.
De fato, isto ocorre para qualquer valor declarado b
j
< . Se declarar b
j
> ele ganhar o
leilo, porm dever pagar um valor p
j
e seu benefcio ser v
j
p
j
. Como p
j
> v
j
,
seu benefcio ser negativo e portanto foi pior ter mentido.
Caso 2: v
j
> . Se j declarar o valor v
j
, ento ele ganhar o leilo e seu benefcio ser o valor
positivo v
j
. Ele tambm ter o mesmo benefcio se declarar b
j
> v
j
. Caso declare um
valor b
j
< , ento ele perde o leilo e seu benefcio 0, em vez de um valor estritamente
positivo.
Em ambos os casos, o jogador j maximiza seu benefcio se declarar seu valor privado v
j
.
Note que no leilo de Vickrey, pudemos fazer os jogadores declararem seus valores privados por
termos denido o pagamento do vencedor baseado nos valores declarados pelos outros jogadores.
De fato esta idia fundamental no mecanismo VCG, que veremos a seguir.
5.2 Denies e o Mecanismo VCG
Para deixar alguns termos mais uniformes, usaremos A como o conjunto de alternativas possveis
para a escolha do mecanismo e V
i
como o conjunto de estratgias do jogador i. A preferncia
do jogador i modelada por uma funo de valorao v
i
: A R, onde v
i
V
i
. Nesta seo,
V
i
R
A
o conjunto possvel das valoraes (estratgias) que podem ser escolhidas pelo jogador
37
i. Baseado nas estratgias dos jogadores, um mecanismo deve escolher uma alternativa de um
conjunto A (escolha social) e deve denir quanto cada jogador deve pagar por esta escolha. Estamos
interessados em mecanismos para os quais cada jogador tem como estratgia dominante declarar a
sua informao privada para cada resultado (mentir no o leva a ter mais vantagens).
Denio 6 Um mecanismo (de revelao direta) dado por uma funo de escolha social f :
V
1
V
n
A e funes de pagamento p
1
, . . . , p
n
onde p
i
: V
1
V
n
R o valor que o
jogador i paga.
Um jogador i possui um valor privado v
i
(a) para cada alternativa a A e sua utilidade dada
por u
i
(a) = v
i
(a) p
i
(v), que o quanto a alternativa vale menos o quanto o jogador pagou por ela.
Nosso interesse fazer mecanismos que incentivem o jogador a declarar o valor verdadeiro v
i
(a) e a
declarao de um outro valor v

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

). A utilidade de i, quando declarar v


i

u
i
(a) = v
i
(a) p(v) = v
i
(a) h
i
(v
i
) +

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

tem as mesmas estratgias para os jogadores que no so i. Com isso,


temos que a utilidade do jogador i no melhor ao declarar 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

para o jogador i dado por v


i
(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

com alternativa a, seu pagamento denido como


p
i
= max
bA

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

venceu, que d 0, pois v


j
(a) = 0 para
todo j = 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

em (12). Para obter um caminho mnimo 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

= (s, x, y, t) e tem custo 6. Para calcular o pagamento da aresta sx, obtemos um


caminho de s a t sem a aresta sx, o que nos d o caminho P
sx
= (s, y, t) de custo 8. Assim, o
pagamento p
sx
da aresta sx dado por
p
sx
= c(P
sx
) (c(P

) c
sx
) = 8 (6 3) = 5.
Note que se o custo da aresta sx fosse maior que 5, o custo do caminho P

seria maior que 8 e


com isso seria melhor tomar o caminho (s, y, t) que tem custo 8. Analogamente, o pagamento das
42
2
(a)
s t
x
y
3 4
1
6
Figura 10: Construo de caminho mnimo.
arestas xy e yt so dados por
p
xy
= c(P
xy
) (c(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

uma alocao com

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

que no entraram em W por seus conjuntos interseptarem o conjunto de i, alm de i, se i 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

uma alocao, estas intersees devem ser todas


disjuntas, e portanto |O

i
| |S
i
|. Como O

uma alocao, temos



jO

i
|S
j
| m. Portanto,
obtemos

jO

i
_
|S
j
|
_
|S
i
|

m e substituindo na desigualdade (14), temos a desigualdade (13).


50
O prximo teorema segue direto dos lemas 27 e 28.
Teorema 29 O mecanismo guloso ecientemente computvel, incentivo-compatvel e produz um
resultado que uma

m-aproximao da alocao socialmente eciente.
7 Consideraes Finais
Neste texto, apresentamos uma pequena introduo Teoria dos Jogos Algortmica, uma rea
com intensa atividade nos ltimos anos. Apesar de dar uma pequena viso da rea, apresentamos
vrias preocupaes que se destacam quando os jogos so analisadas pelo lado algortmico. O texto
foi baseado principalmente no primeiro livro da rea [32]. Sugerimos ao leitor ver este livro que
alm dos tpicos considerados no texto, tambm versa sobre a abordagem algortmica de outros
problemas em Teoria dos Jogos, como equilbrio de mercados, criptograa, eleies e escolhas sociais,
computao distribuda, compartilhamento de custos, mecanismos online, sistemas de reputao,
leiles em motores de busca, entre outros.
Agradecimentos. Agradeo ao revisor do JAI e Ana Bazzan pelas leituras e pelas sugestes que
melhoraram a apresentao do texto. Agradeo tambm ao Andr Vignatti, que fez o mestrado e o
doutorado nesta rea e possibilitou termos valiosas discusses em vrios problemas desta fascinante
rea. Por m, agradeo ao CNPq pelo apoio nanceiro.
51
ndice Remissivo
[n], 12
rvore
geradora de peso mnimo, 43
agente, 4
algoritmo
de aproximao, 18
de busca local, 20
eciente, 15
alternativas
economicamente ecientes, 39
caminho mnimo, 41
classe
NP, 15
NP-completo, 15
PLS, 20, 21
PLS-completo, 21
P, 15
conjunto independente, 17, 48
emparelhamento
de peso mximo, 43, 47
equilbrio de Nash
em estratgias mistas, 14
em estratgias puras, 13
estratgia, 11
dominante, 13
pura, 13
fator de aproximao, 18
forma normal conjuntiva, 17
forma padro, 19
funo
de utilidade, 38
de custo, 12
de utilidade, 12
igualitria, 23
potencial, 32
social, 23
utilitria, 23
incentive-compatible, 38
incentivo-compatvel, 38
jogador, 4
insatisfeito, 13
satisfeito, 13
jogo, 12
com escolhas simultneas, 5
com estratgias dominantes, 13
com estratgias mistas, 13
com estratgias puras, 13
de soma zero, 8
de balanceamento de carga, 24
de coordenao, 7
de roteamento global, 30
de soma constante, 8
grco, 19
potencial, 33
repetido, 10
sequencial, 10
leilo
combinatorial, 43, 46, 47
de Vickrey, 36, 41
makespan, 25
mecanismo, 38
VCG, 38, 44, 46
melhor-resposta, 22
52
pay-per-click, 44
peer-to-peer, 11
perl de estratgias, 12
preo
da estabilidade, 23
da anarquia, 23, 24, 29, 31
da estabilidade, 24, 28, 32, 35
problema
da partio, 17
de maximizao, 21
de maximizao local, 21
de minimizao, 20
de minimizao local, 21
de otimizao, 21
de otimizao local, 21
do conjunto independente, 17
Max2Sat, 21
Max2Sat com vizinhana Flip, 21
MaxSat-D, 17
Sat, 17
resposta de melhoria, 22
resultado
timo social, 23
single-minded case, 47
soluo
tima local, 20, 21
mnima local, 21
vivel, 18
strategy-proof, 38
truthful, 38
vetor de estratgias, 12
53
Referncias bibliogrcas
[1] E. Anshelevich, A. Dasgupta, J. Kleinberg, E. Tardos, T. Wexler, and T. Roughgarden. The
price of stability for network design with fair cost allocation. SIAM J. Comput., 38(4):1602
1623, 2008.
[2] G. Ausiello, P. Crescenzi, G. Gambosi, V. Kann, A. Marchetti-Spaccamela, and M. Protasi.
Complexity and Approximation: Combinatorial Optimization Problems and Their Approxima-
bility Properties. Springer, 1999.
[3] A. L. C. Bazzan. Coordenao de agentes com uso de tcnicas de teoria dos jogos. In A. T.
Martins and D. L. Borges, editors, Jornada de Atualizao em Inteligncia Articial, pages
343. Sociedade Brasileira de Computao, 2001.
[4] L. Blumrosen and N. Nisan. Combinatorial auctions. In N. Nisan, T. Roughgarden, E. Tardos,
and V. V. Vazirani, editors, Algorithmic Game Theory, chapter 11, pages 267299. Cambridge,
2007.
[5] M. H. Carvalho, M. R. Cerioli, R. Dahab, P. Feolo, C. G. Fernandes, C. E. Ferreira, K. S.
Guimares, F. K. Miyazawa, J. C. Pina Jr., J. Soares, and Y. Wakabayashi. Uma Introduo
Sucinta a Algoritmos de Aproximao. Editora do IMPA, Rio de Janeiro, 2001. M. R. Cerioli
and P. Feolo and C. G. Fernandes and F. K. Miyazawa (editores).
[6] E. H. Clarke. Multipart pricing of public goods. Public Choice, 11(1), 1971.
[7] S. A. Cook. The complexity of theorem-proving procedures. In Proceedings of the 3rd Annual
ACM Symposium on the Theory of Computing (STOC), pages 151158, 1971.
[8] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. The
MIT Press, 2001.
[9] C. Daskalakis, P. W. Goldberg, and C. H. Papadimitriou. The complexity of computing a nash
equilibrium. SIAM J. Comput., 39(1):195259, 2009.
[10] E. A. de Souza e Silva and D. R. Figueiredo. Uma breve introduo teoria de jogos com
aplicaes a redes de computadores. In T. Kowaltowski and K. Breitman, editors, Atualizaes
em Informtica, chapter 2, pages 57114. Sociedade Brasileira de Computao, 2007.
[11] E. W. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik,
1:269271, 1959.
54
[12] E. Even-Dar, A. Kesselman, and Y. Mansour. Convergence time to nash equilibrium in load
balancing. ACM Transactions on Algorithms, 3(3):Article 32, 2007.
[13] A. Fabrikant, C. H. Papadimitriou, and K. Talwar. The complexity of pure nash equilibria. In
Proc. of the 36th annual ACM symposium on Theory of computing, pages 604612, New York,
NY, USA, 2004. ACM.
[14] U. Feige. A threshold of ln n for approximating set cover. Journal of the ACM, 45(4):634652,
1998.
[15] G. Finn and E. Horowitz. A linear time approximation algorithm for multiprocessor scheduling.
BIT, 19:312320, 1979.
[16] D. Fotakis, S. C. Kontogiannis, E. Koutsoupias, M. Mavronicolas, and P. G. Spirakis. The
structure and complexity of nash equilibria for a selsh routing game. Theoretical Computer
Science, 410:33053326, 2009.
[17] M. R. Garey and D. S. Johnson. Computers and Intractability: a Guide to the Theory of
NP-Completeness. Freeman, San Francisco, 1979.
[18] G. Gottlob, G. Greco, and F. Scarcello. Pure nash equilibria: Hard and easy games. Journal
of Articial Intelligence Research, 24:357406, 2005.
[19] T. Groves. Incentives in teams. Econometrica, 41:617631, 1973.
[20] J. Hastad. Clique is hard to approximate within n
1
. Acta Mathematica, 182(1):105142,
1999.
[21] J. Hershberger and S. Suri. Vickrey pricing in network routing: Fast payment computation.
In Proc. of the 42nd IEEE Symposium on Foundations of Computer Science, pages 252259,
2001.
[22] K. Jain, M. Mahdian, E. Markakis, A. Saberi, and V. V. Vazirani. Greedy facility location
algorithms analyzed using dual tting with factor-revealing lp. J. ACM, 50(6):795824, 2003.
[23] D. S. Johnson, C. H. Papadimtriou, and M. Yannakakis. How easy is local search? J. Comput.
Syst. Sci., 37(1):79100, 1988.
[24] E. Koutsoupias and C. H. Papadimitriou. Worst-case equilibria. In STACS 99 : Proceedings
of the 16th Annual Symposium on Theoretical Aspects of Computer Science, pages 404413,
1999.
55
[25] T. Kowaltowski. Von Neumann: suas contribuies computao. Estudos Avanados,
26(26):237260, 1996.
[26] S. Lahaie, D. M. Pennock, A. Saberi, and R. V. Vohra. Sponsored search auctions. In N. Nisan,
T. Roughgarden, E. Tardos, and V. V. Vazirani, editors, Algorithmic Game Theory, chapter 28,
pages 699716. Cambridge, 2007.
[27] L. Lovsz and M. D. Plummer. Matching Theory. North-Holland, 1986.
[28] F. K. Miyazawa. XI Escola Regional de Informtica, chapter Programao Inteira, pages 4990.
SBCParan, 2003.
[29] J. Nash. Non-cooperative games. The Annals of Mathematics, 54(2):286295, September 1951.
[30] N. Nisan. Introduction to mechanism design (for computer scientists). In N. Nisan, T. Rough-
garden, E. Tardos, and V. V. Vazirani, editors, Algorithmic Game Theory, chapter 9, pages
209241. Cambridge, 2007.
[31] N. Nisan and A. Ronen. Algorithmic mechanism design. In Proc. of the 31st Annual ACM
Symposium on Theory of Computing, 1999.
[32] N. Nisan, T. Roughgarden, E. Tardos, and V. V. Vazirani. Algorithmic Game Theory. Cam-
bridge University Press, New York, NY, USA, 2007.
[33] C. H. Papadimitriou. Computational complexity. Addison-Wesley, Reading, Massachusetts,
1994.
[34] M. H. Rothkopf, R. M. Harstad, and A. Pekec. Computationally manageable combinational
auctions. Management Science, 44(8):11311147, 1998.
[35] A. A. Scher and M. Yannakakis. Simple local search problems that are hard to solve. SIAM
J. Comput., 20(1):5687, 1991.
[36] V. Syrgkanis. The complexity of equilibria in cost sharing games. In Proc. of the 6th interna-
tional conference on Internet and network economics, WINE10, pages 366377, 2010.
[37] E. Tardos and V. V. Vazirani. Basic solution concepts and computational issues. In N. Nisan,
T. Roughgarden, E. Tardos, and V. V. Vazirani, editors, Algorithmic Game Theory, chapter 1,
pages 328. Cambridge, 2007.
[38] E. Tardos and T. Wexler. Network formation games and the potential function method. In
N. Nisan, T. Roughgarden, E. Tardos, and V. V. Vazirani, editors, Algorithmic Game Theory,
chapter 19, pages 487516. Cambridge, 2007.
56
[39] V. V. Vazirani. Approximation Algorithms. Springer-Verlag, 2001.
[40] W. Vickrey. Counterspeculation, auctions, and competitive sealed tenders. The Journal of
Finance, 16(1):837, 1961.
[41] B. Vcking. Selsh load balancing. In Algorithmic Game Theory, chapter 20, pages 517542.
Cambridge, 2007.
[42] D. Zuckerman. Linear degree extractors and the inapproximability of max clique and chromatic
number. In Proc. 38th Annual ACM Symposium on Theory of computing, pages 681690, 2006.
57

S-ar putea să vă placă și