Em alguns artigos (históricos), o xadrez tem sido referido como a drosófila da inteligência artificial. Embora eu suponha que na pesquisa atual, a mera aplicação de um algoritmo de pesquisa seja, na melhor das hipóteses , ciência da computação avançada , acredito que ainda existem áreas em que podemos aplicar (e praticar) técnicas de IA.
Um exemplo simples seria a abertura do aprendizado de livros, onde se pode ensinar ao programa se deve usar ou não determinados movimentos na abertura, porque o programa não é adequado a certos tipos de posição. Podemos usar uma forma de aprendizado por reforço e automatizar isso: suponho que eu possa reproduzir o programa contra si mesmo e aumentar a probabilidade de ganhar linhas e diminuir a probabilidade de perder linhas.
O exemplo mais complexo é usar uma função de avaliação de aprendizado (por exemplo, é possível ajustar os valores das tabelas em partes quadradas ). No entanto, estou pensando:
- dado todo o ruído devido à enorme quantidade de posições realistas (em oposição à quantidade de linhas de abertura realistas)
- e com o custo (duração) de um jogo de xadrez por computador e a necessidade de jogar muito.
Como alguém pode fazer isso efetivamente? (ou devo procurar outras técnicas, por exemplo, redes neurais).
Respostas:
Todo o espaço estatal para o xadrez é enorme - pode ser estimado em 10 43 (número de Shannon (Shannon, 1950) , ( Wikipedia )).
A idéia que você apresenta - agentes de Aprendizagem por Reforço que jogam uns com os outros para aprender o jogo - foi aplicada com sucesso ao Gamão - TD-Gammon (Tesauro, 1995) , ( Capítulo em Aprendizagem por Reforço de Sutton & Barto ). Ele também usou as Redes Neurais para estimar a função de valor do jogo. Esse problema é, no entanto, muito mais simples, pois o número de estados no Gamão é significativamente menor que no xadrez, a saber: 18.528.584.051.601.162.496 ( tópico Arquivo de Fórum do Gamão ).
Se você, no entanto, terminasse o jogo após alguns movimentos iniciais e visasse apenas aprender "boas aberturas", poderia ter sucesso com uma abordagem análoga. O principal problema seria avaliar o jogo após o jogo de abertura, o que parece difícil. Apenas uma medida de semelhança com as posições estabelecidas após aberturas conhecidas não é suficiente, porque a posição pode estar longe delas se o oponente fizer um movimento estúpido (por isso não seria por causa do erro do agente de aprendizagem, portanto, a posição mesmo se "incorreta "deve ser avaliado como um bom resultado).
Referências:
SHANNON, Claude E. "Programando um computador para jogar xadrez". In Philosophical Magazine, sétima série, 41, n. 314 (março de 1950): 256-75.
Gerald Tesauro. 1995. Aprendizagem de diferenças temporais e TD-Gammon. Comum. ACM 38, 3 (março de 1995), 58-68
fonte
Tenho certeza de que qualquer método possível (ou estranho) de IA ou ML em livros didáticos foi tentado e praticamente falhou em comparação com a força bruta simples.
Minha perspectiva pessoal é que o xadrez em si não tem mais interesse para a IA moderna ... Simplesmente, porque está resolvido : basta usar um computador moderno e força bruta. Portanto, não acho que seja necessário criar um sistema "inteligente" para resolvê-lo com mais eficiência (funciona muito bem no meu celular), e acredito que não há nem a necessidade de algo desconhecido e mais abordagem "inteligente" para existir.
fonte
Eu acho que vale a pena notar que, para determinar como resolver um problema de IA, você deve defini-lo. Se é Totalmente Observável ou Parcialmente Observável , e se é Determinístico ou Estocástico / Chance.
O xadrez é totalmente observável (ao contrário de Gamão, Monopólio ou Poker, por exemplo). Também é determinístico (como damas e Go, por exemplo). Por fim, existem adversários e, por isso, ao determinar a próxima melhor jogada, é útil usar o tipo de pesquisa adversa. algoritmos como o MiniMax. A classificação de um problema pode nos ajudar a determinar que tipo de algoritmo de pesquisa queremos aplicar. E, no caso do xadrez, a Pesquisa Adversarial seria adequada.
Minimax em particular tem um
Portanto, no caso do xadrez, b seria 35 e m seria 100. Existem maneiras de contornar isso ou estratégias para torná-lo mais eficiente, como o corte alfa-beta.
fonte