Como avaliar automaticamente o desempenho de um jogador em um jogo?

8

Suponha que eu tenha um jogo completo. Eu não tenho classificações Elo dos jogadores. Meu objetivo é avaliar o desempenho de um jogador no jogo com base apenas em seus movimentos. Isso pode ser feito automaticamente usando um programa de xadrez?

O resultado pode ser sua classificação Elo aproximada, ou apenas algum valor indicando sua força ou taxa de erro.

Se ajudar, pode ser fornecido um banco de dados dos jogos do jogador. Mais uma vez, sem classificações Elo.

Minha motivação é simples. Jogo xadrez pela internet e gostaria de acompanhar automaticamente meu progresso, com base nos próprios jogos, não na classificação dos sites. Eu sou um nível (superior) iniciante.

Uma solução simples é anotar o jogo usando qualquer mecanismo de computador e número de faixa de?!,? e ?? marcas. No entanto, não é muito preciso e gostaria de ter mais ideias :)

Dennis Golomazov
fonte
Qualquer avaliação baseada em um único jogo terá uma margem de erro enorme. Seu "progresso" vai subindo e descendo constantemente e duvido que você consiga rastrear qualquer coisa além de "progresso" de muito longo prazo por esse método (que basicamente se reduz a uma média em relação aos jogos). As classificações de xadrez (ou classificações em praticamente qualquer outro esporte) evitam esse problema e não vejo nada de errado em usar a classificação on-line como indicador de sua força.
user1583209

Respostas:

16

As classificações do site em controles de tempo lento podem ser bastante confiáveis ​​para servidores onde jogadores fortes se reúnem (ICC, FICS, para citar alguns), pois as classificações refletem MUITO de perto sua verdadeira força de jogo se você já jogou jogos suficientes. Para sistemas de classificação muito padronizados, como USCF e FIDE / ELO, você notará que as diferentes classes de classificação tendem a apontar para os tipos de erros que esses jogadores ainda estão cometendo. O Improving Chess Thinker de NM Dan Heisman faz um excelente trabalho discutindo os tipos de erros que os jogadores cometem nas classes de classificação.

Você já experimentou muitos livros de autoteste por aí? O Exame de Classificação de Xadrez de Igor Khmelnitsky e o Teste, Avaliação e Melhoria do seu xadrez de Danny Kopec são excelentes livros que permitem acompanhar seu progresso, ver como você se comporta em relação às posições de teste graduadas.

Sua abordagem de comparar meus movimentos com um mecanismo é outra maneira de fazer isso, mas mais uma vez, o ?? /? os movimentos realmente indicam apenas erros táticos, não erros estratégicos ou posicionais ou mesmo comportamentais ou de gerenciamento de tempo que você pode estar cometendo.

É por isso que jogar jogos OTB / online com controle de tempo lento contra uma oposição igual a mais forte e fazer com que sejam revisados ​​e criticados por jogadores mais fortes é uma maneira eficiente de melhorar. Seus erros em todas as categorias (táticas, conhecimentos, processos de pensamento, gerenciamento de tempo etc.) são destacados e você pode simplesmente medir o progresso em termos dos erros que parou de cometer.

Embora seja uma variante divertida, você pode tentar com um mecanismo em casa: por que não estender seu método de avaliação de mecanismo para observar visualmente a qualidade / desempenho de um jogador por meio de gráficos de avaliação? Em outras palavras, pegue as pontuações de avaliação do mecanismo por jogada e plote-as (alguns softwares livres como o SCID fazem isso por você) sobre as jogadas.

Por exemplo: Dois iniciantes no ranking teriam um jogo parecido com:

insira a descrição da imagem aqui

Observe como são irregulares. Ambos os lados cometem muitos erros terríveis (declives dos espigões!) E também com que frequência eles não conseguem explorar os terríveis erros da outra pessoa.

Os picos são sempre divertidos de se olhar: insira a descrição da imagem aqui

Dois jogadores intermediários (USCF 1400-1600) podem ter jogos parecidos com: insira a descrição da imagem aqui

Parece irregular, mas observe como o eixo y (avaliação do motor) é bem menor ... indicando que esses jogadores são mais experientes e jogam xadrez de melhor qualidade do que os novatos.

Para uma comparação final, um jogo Grandmaster de 1911 ficaria assim:

insira a descrição da imagem aqui

Nenhum comentário é necessário aqui :) Esses caras realmente não cometem muitos erros, pois não?

Se você pudesse criar sua própria heurística para mapear as inclinações + escala de um gráfico de avaliação para a habilidade / desempenho do jogador , talvez este seja um caminho a seguir? :)

