Aplicações da teoria dos jogos na ciência da computação?

14

Como estudante de ciência da computação, fui apresentado à teoria dos jogos, mas não vi muitos detalhes sobre o assunto. Eu pesquisei no Google e olhei para alguns livros sobre teoria dos jogos e eles confirmaram seu uso na ciência da computação. Comecei um estudo formal da teoria dos jogos da perspectiva do economista. Agora eu quero conhecer as aplicações da teoria dos jogos na ciência da computação. Quais são algumas das principais realizações recentes de cientistas da computação em áreas como Inteligência Artificial e Teoria da Complexidade, que utilizam elementos da teoria dos jogos? Existe uma maneira de abordar a teoria dos jogos mais enraizada na ciência da computação do que na economia?

SM Shahinul Islam
fonte
8
Vijay V. Vazirani, Noam Nisan, Tim Roughgarden e Éva Tardos, " Algorithmic Game Theory ", 2007.
Kaveh

Respostas:

22

XUMA

maxxXEumaUMA[T(uma,x)]minumaUMAExX[T(uma,x)],

Por exemplo: Qualquer algoritmo de classificação determinístico baseado em comparação requer em média, tempo para classificar uma matriz permutada uniformemente aleatoriamente. ( Prova: Em qualquer árvore binária com folhas, pelo menos metade das folhas têm profundidade, pelo menos, . ) princípio da Então Yao implica que o pior caso de tempo esperado de execução de qualquer randomizado comparação baseada em classificação O algoritmo também é .NΩ(nregistron)N(lgN)/2Ω(nregistron)

O princípio minmax de Yao segue facilmente o teorema minimax de von Neumann para jogos de soma zero para dois jogadores , onde um jogador fornece a entrada e o outro fornece o algoritmo.

Jeffε
fonte
2
A desigualdade não deveria ser revertida? (a menos que eu estou faltando alguma coisa)
George
por um lado, isso é apenas uma dualidade de LP fraca e pode ser útil pensar dessa maneira, porque encontrar uma solução dupla viável é uma boa maneira geral de diminuir o limite de um problema de minimização. por outro, talvez seja útil pensar no reprodutor de "algoritmos" e no reprodutor de "entradas" ...
Sasho Nikolov
11

Existem várias caracterizações teóricas dos jogos de classes de complexidade. O mais famoso pode ser

  • AP = PSPACE (descobrir quem vence um jogo determinístico que dura um número polinomial de jogadas é uma pergunta completa do PSPACE),

  • IP = PSPACE (em um jogo determinístico de comprimento polinomial jogado contra um jogador que faz movimentos aleatórios, distinguindo os casos em que sua chance de ganhar é> 0,9 e <0,1 é PSPACE completo),

mas há muitos, muitos mais.

Peter Shor
fonte
10

A teoria dos jogos teve um papel significativo nas soluções para o "problema de abstração total" na semântica da linguagem de programação. Em particular, a primeira semântica totalmente abstrata para o PCF de Plotkin foi dada usando jogos como modelos.

As citações relevantes são:

Abstração completa para PCF , de Samson Abramsky, Radha Jagadeesan e Pasquale Malacaria

e

Sobre abstração completa para PCF: I, II e III , por JME Hyland e C.-HL Ong

que ambos apareceram em Information and Computation , Volume 163, Edição 2, 15 de dezembro de 2000.

Sam Tobin-Hochstadt
fonte
2
Essa é uma noção diferente de jogo, na medida em que não tem uma noção (não trivial) de recompensa, diferente dos jogos da "perspectiva do economista". Como um aparte, no contexto da abstração completa para o PCF, os "Funcionalidades Sequenciais Hereditariamente" de Hanno Nickau também devem ser mencionados.
Martin Berger
7

Outro exemplo famoso de usar a teoria dos jogos no CS é a síntese: na síntese, obtemos uma especificação sobre as entradas I e produz O (por exemplo, na lógica temporal ou como um autômato), e queremos gerar automaticamente um sistema (isto é, um sistema finito- transdutor de estado), que garante que, para cada sequência de entrada do ambiente, o cálculo induzido pelo transdutor satisfaça a especificação.

