Hashing de Zobrist

Também conhecido como: Chave de Zobrist

Método que cria uma impressão digital numérica, atualizável rapidamente, para identificar o estado completo de uma posição de xadrez.

Explicação

O hashing de Zobrist atribui números pseudoaleatórios aos elementos que podem formar uma posição. Normalmente há um número para cada combinação de tipo de peça, cor e casa, além de números para o lado a jogar, os direitos de , que registram se o rei e a torre ainda podem realizar esse movimento especial, e o estado relevante de en passant para a captura especial de peão. Pseudoaleatório significa que os valores parecem aleatórios, mas são gerados de forma reproduzível.

A chave da posição é formada pela combinação dos valores ativos com XOR, abreviação de exclusive OR, ou OU exclusivo, uma operação binária que funciona como um interruptor: aplicar duas vezes o mesmo valor desfaz seu efeito. Quando uma peça se move, o programa pode remover o valor da casa anterior e acrescentar o valor da nova casa sem reconstruir a chave do zero. Capturas, promoções e mudanças do lado a jogar podem ser atualizadas da mesma forma.

Essa impressão digital permite que um , um programa que analisa posições, reconheça rapidamente que uma posição já apareceu. Ele pode reutilizar análises armazenadas quando diferentes sequências de lances chegam ao mesmo estado, detectar repetições e organizar memórias cache, que são armazenamentos rápidos de resultados anteriores. Uma comparação correta exige mais do que a disposição das peças, pois o lado a jogar e os direitos especiais podem alterar as possibilidades legais.

Uma chave de Zobrist não tem garantia de ser única. Duas posições diferentes podem produzir o mesmo número, evento chamado de colisão. Chaves grandes tornam isso improvável, mas o armazenamento e a verificação ainda precisam considerar essa possibilidade. Em testes como , uma chave incremental também pode revelar erros de atualização quando não retorna ao valor original depois que um lance é feito e desfeito.

Confusões frequentes

Mesmas peças e mesma posição

Dois tabuleiros visualmente idênticos podem representar estados diferentes quando mudam o lado a jogar, os direitos de roque ou uma possibilidade válida de en passant.

Hashing e criptografia

O objetivo aqui é identificar posições rapidamente, não ocultar informações nem proteger dados secretos.

Fontes

  1. 1.Zobrist Hashing, Chess Programming Wiki

Termos relacionados

© 2026 MindZug