Você está na página 1de 6

Complexidade de jogos

pt.wikipedia.org/wiki/Complexidade_de_jogos

A Teoria combinatória dos jogos tem diversas maneiras de medir a complexidade de jogos. Este artigo
descreve cinco delas: complexidade estado-espaço, tamanho da árvore do jogo, decisão da
complexidade, complexidade da árvore do jogo e complexidade computacional.

Quando isto é muito difícil de calcular, um limitante superior muitas vezes pode ser calculado incluindo
posições ilegais ou posições que nunca poderão surgir no curso do jogo.

O tamanho da árvore do jogo é o número total de possíveis jogos que podem ser jogados: o número
de nós folha na árvore do jogo fixada na posição inicial do jogo.

A árvore do jogo é tipicamente muito maior que o estado-espaço porque as mesma posições podem
ocorrer em diversos jogos fazendo movimentos em ordens diferentes (por exemplo, a formação de um
jogo da velha com dois X e um O no tabuleiro pode ter sido alcançada de duas maneiras diferentes,
dependendo de onde o primeiro X foi posicionado). Um limitante superior para o tamanho da árvore do
jogo pode algumas vezes ser computado através da simplificação do jogo de uma maneira que aumente
o tamanho da árvore do jogo (por exemplo, permitindo movimentos ilegais) até ela se tornar tratável.

Contudo, para jogos onde o número de movimentos não é limitado (por exemplo, pelo tamanho do
tabuleiro ou por uma regra sobre repetições de posição), a árvore do jogo é infinita.

As duas próximas medições usam a ideia de árvores de decisão. Uma árvore de decisão é uma subárvore
da árvore do jogo, com cada posição classificada como "jogador A venceu", "jogador B venceu" ou
"empate", se essa posição pode provar ter esse valor (assumindo melhores jogadas de ambos os lados)
examinando apenas outras posições no gráfico. (Posições terminais podem ser classificadas
diretamente; uma posição com o jogador A em sua rodada de mover pode ser classificada como
"jogador A venceu" se qualquer posição sucessora for uma vitória para A, ou classificada como "jogador
B venceu" se todas posições sucessoras são empate ou vitória para B. Isto vale correspondentemente
para posições com B em sua rodada de mover.)

Complexidade de decisão de um jogo é o número de nós folhas na menor árvore de decisão que
estabelece o valor da posição inicial.

A complexidade da árvore do jogo de um jogo é o número de nós folha na menor árvore de decisão de
largura total que estabelece o valor da posição inicial.[1] Uma árvore de largura total inclui todos os nós
de cada profundidade.

Isto é uma estimativa do número de posições que teríamos que avaliar em uma busca minimax para
determinar o valor da posição inicial.

É difícil de estimar a complexidade da árvore do jogo, mas para alguns jogos um limitante inferior
razoável pode ser dado pelo aumento do fator de ramificação médio do jogo à potência do número de
camadas, ou:

A complexidade computacional de jogos descreve a dificuldade assintótica de um jogo à medida que


cresce arbitrariamente rápido, expressa em notação big O ou como membro de uma classe de
complexidade. Este conceito não se aplica a jogos específicos, mas sim a jogos que foram generalizados
1/6
de modo que eles podem ser feitos arbitrariamente grandes, tipicamente sendo jogados em um
tabuleiro n x n. (Do ponto de vista da complexidade computacional, um jogo com tamanho de tabuleiro
fixo é um problema finito que pode ser resolvido em O(1), por exemplo através de uma tabela de
consulta de posições para realizar os melhores movimentos para cada posição.)

A complexidae assintótica é definida pela mais eficiente (em termos de o que que um recurso
computacional considere) algoritmo de solução do jogo; a mais comum medida de complexidade (Tempo
computacional) é sempre limitada inferiormente pelo logaritmo da complexidade assintótica estado-
espaço, desde que a solução algorítmica funcione para todos os possíveis estados do jogo. Ela será
superiormente limitada pelas complexidades de cada algoritmo dos jogos da mesma classe. Observações
similares aplicam-se a segunda medida de complexidade mais comumente usada, a quantidade de
espaço ou memória computacional usada na computação. Não é óbvio que há algum limitante inferior
na complexidade espacial de um jogo típico, porque o algoritmo não precisa armazenar os estados do
jogo, entretanto muitos jogos de interesse são PSPACE-difícil, e segue que sua complexidade espacial
também será limitada inferiormente pelo logaritmo da complexidade assintótica estado-espaço
(tecnicamente o limitante é polinomial somente em sua quantidade, mas é usualmente conhecido por
ser linear).

