Um mecanismo de xadrez pode lhe dizer por que uma jogada é boa ou ruim?


8

Qualquer mecanismo de xadrez pode lhe dizer por que uma jogada é boa ou ruim? Por exemplo, digamos que um mecanismo de xadrez diga que a pontuação contra meu oponente está atualmente em +2 a meu favor. Eu faço uma jogada e minha pontuação cai para 1.4. Qualquer motor pode me dizer o que fiz de errado, de modo que minha pontuação caiu de 2 para 1,4 (assumindo que não pendurei uma peça ou peão etc.)

Parece-me que fazer com que os programadores de xadrez tornem seus programas ainda mais fortes agora não faz sentido e seria muito mais benéfico para o jogador de xadrez comum se eles pudessem ter seus programas nos instruindo por que uma jogada é ruim (ou boa), supondo que atualmente não possam faça isso.


5
Pode ser mais benéfico tentar entender por que uma mudança é boa ou ruim.
Tony Ennis

Respostas:


7

Mais ou menos (mas não realmente) - e está ficando cada vez mais difícil para os motores fazer isso por você. Para entender o porquê, você precisa entender como é a avaliação. Os motores normalmente podem fazer avaliações instantâneas em uma determinada posição, fornecendo um valor de ponto bruto. Então, seja qual for a posição, eles jogam para a frente, tentando encontrar a linha para a frente que otimiza essa pontuação para os dois lados.

É importante entender que a pontuação '2.0' ou '1.4' não é a avaliação / pontuação da posição atual. Em vez disso, é a avaliação em que N se move para baixo da linha, com cada lado executando a melhor jogada que o mecanismo encontrou. É por isso que a "pontuação atual da avaliação" salta enquanto o computador está pensando. Não é que a 'pontuação' de uma posição tenha mudado - é apenas que ela encontrou uma linha diferente avançando que acabou em uma posição diferente (que tinha uma pontuação diferente).

No passado, os motores eram ruins. Não apenas por causa de algoritmos abaixo do ideal, mas por causa de hardware muito lento - se você acha que juros compostos são poderosos, não é nada comparado à Lei de Moore . Então, os computadores da época estavam apenas olhando para algumas mudanças no futuro. O que tornou relativamente fácil para um ser humano seguir a lógica - sua pontuação caiu porque você está perdendo seu cavaleiro no próximo turno.

Mas agora? Se a sua pontuação foi de '2,0' para '-0,3', é possível que, devido a algumas táticas inevitáveis ​​nos próximos 7 movimentos, você tenha que desistir da troca para evitar perder sua rainha ou ficar com o xadrez . Mas é difícil mostrar o salto de "Aqui está a posição agora" e "Bem, avaliei 20 bilhões de posições daqui para frente e confie em mim quando digo que você sacrificar a torre pelo bispo foi o melhor que você poderia esperar".


4

O @D_M mencionado sobre o Chessmaster, mas ele relata apenas recursos estáticos muito simples, como:

  • Sua rainha está sendo atacada
  • Você perde um peão na linha do computador
  • Você ganha uma troca na linha de computadores

Você sabe por que o Chessmaster fez isso? Isso porque a implementação foi fácil.

Qualquer motor pode me dizer o que fiz de errado, de modo que minha pontuação caiu de 2 para 1,4 (assumindo que não pendurei uma peça ou peão etc.)

NÃO . Chesmaster não pode fazer isso. Nenhum software pode fazer isso. Não temos a tecnologia para fazer isso. As técnicas tradicionais de programação de mecanismos não podem fazer isso.

Para fazer o que você descreve, precisamos de modelos avançados de matemática / aprendizado de máquina. Não estou ciente de nada disso.


Mas ... minha versão do Chessmaster foi além do material e contou ao usuário sobre considerações posicionais. Talvez você tenha uma versão anterior? E mesmo que você não acredite em mim sobre o Chessmaster por algum motivo, é claro que isso é possível com a tecnologia atual, já que atualmente temos algoritmos que classificam posições com base em coisas como espaço e posição do peão. Os motores seriam muito mais fracos se a única coisa que eles olhassem fosse material.
DM

@D_M No. Sou um desenvolvedor de mecanismos experiente, sei do que estou falando. É possível, nada é impossível. Enviamos sondas para o espaço, é claro que é possível construir um mecanismo de xadrez mais inteligente. Mas não temos agora.
SmallChess

@D_M Que considerações posicionais você menciona no Chessmaster? Publicar saídas?
SmallChess

Houve um exemplo de saída em chess.com/forum/view/general/chessmaster9 se você rolar para baixo até perto da parte inferior. "Como resultado dessa linha de jogo, seu potencial de ataque aumenta. Além disso, o desenvolvimento de seus peões é um pouco melhor." Essa é praticamente a saída que eu lembro. Eu te daria mais exemplos mim mesmo se o Windows 10 foi capaz de executar o meu velho CD Chessmaster 9000 (ou se a unidade de CD não foi quebrado no meu computador antigo.)
DM

Encontrei outro aqui: chess.com/forum/view/chess-equipment/… "Como resultado dessa linha de jogo, você ganha um bispo e um peão. Além disso, a mobilidade de suas peças é bastante aprimorada, e as de Black a mobilidade diminui. Além disso, a formação de peões de Black é um pouco interrompida. Finalmente, a pressão sobre o rei de Black é um pouco aumentada e a pressão sobre seu rei diminui ligeiramente. "
DM

