Pode haver um algoritmo de xadrez perfeito?

15

Os algoritmos atuais de xadrez vão de 1 a 2 níveis abaixo de uma árvore de caminhos possíveis, dependendo dos movimentos do jogador e do adversário. Digamos que temos o poder de computação para desenvolver um algoritmo que prevê todos os movimentos possíveis do oponente em um jogo de xadrez. Um algoritmo que possui todos os caminhos possíveis que o oponente pode seguir a qualquer momento, dependendo dos movimentos dos jogadores. Pode haver um algoritmo de xadrez perfeito que nunca perca? Ou talvez um algoritmo que sempre vencerá? Quero dizer, em teoria, alguém que possa prever todos os movimentos possíveis deve ser capaz de encontrar uma maneira de derrotar todos e cada um deles ou simplesmente escolher um caminho diferente, se um certo líder efeminadamente o levar a derrotar ...

edit-- Qual é realmente a minha pergunta. Digamos que temos o poder de computação para um algoritmo perfeito que pode ser reproduzido da melhor maneira. O que acontece quando o oponente joga com o mesmo algoritmo ideal? Isso também se aplica a todos os jogos de 2 jogadores com número finito (muito grande ou não) de jogadas. Pode haver um algoritmo ideal que sempre vence?

Definição pessoal: um algoritmo ideal é um algoritmo perfeito que sempre vence ... (não aquele que nunca perde, mas que sempre vence

John Demetriou
fonte
Esta questão é baseada em vários conceitos errôneos. Primeiro, os computadores de xadrez parecem muito mais distantes do que uma ou duas camadas à frente: mesmo cinco anos atrás, em um laptop comum, programas bastante comuns de xadrez estavam olhando 15 a 16 camadas à frente e mais de 25 em linhas críticas. Segundo, a definição de "perfeito" como "sempre vence" não pode ser alcançada, como mostrado nas respostas. Terceiro, os mecanismos de xadrez não "prevêem" jogadas: calculam e jogam jogadas que são boas contra possíveis respostas.
David Richerby

Respostas:

13

Sua pergunta é semelhante à antiga castanha: "O que acontece quando uma força irresistível encontra um objeto imóvel?" O problema está na própria pergunta: as duas entidades descritas não podem existir no mesmo universo logicamente consistente. Seu algoritmo ideal, um algoritmo que sempre vence, não pode ser jogado pelos dois lados em um jogo em que um lado deve vencer e o outro, por definição, perder. Portanto, seu algoritmo ideal, conforme definido, não pode existir.

Kyle Jones
fonte
3
Bem, pode, por exemplo, um algoritmo que permite que o primeiro jogador vencer. Isso significaria que jogar primeiro tem uma vantagem. Ou talvez o algoritmo ideal permita apenas o segundo jogador vencer. Isso daria uma vantagem ao segundo jogador. A terceira possibilidade (s) é um algoritmo que permite que um dos jogadores sempre force um empate, mas não garanta uma vitória (porque, como o OP quer saber, é isso que acontece, por exemplo, se os dois jogadores jogarem a mesma estratégia vencedora , se não houver vantagem em jogar primeiro ou segundo).
Realz Slaw
3
@ Realz Bem, sim, se você alterar a definição de um "algoritmo ideal", poderá provar o que quiser. Eu usei a definição que o questionador nos pediu para usar.
Kyle Jones
Esta é a resposta que eu estava tentando tirar das pessoas. Não pode haver um algoritmo que sempre vence porque é um jogo de 2 jogadores; portanto, não há como o algoritmo funcionar, porque os dois jogadores podem ter o mesmo algoritmo; portanto, pelo menos um dos dois é forçado a não vencer (perder ou empatar) . Fiz a mesma pergunta ao meu professor e demoramos muito tempo para ele chegar a essa conclusão
John Demetriou
3
@JohnDemetriou O problema é que essa conclusão está errada . O xadrez não é um jogo simétrico por causa da vantagem do primeiro jogador - é perfeitamente possível que exista um algoritmo ideal que permita às brancas jogar e vencer, mas as pretas não podem usá-las pela simples razão de que elas não são brancas!
Steven Stadnicki
Também é possível, devo observar, que ir primeiro não é realmente uma vantagem e que existe um algoritmo que sempre permite que as pretas vença contra as melhores jogadas de White - mas deve ser imediatamente óbvio que não há algoritmo que possa sempre permitir que se ganhe, seja preto ou branco. É por isso que as pessoas falam do 'melhor resultado possível', porque 'vencer de ambos os lados' é trivialmente impossível.
Steven Stadnicki
23

Antes de tudo, acredito que os algoritmos de xadrez parecem mais do que 2 camadas, embora não considerem todas as possibilidades diferentes; podar a árvore de busca é muito importante para evitar a explosão combinatória no número de movimentos possíveis.

Para um jogo como o xadrez, há três possibilidades quanto à identidade do vencedor: o jogador 1 tem uma estratégia vencedora, ou o jogador 2 tem uma estratégia vencedora, ou os dois jogadores empatam sob o jogo ideal. Não se sabe qual é o caso do jogo de xadrez. No entanto, como o xadrez é um jogo finito, existe um algoritmo de computador, que consiste em uma tabela muito grande, que joga xadrez de maneira otimizada.

Obviamente, esse algoritmo não seria prático. Mas para alguns jogos mais simples, o "valor" do jogo (qual jogador vence, se houver) foi determinado e um algoritmo ideal foi desenvolvido. Esse jogo é conhecido como jogo resolvido .

O assunto matemático que lida com os jogos combinatórios é a teoria dos jogos combinatórios . Os matemáticos desenvolveram um método recursivo para determinar o valor de um jogo, dado o gráfico do jogo, que inclui todas as posições e movimentos permitidos. Você deve encontrar uma descrição desse algoritmo na entrada da Wikipedia ou em qualquer anotação de aula sobre o assunto.

Yuval Filmus
fonte
sim, de fato, mas eu estava tentando responder a qualquer resposta com outra pergunta, o que acontece quando os dois jogadores jogam com o algoritmo ideal ???? o que acontece se um jogador encontra uma maneira de derrotar o algoritmo ideal?
John Demetriou
11
@JohnDemetriou Quando os dois jogadores jogam da melhor maneira, você obtém algum resultado. Esse resultado é chamado de valor do jogo. Se o xadrez é branco vencer, isso significa que nada que o preto poderia fazer poderia derrotar um jogador branco jogando da melhor maneira. O branco tem efetivamente um livro enorme (ou é capaz de produzir a jogada de um livro desse tipo computacionalmente) que contém um contador perfeito para qualquer jogada que o preto pode fazer em qualquer situação possível que se desenvolva desde o início do jogo. Aliás, chillax nos pontos de interrogação. Um por sentença é suficiente.
Rdenaud
Peço desculpas pelos pontos de interrogação. É assim que eu digito em geral. E se o xadrez for a vitória mais ideal. Se branco e preto têm o mesmo livro e os mesmos contadores? O que acontecerá então?
31711 John Demetriou
11
@JohnDemetriou "Ótimo" significa "o melhor possível". Se as conseqüências matemáticas das regras do xadrez são que o melhor que um preto pode fazer contra um branco ideal é o empate (ou mesmo pode atrasar a vitória do branco pelo maior tempo possível), o algoritmo ideal para o preto é aquele que consegue isso, e é capaz de vencer contra a maioria dos oponentes não ideais.
Ben
11
@JohnDemetriou É possível que exista um algoritmo que sempre vence como branco ; Obviamente, esse algoritmo nem sempre pode vencer como preto pelas razões que já foram descritas (porque ele estaria jogando contra si mesmo). É até possível que aconteça que o preto 'ganhe' o xadrez jogado perfeitamente, e que exista um algoritmo que garanta uma vitória do preto contra qualquer oposição. Se você quer dizer "um algoritmo que sempre vence de ambos os lados", sugiro usar essa terminologia; 'ótimo' já tem um significado bem definido.
Steven Stadnicki
8

Antes de tudo, bons algoritmos de xadrez parecem mais do que 1 ou 2 níveis. Em vez de usar a pesquisa de árvore ingênua, eles executam a poda alfa-beta para diminuir o número de opções a serem consideradas. Observe que, para aberturas e jogos finais, é usado um grande banco de dados de jogadas, pois possui melhor desempenho do que a pesquisa em árvore, usada no meio do jogo.

Para a pergunta: o que você está perguntando, acredito, é "O xadrez é solucionável ?". Hipoteticamente, é verdade, embora as opiniões variem se esse resultado será alcançável em breve. O jogo de damas foi resolvido em 2007, por exemplo, mas tem muito menos posições (em torno da raiz quadrada do número no xadrez). Veja o artigo da Wikipedia para mais informações.

Aliás, as melhores IAs atuais de xadrez quase sempre derrotam ou empatam com os campeões mundiais; portanto, embora atualmente não sejam perfeitos, os algoritmos são muito bons, pelo menos!

sjmeverett
fonte
6

Em princípio, o xadrez é solucionável como qualquer outro jogo. Como as outras respostas apontaram, no entanto, não se espera que isso aconteça tão cedo.

Edit: foi apontado nos comentários que [1] é uma farsa, então pule o restante desta resposta.

Dito isto, houve alguns desenvolvimentos recentes nessa direção. [1] afirma ter demonstrado que a abertura do xadrez chamada King's Gambit está resolvida : há apenas um movimento que empata para as brancas, enquanto todas as outras jogadas de abertura levam a uma vitória para as pretas. Observe que [1] não explorou a árvore do jogo em profundidade total, mas apenas afirma que esses resultados se mantêm com alta probabilidade.

[1] http://chessbase.com/newsdetail.asp?newsid=8047

Pedro
fonte
11
Artigo muito interessante mesmo!
Paresh
Então esse não é um algoritmo ideal. Estou perguntando se um algoritmo optimal pode nunca existir (se nós temos o poder de computação)
John Demetriou
11
Certo, e considerando sua definição de "algoritmo ideal" como um algoritmo que sempre vence, esse algoritmo não pode existir para os dois jogadores, preto e branco. Além da árvore de jogo maior (mas finita), não há nada de especial no xadrez em relação a outros jogos, como por exemplo, Hex, cuja solução já é conhecida: se o primeiro jogador usar a estratégia (conhecida) ideal para jogar Hex , o primeiro jogador sempre vence, independentemente do algoritmo usado pelo segundo jogador.
12124 Peter
O artigo Gambit do rei sendo resolvido acabou sendo uma farsa. Observe que o artigo começa "Em 31 de março, o autor do programa Rybka, Vasik Rajlich, e sua família se mudaram de Varsóvia, na Polônia, para um novo apartamento em Budapeste, na Hungria. No dia seguinte, apesar da agitação das caixas móveis e do ambiente telefonar e conexões à Internet Vas, gentilmente concordou com a seguinte entrevista "- em outras palavras, isso foi no dia 1º de abril ...
Joe K
-1

A possibilidade de ganhar sempre um jogo de xadrez ou não depende das regras do jogo. No entanto, existe um técnico / algoritmo chamado Minimax (para obter detalhes, consulte https://en.wikipedia.org/wiki/Minimax ). O algoritmo consiste em tentar prever qual jogador tem vantagem em diferentes cenários com uma função recursiva. Aqui está uma explicação clara de como isso funciona com um jogo mais simples: Jogo da velha https://www.neverstopbuilding.com/blog/2013/12/13/tic-tac-toe-understanding-the-minimax-algorithm13 .

Luke the Geek
fonte
Embora outras respostas não se refiram explicitamente ao minimax, algumas se referem a links que acabam levando a eles ou à poda alfa-beta, um algoritmo para implementar o minimax com mais eficiência. O que essa resposta acrescenta que ainda não foi dita?
Lagarto discreto
-3

adicionará outra resposta que enfatize o enorme espaço de estados, que não é realmente conceitualizado na pergunta ou apontado em outras respostas. deve discordar de sua premissa:

Digamos que temos o poder de computação para desenvolver um algoritmo que prediz todos os movimentos possíveis do oponente em um jogo de xadrez.

veja informações no artigo de Shannons 1950, "Programming a Computer for Playing Chess", que introduziu o campo dos jogos / algoritmos de xadrez baseados em computador e cuja análise é basicamente inalterada e imóvel (mesmo pela revolução subsequente dos computadores e pela lei de Moores ). estima o número de movimentos. é absolutamente astronômico. na faixa de "nunca dentro de hardware concebível, mesmo com avanços imprevistos revolucionários".

é um fato psicológico documentado [3], provavelmente um dos muitos preconceitos psicológicos [2], de que os seres humanos têm problemas para entender números dessa magnitude. ver também pensamento contrafactual . [4] Enquanto os supercomputadores calculam problemas maciços, seu incontroversavelmente não está dentro do alcance de qualquer supercomputador que esteja atualmente construído ou possa ser construído. (e muitos aficionados por xadrez argumentariam que essa "explosão combinatória" nas possibilidades de movimento / posição é um aspecto intrínseco do "sabor" dos jogos que parece ter sido projetado intencionalmente para o jogo de milênios).

portanto, o xadrez é fundamentalmente diferente de alguns jogos que possuem espaços de estados "solucionáveis" menores [dos quais existem alguns estudos em ciência da computação e teoria dos jogos etc.] e, de algumas maneiras importantes, não podem ser avaliados dentro dessa estrutura.

Allis também estimou a complexidade da árvore de jogo em pelo menos 10123, "com base em um fator médio de ramificação de 35 e uma duração média de jogo de 80". Como comparação, estima-se que o número de átomos no universo observável, com o qual é frequentemente comparado, esteja entre4×1079 e 1081.

agora, dito isso, é concebível (mas improvável) que possa haver informações teóricas sobre o jogo que poderiam ser usadas para remover o espaço de pesquisa substancialmente. isso acontece desde 1950, mas não de maneira fundamentalmente revolucionária.

Veja também

[1] qual é a complexidade computacional da resolução de xadrez, tcs.se

[2] preconceitos humanos no julgamento e na tomada de decisão

[3] Estudantes de psicologia publicam pesquisas sobre a conceituação de números

[4] pensamento contrafactual

vzn
fonte
bem, em teoria, minha pergunta começou como, digamos, que temos o poder da computação, combinamos metade dos computadores do mundo para funcionar como um cluster para brancos e a outra metade para preto ...
John Demetriou
11
cara, ele se mantém mesmo se conectar todos os supercomputadores que agora existem ou já existem. sua pergunta então equivale a "em teoria, se a teoria era falsa ..." a teoria (incluindo a física) basicamente diz que obviamente você não pode calcular (muito) mais caminhos do que átomos no universo, agora ou sempre no futuro. #
21412 vzn
3
É verdade, mas a pergunta começa com "Vamos dizer que temos o poder da computação", isso pode ser feito? esta é a questão real, se tivermos poder, pode haver um algoritmo?
John Demetriou
+1 por declarar que é fisicamente impossível atingir o poder computacional necessário para resolver exatamente o xadrez. Além disso, não sei por que todo o -1 com esta resposta, acho justo e acrescenta um bom insight às outras respostas.
Alejandro Piad