A estratégia minimax de busca em profundidade usará tempo computacional proporcional a


complexidade da árvore dos jogos, desde que esta explore toda a árvore e uma quantidade
polinomial de memória no algoritmo da complexidade da árvore, uma vez que o algoritmo sempre
armazene um nó da árvore a cada possível movimento em profundidade e o número de nós no
maior movimento em profundidade seja precisamente a complexidade da árvore.
A Indução retroativa usará memória e tempo proporcional à complexidade estado-espaço como
deverá computar e gravar o movimento correto para cada possível posição.

Para o jogo da velha, um limitante superior simples para o tamanho do estado-espaço é de 3 9 = 19,683.
(Há 9 células e três estados para cada célula.) Esta conta inclui várias posições ilegais, como a posição
com cinco X e nenhum O, ou a posição em que os dois jogadores tem uma linha de três. Uma conta mais
cuidadosa, removendo as posições ilegais, nos dá 5,478. Quando rotações e reflexões de posições são
consideradas idênticas, há apenas 765 posições essencialmente diferentes.

Um limitante superior simples para o tamanho da árvore do jogo é igual a 9! = 362,880. (Há 9 posições
para o primeiro movimento, oito para o segundo e assim por diante) Isto inclui jogos ilegais que
continuam mesmo que um dos jogadores já tivesse ganho. Uma conta mais cuidadosa nos dá 255,168
jogos possíveis. Quando rotações e reflexões de posições são consideradas idênticas, há apenas 26,830
jogos possíveis.

A complexidade computacional do jogo da velha depende de como o jogo está generalizado. Uma
generalização natural é a de m,n,k-jogos: jogados em um tabuleiro m x n com um ganhador sendo o
primeiro jogador a conseguir k em uma linha. É imediatamente claro que este jogo pode ser resolvido
em DSPACE(mn) pesquisando toda a árvore do jogo. Isto o coloca na importante classe de complexidade
PSPACE. Como algum trabalho a mais, pode ser mostrado estar em PSPACE-completo.[4]

Devido ao grande tamanho das complexidades dos jogos, esta tabela nos dá o teto de seus logaritmos na
base 10. (Em outras palavras, o número de zeros. Um 3 na tabela representa o tamanho de
aproximadamente 1,000). Todos os seguintes números devem ser considerados com cautela: mudanças
aparentemente mínimas das regras de um jogo podem mudar os números (que são muitas vezes
estimativas grosseiras de qualquer maneira) por fatores enormes, que podem facilmente ser muito
maiores do que os números mostrados.
2/6
Complexidade Complexidade
Tamanho estado- da árvore do Duração
do espaço jogo média do Classe de
Tabuleiro (log na base (log na base jogo complexidade
(posições) 10) 10) (Camadas) Fator de de jogos
Jogo ramificação Referências generalizados

Jogo da velha 9 3 5 9 4 PSPACE-


completo[4]

Sim 15 3 8 14 3.7 PSPACE-


completo[5]
[6][7]
Pentominoes 64 12 18 10 75 PSPACE
[6]
Kalah [8] 14 13 18 Generalização
não está clara
[1][9]
Connect Four 42 13 21 36 4 PSPACE
[6]
Domineering (8 × 8) 64 15 27 30 8 PSPACE; em P
para certas
dimensões [10]
[6]
Congkak 14 15 33

Damas (8x8) 32 20 ou 18 31 70 2.8 [11] or [1] EXPTIME-


