Algoritmos para computação de equilíbrio de Nash.

10

Pesquisei no fórum para verificar se isso já havia sido perguntado antes e, embora a teoria algorítmica dos jogos seja discutida, não foi possível encontrar esse problema em particular. Estou tentando descobrir qual é o algoritmo mais conhecido para calcular equilíbrios aproximados de Nash (estratégia mista) em um jogo finito de n-pessoa. Obviamente, esse algoritmo seria PPAD. Estou mais interessado em velocidade / eficiência do que precisão perfeita do algoritmo.

Obrigado Philip

Philip White
fonte
Podemos ajudá-lo melhor se você fornecer mais detalhes. Por exemplo, qual valor de você tem em mente? Você tem alguma estrutura especial da função de pagamento em mente? Você realmente precisa de um equilíbrio de Nash ou seria um equilíbrio correlato suficiente? Você está procurando algo com bons limites prováveis ​​ou algo com bom desempenho prático? n
Warren Schudy

Respostas:

7

A resposta curta é que, embora existam algoritmos de tempo polinomial para comprovadamente encontrar equilíbrios aproximados de Nash, todos eles encontram aproximações relativamente ruins - provavelmente não são boas o suficiente se você estiver realmente tentando encontrar um algoritmo para jogar um jogo. Sabe-se mais para jogos de 2 jogadores do que para jogos de n jogadores.

Se o que você está tentando fazer é realmente encontrar um equilíbrio (aproximado) de Nash, uma coisa fácil de codificar que você pode tentar é simular o jogo, com cada jogador usando o algoritmo de maioria ponderada aleatória (http://en.wikipedia.org/ wiki / Randomized_weighted_majority_algorithm). Isso não garante que funcione, mas em muitos casos funcionará (e é garantido em determinadas classes de jogos, como jogos de soma zero). Em particular, se esse processo convergir, é garantido que converge para um equilíbrio de Nash. O perigo é que ele não converja e circule para sempre - mas mesmo nesse caso, a história empírica do jogo converge para o conjunto de equilíbrios grosseiros correlacionados.

Aaron Roth
fonte
Comecei a dar uma olhada no artigo mencionado na resposta acima. Eu não entendi tudo (ou muito dele à primeira vista) ... você pode explicar por que a aproximação é "relativamente pobre?" Além disso, você poderia explicar brevemente o que é um "equilíbrio correlato grosso"? Eu sei o que é um equilíbrio correlacionado, mas o que isso significa para essa eq. ser grosseiro. Finalmente, o que você quer dizer com "a história empírica do jogo convergirá ... [etc.]"? Como algo que nunca converge converge para um conjunto de CCEs? Obrigado pela sua resposta, estou pesquisando o artigo da Wikipedia agora.
Philip White
Para algumas informações sobre algoritmos que produzem distribuições que convergem para equilíbrios correlatos grosseiros ou equilíbrios correlatos, eu começaria aqui: cs.cmu.edu/~avrim/Papers/regret-chapter.pdf
Aaron Roth
Se você deseja um equilíbrio correlato em vez de um equilíbrio correlato grosso, pode usar um aluno sem arrependimento interno. Por exemplo (plugue descarado) cs.brown.edu/~ws/papers/regret.pdf . Existem também algoritmos para calcular equilíbrios correlatos diretamente em tempo polinomial.
Warren Schudy 20/10/10
10

Talvez o artigo de 2008 apresentado no Simpósio sobre Teoria dos Jogos Algorítmicos de Hémon, Rougemont e Santha, " Equilíbrio aproximado de Nash para jogos com vários jogadores " possa ajudar? Eles "exibem algoritmos de tempo polinomial para aproximação aditiva" para jogos com jogadores.n

Joseph O'Rourke
fonte
4

Se você está interessado em algoritmos realmente implementados em software, há vários que eu conheço:

  1. o pacote GAMBIT (http://www.gambit-project.org/doc/index.html) implementa vários algoritmos de equilíbrio de Nash para a forma normal de 2 jogadores e n-jogadores e, em alguns casos, jogos extensos.

  2. O GameTracer (http://dags.stanford.edu/Games/gametracer.html) implementa os algoritmos GNM e IPA da Govindan & Wilson para jogos em formato normal para n jogadores.

  3. Para jogos grandes, a representação da forma normal é problemática, pois o tamanho aumenta exponencialmente no número de jogadores. Em vez disso, se a função de utilidade do seu jogo tiver certos tipos de estrutura, você poderá usar uma "representação concisa" (por exemplo, jogos gráficos, jogos simétricos, jogos com gráficos de ação) para expressá-la usando muito menos espaço; além disso, a estrutura pode ser frequentemente explorada para acelerações computacionais. Em termos de software, o AGG Solver (http://agg.cs.ubc.ca) adapta o algoritmo GNM do GameTracer e o algoritmo simpdiv do GAMBIT à representação do jogo de gráficos de ação (AGG). (Isenção de responsabilidade: estou envolvido no desenvolvimento deste software pacakge.)

Albert
fonte