chessrank.org
Blog

Por dentro do Opponent Prep: como construímos o fantasma do seu próximo adversário

Abra o Opponent Prep, digite um nome de utilizador e, poucos segundos depois, está a olhar através do tabuleiro para algo perturbador: um bot que abre como aquela pessoa, desliza para as mesmas estruturas instáveis de sempre e parece saber exatamente quando ela costuma cometer erros. Chamamos-lhe Ghost Bot e, por dentro, é uma verdadeira engenharia em camadas — vários sistemas independentes empilhados uns sobre os outros, cada um construído para responder a uma pergunta diferente sobre um estranho contra quem nunca jogou.

Quatro sistemas, um só Ghost Bot
Livro de posições exatas
cada posição que o jogador já alcançou de facto, e o que jogou lá
Livro de hábitos
reconhece os seus esquemas mesmo em posições onde nunca esteve antes
Impressão de estilo
uma leitura estatística de como escolhe os lances, medida contra jogadores da sua própria força
Rede de segurança
uma verificação ao vivo com o motor que impede o Ghost Bot de repetir um hábito até deixar uma peça pendurada

Primeiro, lê todo o seu histórico

No momento em que pesquisa um nome, recolhemos todas as partidas disponíveis desse jogador e passamo-las por uma única análise — percentagem de vitórias, quais aberturas realmente joga com cada cor, aproximadamente com que força joga em diferentes fases da partida e, crucialmente, exatamente onde perdeu mais pontos no passado. Nada de suposições. Tudo contado a partir dos seus próprios lances, ao longo de centenas de partidas jogadas.

O livro de posições exatas: os seus lances, indexados

A partir desse histórico, construímos uma tabela de consulta: para cada posição que o jogador já alcançou de facto, o que jogou e com que frequência? Quando o Ghost Bot segue os seus passos, não está a improvisar — está a extrair diretamente dessa tabela, ponderada pela frequência real com que escolheu cada opção. Leve-o a uma posição que já visitou cinquenta vezes, e a resposta do bot vem exatamente desses mesmos cinquenta pontos de dados. É menos uma simulação e mais uma repetição, narrada pelos números.

O truque que torna isto assustadoramente preciso: o livro de hábitos

Aqui está a parte que exigiu pensamento genuíno. Uma tabela de posições exatas só ajuda quando se está de volta a uma posição já vivida — e no momento em que joga algo ligeiramente fora do comum, essa tabela fica em branco. Os adversários reais não têm memória infinita, mas têm hábitos: o jogador que faz sempre fianchetto ao bispo, roca sempre até ao oitavo lance, constrói sempre o mesmo triângulo de peões independentemente do que faz do outro lado do tabuleiro.

Por isso, construímos um segundo índice que descarta deliberadamente metade da informação: memoriza uma posição apenas pelas peças do próprio jogador, desfocando o que quer que esteja a fazer. Essa memória mais desfocada é o que permite ao Ghost Bot reconhecer "isto parece o seu Sistema Londres" numa posição que, tecnicamente, nunca ocorreu nas suas partidas reais. É reconhecimento de padrões a fazer as vezes de um cérebro xadrezístico — e cada hábito recordado é silenciosamente reverificado quanto à segurança antes de ser jogado, para que um esquema familiar nunca leve uma peça a ficar pendurada no lance nove só porque a posição parece familiar.

Sobre ambos os livros assenta a camada mais estranha de todas: uma personalidade, reduzida a um conjunto de indicadores. Construímos uma impressão de estilo comparando as escolhas de lances reais do jogador com um grupo de controlo de adversários de força aproximadamente igual. Isto transforma "joga com cautela", "adora táticas afiadas" ou "fica impaciente em posições iguais" em pequenos empurrões numéricos que inclinam discretamente as decisões do Ghost Bot na mesma direção sempre que tem de improvisar para além de ambos os livros. O resultado não se limita a memorizar a abertura — inclina-se como ele se inclina.

Então porque é que isto aparece instantaneamente, enquanto o Report e o Blunder Puzzle o fazem esperar?

Eis a resposta honesta, ligeiramente menos empolgante: o Opponent Prep é rápido porque nada do que foi descrito pergunta seja o que for a um motor de xadrez. Construir o relatório completo — o repertório, os dois livros, a impressão de estilo, os pontos fracos — é contar, não calcular. É aritmética sobre um monte de partidas que já aconteceram. Um browser moderno processa isso em poucos segundos, independentemente de quantas centenas de partidas existam nesse monte.

O Game Analysis e o Blunder Puzzle respondem a um tipo de pergunta completamente diferente, sem qualquer atalho possível: este lance específico, nesta partida específica, foi realmente bom — e quão bom? Essa pergunta não existia há cinco minutos. Ninguém a fez antes, porque a posição no seu tabuleiro agora é única para a partida que acabou de jogar. Não há tabela onde a procurar. A única forma honesta de responder é entregar a posição a um motor de xadrez real e deixá-lo procurar, lance a lance, a partida inteira — e quando verifica se um sacrifício foi realmente correto, tem de colocar uma segunda pergunta sobre a primeira: o que acontece se ele o capturar? Isso não é uma consulta a uma tabela. É pensamento sequencial real, a acontecer ao vivo no seu dispositivo, posição a posição, e não há cache no mundo capaz de saltar isso numa partida que ninguém jogou antes.

Em termos simples: o Opponent Prep é rápido porque está a lembrar-se. O Report e o Blunder Puzzle demoram o seu tempo porque estão realmente a pensar.

Vá construir o seu próprio fantasma

Opponent PrepInvestigue qualquer pessoa e jogue contra um bot construído a partir do seu próprio histórico

Conheça os seus hábitos antes mesmo de o relógio começar a correr.