completo[12]
[1]
Awari[13] 12 12 32 60 3.5 Generalização
não está clara
[1]
Qubic 64 30 34 20 54.2 PSPACE-
completo[4]
[14]
Fanorona 45 21 46 44 11 EXPTIME
[1]
Nine Men's Morris 24 10 50 50 10 EXPTIME
[1]
Damas 50 30 54 90 4 EXPTIME-
internacional(10x10) completo[12]
[15]
Xadrez chinês (2 121 23 EXPTIME-
grupos) completo [16]
[15]
Xadrez chinês (6 121 78 EXPTIME-
sets) completo [16]
[17]
Lines of Action 64 23 64 44 29 EXPTIME
[1]
Reversi (Othello) 64 28 58 58 10 PSPACE-
completo[18]
[19]
OnTop 72 88 62 31 23.77
[6]
Hex (11x11) 121 57 98 40 280 PSPACE-
completo[20]
[1]
Gomoku (15x15, 225 105 70 30 210 PSPACE-
estilo livre) completo[4]

[1][21] 3/6
[1][21]
Go (9x9) 81 38 45 EXPTIME-
completo[22]
[23]
Xadrez 64 47 123 80 35 EXPTIME-
completo (sem
a regra dos 50
movimentos)
[24]
[25]
Connect6 361 172 140 30 46000 PSPACE-
completo[26]
[27]
Gamão 28 20 144 50-60 250 Generalização
não está clara
[1][2][3]
Xiangqi 90 40 150 95 38 acredita-se ser
EXPTIME-
completo
[28][29]
Abalone 61 25 154 87 60 PSPACE-difícil
e EXPTIME
[6][30]
Havannah 271 127 157 66 240 PSPACE-
completo[31]
[3]
Janggi 90 44 160 100 40 acredita-se ser
EXPTIME-
completo
[32]
Quoridor 81 42 162 91 60 PSPACE
[35][36]
Amazons (10x10) 100 40 212 84 374 ou PSPACE-
299[34] completo[37]
[1][21]
Go (13x13) 169 79 90 EXPTIME-
completo[22]
[2][38]
Shogi 81 71 226 115 92 EXPTIME-
completo[39]
[40][41][42]
Arimaa 64 43 402 92 17281 EXPTIME
[1][21]
Go (19x19) 361 171 360 150 250 EXPTIME-
completo[22]
[43]
Stratego 92 115 535 381 21.739

Double dummy (52) <17 <40 52 5.6


bridge[44]
[45]
Bejeweled and 64 <50 NP-difícil
Candy Crush (8x8)