shivsky
fonte
2
Observe que eu gostaria de ressaltar que as pontuações da avaliação do mecanismo não são tão confiáveis ​​em algumas posições diferenciadas e que alguns sabores de falta de material consideram uma abertura do tipo Gambit muito diferente da que um humano faria. Quanto tempo você coloca seu motor em uma posição de meio movimento enquanto repassa o jogo também influencia um pouco as coisas. Esteja avisado! :)
shivsky
Qual programa você usa para gerar esses gráficos? Eu tenho scid + bacalhau, tenho essa opção?
Uri
6

Para uma classificação muito precisa da qualidade de um jogador, você pode usar a excelente ferramenta fornecida por www.chess-db.com. Permite fazer upload de seus jogos e, após alguns minutos, gera a qualidade de ambos os jogadores em porcentagem, em comparação com os melhores movimentos de um motor forte.

Esta é a página para carregar um arquivo PGN: http://chess-db.com/public/game_upload.jsp

E este é um exemplo dos resultados: http://chess-db.com/public/game.jsp?id=Pablo%20Bento.Shredder%20Android.107755008

user1657
fonte
2

O que você está perguntando não existe pelo meu conhecimento. No entanto, esta é a minha ideia:

Você precisará de amostras com os seguintes recursos, (1) posição do xadrez, (2) movimento realizado na posição, (3) classificação do jogador que fez o movimento.

Digamos que você tenha 1 bilhão de amostras. Você pode treinar um algoritmo de computador nessas amostras que podem prever para cada movimento em uma posição a qualidade do movimento em relação a uma classificação. Todas as classificações para todos os movimentos podem ser calculadas em média para obter a classificação aproximada do jogador e, com efeito, a qualidade do seu jogo.

Essa é uma idéia aproximada que pode ser melhorada.

Rafiek
fonte
Isso realmente não funciona. Na maioria dos jogos, você estará relativamente rapidamente em posições que não estão no banco de dados - sim, mesmo que você tenha acesso a um bilhão de bancos de dados de jogos. E você é punido se o seu oponente jogar fracamente - depois de 1.e4 e5 2.Qh5, não importa o que o preto jogue, ele terá uma classificação média baixa, porque essa abertura é jogada muito mais em níveis mais baixos do que nos níveis mais altos. (Heck, mesmo 1 ... e5 em si provavelmente tem uma classificação média bastante baixa.) O que acontece após as aberturas conhecidas é muito mais indicativo da força de um jogador do que por quanto tempo ele segue a teoria.
DM
Eu dei essa resposta 5 anos antes do AlphaZero. Agora todos podemos pedir ao AlphaZero para anotar nossos jogos e nos dizer como estamos indo. Provavelmente estamos quase no ponto em que podemos até perguntar POR QUE uma jogada é boa ou ruim. É isso que você realmente precisa melhorar. As classificações humanas atuais são superestimadas.
Rafiek 01/10/1918
2

CAPS do chess.com. Compare a pontuação do CAPS no chess.com (requer assinatura) e a tabela encontrada em um gráfico: https://www.chess.com/article/view/better-than-ratings-chess-com-s-new-caps sistema . Também de interesse: https://www.chess.com/article/view/who-was-the-best-world-chess-champion-in-history

Nota de cautela: as pontuações de caps para qualquer jogo em particular são voláteis; melhor fazer uma média das pontuações do CAPS em um lote de jogos. No momento, que eu saiba, o CAPS pode, por extensão, prever uma classificação Elo a partir de um conjunto de movimentos. Outra observação: as pontuações do CAPS existem no vácuo, independentemente dos controles de tempo. Eu jogo xadrez melhor em controles de tempo mais lento do que em um jogo de bala de 1 minuto. O CAPS verá essa diferença na força do jogo e, consequentemente, atribuirá uma classificação mais baixa aos jogos de bala. Isso não significa que não sou a mesma pessoa que jogou os jogos de controle de tempo mais lentos!

JWILD
fonte
0

Aqui estão algumas idéias sobre quais parâmetros medir. Número de erros por jogo. Quantas vezes você tem uma posição igual ou melhor após 10 movimentos, 15 movimentos, 20 movimentos. Quantas vezes você consegue usar os erros do seu oponente. Quantas vezes você desenha ou vence jogos finais objetivamente desenhados. Quantas vezes você consegue encontrar combinações forçadas de acasalamento. Quantas vezes você defende com sucesso os jogos finais perdidos objetivamente. Quantas vezes você perde no tempo.

Rauan Sagit
fonte