Como se vê, a síntese pode ser formulada como um jogo entre o ambiente e o sistema, onde uma estratégia vencedora para o sistema corresponde a um transdutor.

Uma ferramenta muito importante da teoria dos jogos usada neste contexto é a determinação de Borel, especialmente quando trabalhamos em cálculos infinitos.

Você pode começar a ler sobre isso na pesquisa de Moshe Vardi .

Shaull
fonte
6

É mais fácil para mim pensar em aplicações da ciência da computação (técnicas) na teoria dos jogos do que o contrário. Há um campo muito ativo da teoria algorítmica dos jogos, que se concentra no desenvolvimento de algoritmos eficientes (ou resultados de complexidade) para, por exemplo, equilíbrios de Nash, valores de Shapley e outros conceitos teóricos padrão. Freqüentemente, esses conceitos são fáceis de definir, mas proibitivamente difíceis de calcular diretamente a partir das definições. Este trabalho se estende pelo menos até o design do mecanismo, onde tentamos manipular as regras dos leilões para garantir o comportamento do agente (por exemplo, gostaríamos que eles relatassem lances verdadeiros) ou resultados gerais (por exemplo, gostaríamos de garantir o máximo receita.)

Noam Nisan, Yoav Shoham, Tim Roughgarden e muitos outros têm alguns artigos fascinantes sobre o tema do design de mecanismos do ponto de vista da teoria; Vince Conitzer aplicou técnicas de IA ao problema para desenvolver o design de mecanismo automatizado.

No lado mais aplicado da inteligência artificial, é difícil pensar em sistemas multiagentes sem pensar neles como jogos. A estrutura do jogo estocástico parcialmente observável (POSG) é frequentemente usada para discutir configurações de vários agentes; sob os critérios corretos da função de recompensa, ele se torna um DEC-POMDP.

Novak
fonte
5

A teoria combinatória dos jogos desempenha um papel na lógica e na ciência da computação, como, por exemplo, no jogo Ehrenfeucht-fraïssé , que é um jogo de lógica jogado em estruturas teóricas dos modelos. A cada turno, o primeiro jogador escolhe um elemento de uma das duas estruturas, e o segundo deve escolher um elemento do outro, tentando manter um isomorfismo local entre os elementos escolhidos até aquele momento.

O principal teorema desse jogo diz que, se o Jogador 2 tiver uma estratégia vencedora em um jogo de duas estruturas, não haverá uma fórmula lógica de primeira ordem que diferencie as duas estruturas.

Esse resultado é usado em um grande número de resultados de expressibilidade para a lógica de primeira ordem e também para outras lógicas (há uma extensão do teorema para a lógica monádica de segunda ordem).

Esses resultados de expressividade, por sua vez, têm fortes aplicações na ciência da computação, por exemplo, verificação formal, teoria de banco de dados, etc.

gigabytes
fonte
3

O artigo da Coluna de computação distribuída 42 tenta trazer uma perspectiva teórica dos jogos para problemas de computação distribuída.

A computação distribuída atende à teoria dos jogos: combinando insights de dois campos . Ittai Abraham, Lorenzo Alvisi, Joseph Y. Halpern Notícias SIGACT 42 (2) junho de 2011, pp. 68-76

Citado por "Idit Keidar", o editor da época:

A teoria dos jogos e a tolerância a falhas oferecem dois tipos diferentes de robustez aos sistemas distribuídos - o primeiro é robusto contra os participantes que tentam maximizar seus próprios utilitários, enquanto o último oferece robustez contra falhas inesperadas. Esta coluna analisa as tentativas de combinar as duas. Ele apresenta uma revisão de trabalhos recentes que fornecem os dois sabores de robustez de Ittai Abraham, Lorenzo Alvisi e Joe Halpern. Ittai, Lorenzo e Joe discutem como o comportamento estratégico no estilo da teoria dos jogos pode ser explicado em protocolos distribuídos tolerantes a falhas. Eles são um argumento convincente para trazer uma perspectiva teórica do jogo para problemas de computação distribuída.

hengxin
fonte