Notas e referências
1. ↑ a b c d e f g h i j k l m n Victor Allis (1994). Searching for Solutions in Games and Artificial Intelligence
(PDF) (Tese de Ph.D.). University of Limburg, Maastricht, The Netherlands. ISBN 90-900748-8-0
2. ↑ a b c Shi-Jim Yen, Jr-Chang Chen, Tai-Ning Yang, and Shun-Chin Hsu (Março de 2004). «Computer
Chinese Chess» (PDF). International Computer Games Association Journal. 27 (1): 3–18. Consultado em 9
de julho de 2015. Arquivado do original (PDF) em 9 de julho de 2015
3. ↑ a b c Donghwi Park (2015). «Space-state complexity of Korean chess and Chinese chess»
4/6
4. ↑ Hilarie K. Orman (1996). Pentominoes: A First Player Win (PDF) (Relatório). 29. MSRI Publications.
pp. 339–344 em Games of no chance
5. ↑ Veja van den Herik et al para regras.
6. ↑ John Tromp (2010). «John's Connect Four Playground»
7. ↑ Michael Lachmann; Cristopher Moore; Ivan Rapaport (Junho 2000). Who wins domineering on
rectangular boards? (Relatório). MSRI Combinatorial Game Theory Research Workshop
8. ↑ Veja Allis 1994 para regras
9. ↑ M.P.D. Schadd, M.H.M. Winands, J.W.H.M. Uiterwijk, H.J. van den Herik and M.H.J. Bergsma (2008).
«Best Play in Fanorona leads to Draw» (PDF). New Mathematics and Natural Computation. 4 (3): 369–
387. doi:10.1142/S1793005708001124
10. ↑ a b G.I. Bell (2009). «The Shortest Game of Chinese Checkers and Related Problems». Integers.
arXiv:0803.1245 arXiv:0803.1245
11. ↑ a b Takumi Kasai, Akeo Adachi, and Shigeki Iwata (1979). «Classes of Pebble Games and Complete
Problems». SIAM Journal on Computing. 8 (4): 574–586. doi:10.1137/0208046 Prova integridade de
generalizações de gráficos arbitrários.
12. ↑ Mark H.M. Winands (2004). Informed Search in Complex Games (PDF) (Tese de Ph.D. thesis). Maastricht
University, Maastricht, The Netherlands. ISBN 90-5278-429-9
13. ↑ Stefan Reisch (1981). «Hex ist PSPACE-vollständig (Hex is PSPACE-complete)». Acta Inf. (15): 167–191
14. ↑ a b c John Tromp and Gunnar Farnebäck (2007). "Combinatorics of Go". Este artigo decorre dos
limites 48<log(log(N))<171 sobre o número de jogos N possíveis.
15. ↑ O tamanho do estado espaço e da árvore do jogo para o xadrez foi primeiramente estimado em
Claude Shannon (1950). «Programming a Computer for Playing Chess» (PDF). Philosophical Magazine. 41
(314). Consultado em 9 de julho de 2015. Arquivado do original (PDF) em 15 de março de 2010 Shannon
deu estimativas de 1043 and 10120 respectivamente, menor que o limite superior na tabela, a qual é
detalhada em Número de Shannon.
16. ↑ «Cópia arquivada». Consultado em 8 de julho de 2015. Arquivado do original em 26 de fevereiro de
2009
17. ↑ Chorus, Pascal. «Implementing a Computer Player for Abalone Using Alpha-Beta and Monte-Carlo
Search» (PDF). Dept of Knowledge Engineering, Maastricht University . Consultado em 29 de março de
2012
18. ↑ Kopczynski, Jacob S (2014). Pushy Computing: Complexity Theory and the Game Abalone (Thesis).
Reed College.
19. ↑ Joosten, B. "Creating a Havannah Playing Agent" (PDF). Visitado em 29 de março de 2012.
20. ↑ E. Bonnet, F. Jamain and A. Saffidine (2014-03-25). "Havannah and TwixT are PSPACE-complete".
arXiv:1403.6518 cs.CC.
21. ↑ Lisa Glendenning (May 2005). Mastering Quoridor Arquivado em 15 de março de 2012, no Wayback
Machine. (PDF). Computer Science (B.Sc. thesis). University of New Mexico.
22. ↑ O menor fator de ramificação é do jogador 2.
23. ↑ Julien Kloetzer; Hiroyuki Iida; Bruno Bouzy (2007). "The Monte-Carlo Approach in Amazons".
24. ↑ P. P. L. M. Hensgens (2001). "A Knowledge-Based Approach of the Game of Amazons" (PDF).
Universiteit Maastricht, Institute for Knowledge and Agent Technology.
25. ↑ R. A. Hearn (2005-02-02). "Amazons is PSPACE-complete". arXiv:cs.CC/0502013 cs.CC.
26. ↑ Hiroyuki Iida, Makoto Sakuta, Jeff Rollason (Janeiro de 2002). «Computer shogi». Artificial Intelligence.
134 (1–2): 121–144. doi:10.1016/S0004-3702(01)00157-6
27. ↑ H. Adachi, H. Kamekawa, and S. Iwata (1987). «Shogi on n × n board is complete in exponential time».
Trans. IEICE. J70-D: 1843–1852
28. ↑ Christ-Jan Cox (2006). "Analysis and Implementation of the Game Arimaa" (PDF).
29. ↑ David Jian Wu (2011). "Move Ranking and Evaluation in the Game of Arimaa" (PDF).
30. ↑ Brian Haskin (2006). "A Look at the Arimaa Branching Factor".

5/6
31. ↑ Double dummy bridge não é propriamente um jogo de tabuleiro mas mas tem uma árvore de
jogo similar, e é estudado em computer bridge, o que motiva a inclusão deste jogo na lista.
32. ↑ L. Gualà, S. Leucci, E. Natale (2014). "Bejeweled, Candy Crush and other Match-Three Games are
(NP-)Hard".

6/6

Você também pode gostar