Existem muitos sites online, onde os jogadores podem jogar xadrez em tempo real entre si. A maioria dos jogos tem entre 5 e 10 minutos. Com a disponibilidade do software de xadrez, pode-se tirar vantagem usando Fritz ou Rybka para sugerir uma mudança para ele.
Por exemplo, posso apenas inserir todos os movimentos do meu oponente e ver o que o software irá sugerir para mim.
Eu estava pensando em alguns recursos que podem sugerir que o jogador está trapaceando:
- número de vezes que ele muda de tela
- velocidade de jogo (em posições fáceis e muito difíceis)
- precisão do jogo
Alguém tem outras idéias?
PS: Não importa para mim, em qual perspectiva você está pensando (servidor ou cliente).
analysis
online-chess
Salvador Dalí
fonte
fonte
Respostas:
Esta é realmente uma questão muito complexa, e que não foi resolvida de maneira satisfatória, pelo que sei. Essencialmente, estamos solicitando um algoritmo para executar um tipo de teste de Turing reverso, para diferenciar jogadores humanos e computadores.
Primeiro, as verificações do lado do cliente sempre terão pontos fracos, a menos que você esteja no controle completo do ambiente do cliente. Vamos tomar a primeira idéia - verificar se há alternância entre janelas, parece bom. Infelizmente, é trivialmente contornado executando um mecanismo de xadrez em um computador separado ou integrando meu mecanismo ao cliente para que não ocorra "troca de janela" ou alterando o cliente para relatar 0 alterações na janela ou ... Não há maneira real de ter certeza de que é o seu código em execução no cliente, realmente.
O que nos resta são ambientes de clientes fisicamente controlados (o que não acontecerá em nenhum jogo online) ou verificação no servidor, ou seja, observando as jogadas reais que foram jogadas (e talvez o tempo entre as jogadas, como você diz) e tentando deduzir o aspecto humano ou do computador.
A verificação no servidor também pode ser dividida de duas maneiras. Você provavelmente poderia tentar uma abordagem "de cima para baixo", que seria algo parecido com "de jogos anteriores da história, apenas 2% dos humanos fizeram esse movimento, enquanto 50% dos computadores o fizeram". Essa seria realmente uma maneira muito boa de fazer isso, se tivéssemos dados suficientes para "qualquer posição". O espaço de busca do xadrez é tão grande, no entanto, que mesmo conjuntos de dados muito grandes não terão um número significativo de jogos correspondentes à sua posição, assim que você passar do início do meio do jogo.
Supondo que não tenhamos estatísticas confiáveis sobre o lado humano da equação, você ainda poderá apresentar a posição a vários mecanismos de xadrez (com várias configurações de tempo diferentes cada) e ver com que precisão os movimentos dos jogadores coincidem o de um computador. Por si só, isso também levaria a muitos falsos positivos, no entanto, repetidos positivos para o mesmo mecanismo de xadrez e configurações de tempo tornariam cada vez mais provável que o jogador estivesse trapaceando. Para melhorar ainda mais isso, eu provavelmente examinaria uma abordagem "de baixo para cima" de analisar posições de xadrez; em resumo, tentando descobrir por que humanos e computadores funcionam de maneira diferente. Por exemplo, os seres humanos tendem a reconhecer padrões comuns. Em um jogo com padrões "ímpares" ou situações improváveis, um ser humano teria menos probabilidade de jogar com muita precisão. Nenhum desses,
Para adicionar alguns detalhes específicos à sua lista, eu seguiria as linhas de como os professores detectam o plagarismo nos documentos - detectando uma mudança repentina. No xadrez, isso é extremamente difícil de definir, mas uma mudança repentina no estilo ou na força do jogo pode indicar trapaça. Especificamente, eu procuraria movimentos incomumente agressivos, que tendem a "dar certo" e não têm desvantagem para o jogador (muito preciso). Companheiros forçados em 4 ou mais movimentos de um jogador que normalmente coloca cavaleiros no limite do tabuleiro, etc. (é possível ... mas não é provável). Como exatamente isso funcionaria parece que poderia levar um livro inteiro (ou mais), no entanto.
EDIT: Houve recentemente um artigo sobre trapaça e detecção no xadrez de nível superior .
fonte
Em blitz, você pode dizer quanto tempo eles estão usando. As pessoas que usam motores usam uma quantidade consistente de tempo para cada movimento, em vez de passar pela abertura e desacelerar para um rastreamento no meio do jogo, como a maioria dos jogadores normais. Em particular, eles não podem jogar a abertura rapidamente, porque precisam atualizar a placa do computador após cada movimento de abertura. Se eles levam cinco segundos no movimento dois e cinco segundos no movimento vinte, provavelmente estão usando um mecanismo.
fonte
O número de trocas de tela e a velocidade de reprodução não têm sentido. Se você os usar para reclamar com os organizadores de um site de xadrez online, eles rirão de você.
Existem duas maneiras de saber se alguém está trapaceando. O primeiro é a "arma de fumar". Considere esta seção do jogo -
A questão é o que você jogaria nessa posição? A situação é que uma vitória nesta última rodada da competição ganhará o torneio à frente de uma série de grandes mestres. Nada mal para um mero 1900. Suspeito que a maioria de nós jogaria algo razoavelmente sólido que mantém a vitória. Movimentos como Rxb7 ou Rd7 ou (para covardes como eu ;-) Rxf6. Qa7 é uma parada para um movimento, uma arma de fumar. Fritz classifica como a melhor jogada na posição, uma gritante 0,1 à frente da próxima melhor jogada, Rd7.
Jogo de arma de fumo nº 2 no final do jogo, quando o preto se demitiu, deixando o jogador classificado em 1900 como vencedor absoluto do torneio. O que você diria a Kalinitschev nessa posição?
Foi assim que a conversa foi:
Allwermann: "É companheiro em 8"
Kalinitschev: "Acho que não"
Allwermann: "" Confira, você descobrirá que estou certo "
Allwermann estava certo, é claro. Você consegue encontrar o companheiro em 8 na posição final? Sem assistência de silicone?
Então, você tem sua arma de fumar e a leva para os organizadores. O que eles farão?
Bem, então vem a segunda maneira de detectar e provar, sem sombra de dúvida, que a trapaça está acontecendo.
Eles precisarão coletar pelo menos 20 jogos cada um com pelo menos 20 movimentos que não sejam do banco de dados e alimentá-los em um mecanismo para verificação. Basicamente, o que eles procuram é a porcentagem de vezes que o suspeito escolhe uma movimentação que não é do banco de dados que corresponde à primeira escolha do mecanismo, uma das 2 primeiras escolhas, uma das 3 primeiras escolhas. Os limites de "prova" são -
Top 1 65%
2 principais 80%
Top 3 90%
Um exemplo recente é o furor do desempenho de Borislav Ivanov .
Aqui estão as estatísticas dele -
Zadar 19: Houdini 1.5a x64 Hash: 256 Tempo: 30s Profundidade máxima: 20ply {Borislav Ivanov (Jogos: 9)}
{Top 1 Jogo: 210/314 (66,9%) Oponentes: 150/313 (47,9%)
{2 principais resultados: 270/314 (86,0%) Oponentes: 207/313 (66,1%)
{3 principais resultados: 285/314 (90,8%) Oponentes: 238/313 (76,0%)
{4 principais resultados: 293/314 (93,3%) Oponentes: 267/313 (85,3%)
Na 8ª rodada, o feed ao vivo caiu (suspeita-se que isso tenha permitido que sua ajuda externa fizesse as jogadas) e ele perdeu para o GM Predojevic. Se esse resultado for removido, as novas estatísticas serão:
Zadar 19: Houdini 1.5a x64 Hash: 256 Tempo: 30s Profundidade máxima: 20ply {Borislav Ivanov (Jogos:)}
{Top 1 Jogo: 197/287 (68,6%) Oponentes: 135/286 (47,2%)
{2 principais resultados: 252/287 (87,8%) Oponentes: 188/286 (65,7%)
{3 principais resultados: 265/287 (92,3%) Oponentes: 218/286 (76,2%)
{4 principais resultados: 272/287 (94,8%) Oponentes: 242/286 (84,6%)
Como você vê, ambos os conjuntos de estatísticas o levariam a um servidor de xadrez. Para comparação, aqui está a análise do jogo 8 quando o feed foi desativado:
{Branco: Borislav Ivanov}
{Top 1 Jogo: 13/27 (48,1%)
{2 principais correspondências: 18/27 (66,7%)
{3 principais correspondências: 20/27 (74,1%)
{4 principais jogos: 22/27 (81,5%)
{Preto: Borki Predojevic}
{1 partida principal: 15/27 (55,6%)
{2 principais correspondências: 19/27 (70,4%)
{3 principais correspondências: 20/27 (74,1%)
{4 principais correspondências: 25/27 (92,6%)
Observe que a FIDE criou uma comissão para investigar maneiras de detectar e combater trapaças em computadores. Suas diretrizes estão aqui . Observe esta seção:
fonte
Para dar minha resposta sobre como eu abordaria isso, usaria uma idéia simples:
A idéia é que existe um número limitado de mecanismos de xadrez disponíveis ao público, digamos assim
N
. Essa suposição, é claro, exclui a possibilidade de que o trapaceiro tenha escrito seu próprio mecanismo de xadrez (ou esteja usando algum mecanismo de xadrez publicamente indisponível), mas para capturar trapaceiros casuais, essa deve ser uma premissa suficientemente forte.A aplicação do Teste de Hipótese Nula seria muito simples: para cada mecanismo de xadrez
X
e para cada subsequência de movimentos do jogo atual calcule a probabilidadep
de observar a subsequência jogada assumindo a hipótese nula de que o jogador não está usando o mecanismo de xadrezX
para fazer os movimentos. para eles. Uma suposição ingênua pode ser feita de que o jogador se move aleatoriamente (ou escolhe aleatoriamente um número selecionado de movimentos principaisd_i
); então, a probabilidade de uma determinada subsequência dek
movimentos de correspondência de comprimento que um mecanismo de xadrezX
faria seria computada como(d_1)/(n_1) * (d_2)/(n_2) * (d_3)/(n_3) *...* (d_k)/(n_k)
onded_i
está o número de possíveis movimentos (superiores) para fazer noith
turno, conforme classificado pelo mecanismoX
en_i
é o número total de jogadas disponíveis para o jogador no turnoi
(ou algum subconjunto razoável).Então simplesmente calcule
Se
p*
for menor que um determinado limite, rotule o jogador como trapaceiro, pois existe umy
mecanismo de subsequência e xadrezX
que traz a probabilidade de que o jogador não trapaceie abaixo da probabilidade desejada.fonte
Acho que a análise pós-jogo oferece a melhor chance de identificar se um jogador estava trapaceando. Isso pode ser feito usando o que é chamado de análise T3 / T4.
Isso basicamente mede a frequência com que um jogador escolhe um dos 3 ou 4 melhores movimentos sugeridos por um mecanismo. Isso elimina amplamente a necessidade de identificar o mecanismo de destino em uso (pois eles geralmente concordam com os movimentos 4/5 superiores, mesmo que a ordem de preferência seja diferente).
Existem softwares disponíveis que executarão um conjunto de jogos do usuário contra os n movimentos principais do mecanismo. Editar:
Estou ciente do ChessAnalyse que pode ser usado para fazer essa análise. Você pode experimentar a versão de avaliação de 30 dias.
fonte
Se o seu site fornecer aos usuários um clique para obter posições FEN ou PGN enquanto o jogo estiver em execução , considere rastrear essas informações.
Alguns trapaceiros trapaceiam desde o início, mas outros preferem começar a trapacear apenas quando estão com problemas, e obviamente usarão o recurso FEN / PGN de cópia, pois é demorado configurar a posição manualmente.
De alguma forma, você deve guardar isso junto com o movimento no momento em que ele o copiou, dessa forma você pode comparar desse ponto aos movimentos seguintes e ver se a força dele aumentou muito com o auxílio de máquinas de xadrez.
Mas é muito importante que você o use apenas para ajudá-lo a decidir se ele estava trapaceando, seria injusto usar um script que não use intervenção humana; pode haver muitos falsos positivos, por exemplo, eu geralmente gosto de copiar posições enquanto jogo para analisá-los mais tarde, sem a necessidade de procurar meu jogo ou encontrar o movimento exato do PGN. E nem sempre o deixo na minha área de transferência por medo de sobrescrevê-lo, então o movo para o bloco de notas (o que significa que troco de janela logo após copiá-lo).
fonte
FWIW, ninguém mencionou o Dr. Ken Regan pelo nome, embora o ponteiro para o blog de Lipton descreva outro artigo no Chess Life que discute seu trabalho.
Esse artigo é muito informativo sobre o trabalho de Regan, o estado das técnicas de detecção que estavam em vigor em 2014 e o trabalho da FIDE na criação de um comitê para definir e promulgar padrões, ferramentas e técnicas para ajudar os TDs a combater fraudes.
fonte