1

Além de outras respostas, os mecanismos não avaliam posições como seres humanos, portanto, não podem fornecer uma boa explicação por que eles acham que sua ação é inferior (ênfase no que pensam, não necessariamente).

Mas você pode seguir as orientações usando sugestões de mecanismo e entender por que era inferior. Pelo menos é o que eu faço.

Poderia haver um mecanismo que possa fazer isso? Acho que sim, mas do ponto de vista comercial, provavelmente, é necessário um esforço inviável.


Se você olhar para a função de avaliação dos mecanismos de xadrez, eu diria que eles avaliam as posições da mesma maneira que os humanos. A diferença é que os computadores são capazes de avaliar rapidamente muitas posições em várias linhas, enquanto um humano depende mais da experiência / princípios gerais.
user1583209

1

Eu acho que o mecanismo de xadrez pode "contar", mas de maneira indireta.

O que eu faria é jogar vários movimentos diferentes da mesma posição. O mecanismo de xadrez (presumivelmente) fornecerá uma pontuação diferente para cada um.

Isso permitirá que você "classifique" os vários movimentos. Talvez um padrão surja. Caso contrário, convém um jogador humano (mais forte) para explicar o ranking do mecanismo de xadrez para você.


1

Sim, vi programas que tentam explicar por que uma mudança é boa ou ruim na linguagem. O Chessmaster 9000 faria isso.

Muitos motores mostrarão a melhor linha para cada movimento. Portanto, pode-se dizer que, se você joga g6, espera que o jogo vá para f5 gxf5 Nxf5, enquanto que, se você joga b6, espera que o jogo vá para a5 bxa5 Bxa5. Frequentemente, você pode ver por que a mudança foi boa ou ruim. Mas às vezes ainda é muito sutil.

Há uma ferramenta aqui onde você pode inserir uma posição e ela informará exatamente por que o Stockfish avalia a posição da maneira que faz. Funciona apenas para uma posição estática (nem sequer olha para o futuro), mas ainda é interessante.


Como uso essa ferramenta? Parece um documento htm. Como abri-lo e interagir com ele?
Santropedro 5/11

Pessoalmente, baixei e depois arrastei o arquivo para um navegador.
DM

0

Não. Embora o Chessmaster, como mencionado por todos, possa lhe dizer algumas coisas básicas, como se a seguinte linha resultará em um sacrifício de troca ou você poderá perder um peão e assim por diante.

Mas você também pode analisar isso jogando as linhas abaixo. Não há mecanismos de xadrez e não vejo nenhum no futuro que possa explicar por que a mudança é boa / ruim, a menos que isso custe a diferença material. Como um motor pode ter jogado uma jogada para melhorar sua posição no futuro, diga como após 50 jogadas. Não há como explicar por que esse movimento resultará em uma posição melhor após 50 movimentos.

Além disso, os principais mecanismos de xadrez do mercado, como o Stockfish, etc. nem se preocupam em incluir recursos como os motores de xadrez de nível são completamente diferentes e muito difíceis de analisar, mesmo que recebamos explicações sobre todos os movimentos.


O Chessmaster disse coisas como "Como resultado dessa linha de jogo, seu potencial de ataque aumenta. Além disso, o desenvolvimento de seus peões é um pouco melhorado" ou algo assim, e não se limitou a dizer se você venceria ou não. perder material. Pelo menos minha versão fez.
DM

0

A avaliação do mecanismo ("2" / "1.4") é de fato muito semelhante à maneira como um ser humano avaliaria uma posição. É basicamente uma soma de vários fatores, como material , segurança do rei , atividade da peça , etc. avaliados não para a posição atual, mas para a posição que cerca de 20 avança mais ou menos; assumindo um jogo perfeito de ambos os lados.

Em princípio, pode-se tentar monitorar a mudança em todos esses fatores separadamente (em vez de apenas a soma dos motores). Por exemplo, se uma jogada levar a um valor mais baixo para "segurança do rei" mais tarde em comparação com a melhor jogada, pode-se tentar dizer ao aluno algo como: Sua última jogada deixou seu rei mais vulnerável

No entanto, duvido que isso funcione em jogos reais, porque:

  • o movimento do aluno pode de fato ter outros problemas: por exemplo, pode negligenciar o desenvolvimento e somente por isso o jogador pode ter que fazer concessões mais tarde em relação à proteção do rei (assumindo a melhor jogada).
  • muitos fatores podem mudar ao mesmo tempo, alguns subindo e outros caindo por exemplo. Tentar expressar isso em palavras pode ser complicado, por exemplo: seu último movimento negligenciou a segurança do rei, mas melhorou a atividade de sua peça e você perdeu um peão, mas ocupou um arquivo aberto. Essas informações seriam úteis para um aluno?

Por isso, duvido que os computadores possam ensinar a você jogo posicional ou intuitivo (com base em princípios) pelo menos com a tecnologia atual. Melhor usar métodos clássicos, como outros seres humanos, ler / assistir / ouvir jogos anotados, etc.

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.