Como aprendo Programação de xadrez?


13

Basicamente, tenho visto que as pessoas escrevem muitos algoritmos de xadrez e fazem perguntas neste fórum, que eu me atrapalho a responder de maneira apropriada. Eu vejo o código, mas não consigo descobrir se está correto ou não?

Eu sou um profissional de software, mas não estou familiarizado com algoritmos de xadrez ou coisas relacionadas a codificação. Você poderia me ajudar a sugerir onde eu posso aprender essas coisas ou vou obter as explicações?


3
chessprogramming.wikispaces.com é um bom ponto de partida. Ou se você prefere ler o código-fonte, o Stockfish é de código aberto.
precisa saber é o seguinte

Respostas:


9

Como você abordaria o problema:

  • Confira chessprogramming.wikispaces.com . Este será o seu site de referência.
  • Crie uma conta no talkchess.com . Todos os melhores desenvolvedores de mecanismos estão lá. Se houver uma pergunta sobre o mecanismo que você não encontre uma resposta lá, não a encontrará em nenhum outro lugar.
  • Confira o código-fonte do mecanismo TSCP. O TSCP é um mecanismo de xadrez de implementação mais simples, mas funcional. Mais fácil de ler do que o Stockfish.
  • Faça alguma coisa. Tente escrever um gerador de tabuleiro de xadrez. Verifique os sites de referência acima. Estude como o TSCP faz isso.
  • Compare seus resultados PERF com https://chessprogramming.wikispaces.com/Perft
  • Escreva uma avaliação de posição simples apenas com materiais. Copie a tabela PST do TSCP ou do site de programação de xadrez.
  • Escreva uma simples pesquisa nega-max e alfa-beta.
  • Leia sobre o protocolo UCI
  • Adicionar tabela de transposição
  • Adicionar poda de movimentação nula simples

TSCP é onde eu comecei, eu também gostaria de acrescentar que há um bom local para a escrita de um progama em 99 passos aqui: aghaznawi.comuf.com/computer%20chess/winglet
nak3c

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.