Eu uso o Arena GUI junto com o bacalhau em jogos de motor. Quero baixar uma base de mesa de 6 peças, mas isso é apenas muito trabalho (e talvez desnecessário). Se eu baixar o tablebase (syzygy), o stockfish funciona com ele ou apenas espera que o tabuleiro tenha 6 peças e, em seguida, o tablebase faz seus movimentos?
Aqui está o que quero dizer com mais detalhes
Bacalhau a trabalhar com a mesa
Presumo que tenho a seguinte posição:
(Nota: atualmente não estou falando das melhores jogadas, apenas um exemplo)
Stockfish 8 - Wais Kamal, Jogo de xadrez por computador, 1-0
1. Qxd4 Rxd4 1-0
O Stockfish consulta a base da tabela sobre o que acontece após o Qxd4 Rxd4 (sem continuar a avaliar o restante da linha). Se esta linha está ganhando, ela serve.
Bacalhau a trabalhar sozinho
O Stockfish continua a jogar até que seis peças sejam deixadas no tabuleiro, depois a mesa faz os movimentos.
Qual delas realmente acontece?
stockfish
tablebases
Wais Kamal
fonte
fonte
Respostas:
O Stockfish não faz isso, não é para isso que serve a mesa. Por breves instantes, a base de tabela aumenta a busca de mecanismos bem antes da posição de seis homens alcançada no tabuleiro.
Vamos fazer um exercício, adicione o tabuleiro 5 peças. Agora você tem 10 peças no tabuleiro, e não é algo que você pode encontrar em qualquer mesa. No entanto, durante a pesquisa do mecanismo, sempre que o Stockfish negocia até 6 partes , ele pode usar instantaneamente as informações da tabela. As informações da base de tabela dão ao Stockfish se a posição é uma vitória / derrota / empate sem nunca cair para algo como 5 peças. Portanto, a pesquisa é mais rápida e eficiente.
EDITAR:
O código relevante é https://github.com/official-stockfish/Stockfish/blob/master/src/search.cpp :
TB::Cardinality
é por padrão 6. O Stockfish verifica quantas peças, se não for mais que 6, consulta as informações da base de tabela. Caso contrário, pesquisa regular.fonte