Até onde eu entendo, grosso modo, os mecanismos de xadrez funcionam da seguinte maneira:
- calcular todas as variações possíveis (árvore de jogo) até um pouco de profundidade
- avaliar a posição final com base em alguns critérios (material, atividade da peça ...)
- com base nessa avaliação, decida a melhor jogada
Entendo perfeitamente que, para ter um mecanismo eficiente, existem maneiras de podar certas linhas, limitando a profundidade, etc; mas essa não é minha pergunta.
A pergunta é: existem tentativas alternativas de programar um (não necessariamente forte, mas também não aleatório) mecanismo de xadrez, que não segue esse esquema?
engines
programming
computer-chess
user1583209
fonte
fonte
Respostas:
Nos anos iniciais do xadrez por computador, as pessoas realmente tentaram ensinar xadrez a computadores da mesma maneira que fazem com os seres humanos, explicando conceitos estratégicos como uma estrutura de peões saudável ou a iniciativa. Essas tentativas foram logo abandonadas porque o método que você descreveu teve muito mais sucesso.
Recentemente, houve outra tentativa de permitir que um mecanismo se ensine a xadrez por meio do Deep Learning (provavelmente incentivado pelo sucesso da Go AI do Google ). De acordo com o artigo ao qual vinculei, eles tiveram bastante sucesso e conseguiram atingir a força do IM.
fonte
According to the article I linked to, they were quite successful and managed to reach IM strength
mas se você ler o artigo original, verá que o artigo exagerou bastante o sucesso.@Glorfindel não está errado, mas a abordagem de aprendizado profundo do xadrez é realmente um termo sofisticado para o ajuste de parâmetros na programação de xadrez.
O aprendizado profundo permite que um mecanismo de xadrez aprenda uma função de avaliação, algo geralmente escrito à mão por um programador. Durante um jogo, funciona como um mecanismo de xadrez normal.
Outras possibilidades:
fonte
Certamente! Se você realmente quer dizer .... "em teoria, existem outros métodos para codificar um mecanismo de xadrez?" ... Então sim!
Por exemplo ... pode-se armazenar uma cópia de todas as posições possíveis no xadrez (um grande número, eu sei) e fazer uma avaliação para cada uma. Então, a resposta para qualquer pergunta (ou seja, "melhor jogada para as brancas na posição X") será conhecida imediatamente apenas olhando para o quadro. O estado atual do hardware do computador é tal que isso faria algum sentido? Nah. Mas você não perguntou isso.
fonte