Avaliação ruim do Stockfish

15

Este é o estudo

NN - NN

Como você pode ver, o Stockfish dá uma vitória absolutamente decisiva para o preto, embora seja claramente um empate !!

Confira você mesmo

c4 + é uma jogada perdida, enquanto Ba4 + é a correta.

O que está acontecendo? É preciso não Stockfish em consideração fechado posições em tudo ?

William Kinaan
fonte
5
Há muitas posições que o Stockfish não avalia corretamente (incluindo alguns jogos finais comuns).
Qudit 08/07/19
10
Acontece o tempo todo! É um pedaço de software, não um Deus
David
4
Ficaria muito feliz em ver um cenário em uma veia semelhante que é avaliada completamente errada pelo AlphaZero ou Leela Zero!
precisa saber é o seguinte
1
@Qudit: Sim. Eu estava apenas apontando que a questão deveria se concentrar precisamente nesse aspecto, em vez de começar da posição dada. Desculpe se eu não deixei isso claro.
TonyK 08/07/19
3
@leftaroundabout Leela também desvaloriza fortalezas o tempo todo, veja, por exemplo, o final deste jogo do TCEC Sufi: cd.tcecbeta.club/archive.html?season=15&div=sf&game=31 . De fato, indiscutivelmente, Leela desvaloriza ainda mais do que o Stockfish, já que muitas vezes ele tem uma avaliação diferente de zero, enquanto o Stockfish exibe estoicamente 0,00, e leva séculos para que Leela perceba que o oponente não está deixando ele vencer.
Allure

Respostas:

25

O Stockfish não é uma entidade perfeita para jogar xadrez, e você encontrou uma posição em que é incapaz de dizer que é um empate (pelo menos até a regra dos 50 movimentos entrar em ação e ajudar a podar). Essas posições são chamadas de " fortalezas ". Você pode dizer que isso está acontecendo porque, mesmo que você insira a solução, o Stockfish ainda avalia a posição final como -10 ou mais. Essas posições da fortaleza onde Stockfish está completamente errado são poucas e distantes, mas elas existem, e essa é uma delas.

Houve várias tentativas de escrever o código de detecção de fortaleza em Stockfish e outros motores convencionais, destinados a reconhecer fortalezas e impedir que Stockfish se dirigisse a eles se sua posição fosse superior. Se você tem uma idéia inteligente, provavelmente poderá publicá-la em um diário acadêmico (consulte as publicações no wiki de programação de xadrez).

Allure
fonte
11

Isso ajuda a entender que os motores realmente não saem da "estratégia", tanto quanto olham para vários movimentos no futuro, avaliam a pontuação da posição e encontram o conjunto ideal de movimentos.

A grande fraqueza dessa abordagem é que, se nada acontecer rapidamente, o mecanismo terá problemas. Isso costumava ser um grande problema com os jogos finais. Se você tem um K + B + P vs K + P, não está resolvendo essa posição em apenas alguns movimentos. Portanto, a solução foi adicionar as bases de tabela do final de jogo aos mecanismos - apenas o bruteforce calcula todas as posições do final de jogo com antecedência e as adiciona como uma biblioteca para o mecanismo usar. (É por isso que, na maioria dos aplicativos de xadrez baratos, você pode ganhar uma vitória simplesmente sobrevivendo ao final do jogo: porque ele não possui uma base de tabela do final do jogo.)

Mas sua posição (compreensivelmente) não estará em nenhuma base de tabela de final de jogo. Portanto, o bacalhau tem que desempenhar milhões de posições, esticando 10 ou mais movimentos para o futuro ... apenas para descobrir que em todas elas, o preto é substancialmente rico em material. Definitivamente, não é possível executar ~ 56 movimentos para a árvore de decisão completa - que é o que seria necessário para determinar um empate definitivo.

Kevin
fonte
0

As outras respostas cobrem bem essa pergunta, mas é interessante que nem todos os programas não entendam que isso é um empate. Liguei isso no meu computador e, como membro do ChessBase Premium, também tenho acesso aos mecanismos de nuvem.

Um desses mecanismos de nuvem avaliou isso como um empate quase instantaneamente. Eu só queria que houvesse mais informações do que simplesmente "New Engine".

insira a descrição da imagem aqui

PhishMaster
fonte