Zobrist karmalama

Diğer adıyla: Zobrist anahtarlama

Bir satranç konumunun tüm durumunu tanımlamak için hızla güncellenebilen sayısal bir parmak izi oluşturan yöntem.

Açıklama

Zobrist karmalama, bir konumu oluşturabilecek özelliklere sözde rastgele sayılar atar. Genellikle her taş türü, renk ve kare birleşimi için bir sayı bulunur. Ayrıca hamle sırası, şah ile kalenin bu özel hamleyi hâlâ yapıp yapamayacağını kaydeden hakları ve özel piyon alışı için ilgili geçerken alma durumu da sayılarla temsil edilir. Sözde rastgele, değerlerin rastgele görünmesine rağmen yeniden üretilebilir biçimde oluşturulduğu anlamına gelir.

Konum anahtarı, etkin değerlerin XOR, yani dışlayıcı OR işlemiyle birleştirilmesiyle oluşturulur. Bu ikili işlem bir anahtar gibi çalışır: aynı değeri iki kez uygulamak etkisini geri alır. Bir taş hareket ettiğinde program, anahtarı baştan kurmadan eski karesindeki değeri çıkarıp yeni karesindeki değeri ekleyebilir. Taş almalar, terfiler ve hamle sırası değişiklikleri de aynı biçimde güncellenebilir.

Bu parmak izi, konumları analiz eden bir program olan bir konumun daha önce oluştuğunu hızla tanımasını sağlar. Farklı hamle dizileri aynı duruma ulaştığında saklanan analiz yeniden kullanılabilir, tekrarlar saptanabilir ve önceki sonuçları hızlı tutan önbellekler düzenlenebilir. Doğru karşılaştırma yalnızca taşların yerlerini değil, yasal olanakları değiştiren hamle sırasını ve özel hakları da içermelidir.

Bir Zobrist anahtarının benzersiz olması garanti değildir. İki farklı konum aynı sayıyı üretebilir; buna çakışma denir. Büyük anahtarlar bu olasılığı düşürür, ancak depolama ve doğrulama tasarımı yine de bunu hesaba katmalıdır. gibi testlerde artımlı bir anahtar, bir hamle yapılıp geri alındıktan sonra başlangıç değerine dönmüyorsa güncelleme hatalarını da ortaya çıkarabilir.

Sık karıştırılanlar

Aynı taşlar ve aynı konum

Görsel olarak aynı iki tahta, hamle sırası, rok hakları veya geçerli bir geçerken alma olanağı farklıysa ayrı durumları temsil edebilir.

Karmalama ve şifreleme

Buradaki amaç bilgiyi gizlemek veya gizli verileri korumak değil, konumları hızla tanımlamaktır.

Kaynaklar

  1. 1.Zobrist Hashing, Chess Programming Wiki

İlgili terimler

© 2026 MindZug