Hashing Zobrist

Juga dikenal sebagai: Kunci Zobrist

Metode yang membuat sidik numerik untuk keadaan lengkap suatu posisi catur dan dapat diperbarui dengan cepat.

Penjelasan

Hashing Zobrist memberikan angka acak semu kepada fitur-fitur yang dapat membentuk sebuah posisi. Biasanya terdapat satu angka untuk setiap kombinasi jenis buah, warna, dan petak, ditambah angka untuk pihak yang mendapat giliran, hak , yang mencatat apakah raja dan benteng masih boleh melakukan langkah khusus itu, serta keadaan en passant yang relevan untuk penangkapan pion khusus. Acak semu berarti nilainya tampak acak, tetapi dihasilkan secara dapat diulang.

Kunci posisi dibentuk dengan menggabungkan nilai-nilai aktif memakai XOR, singkatan dari OR eksklusif, yaitu operasi biner yang bekerja seperti sakelar: menerapkan nilai yang sama dua kali membalikkan efeknya. Ketika sebuah buah bergerak, program dapat menghapus nilai petak lamanya dan menambahkan nilai petak barunya tanpa membangun ulang kunci dari awal. Penangkapan, promosi, dan pergantian pihak dapat diperbarui dengan cara yang sama.

Sidik ini memungkinkan sebuah , yaitu program yang menganalisis posisi, mengenali dengan cepat bahwa suatu posisi pernah muncul. Mesin dapat memakai kembali analisis tersimpan ketika urutan langkah yang berbeda mencapai keadaan yang sama, mendeteksi pengulangan, dan mengatur cache, yaitu penyimpanan cepat untuk hasil sebelumnya. Perbandingan yang benar memerlukan lebih dari sekadar penempatan buah karena pihak yang mendapat giliran dan hak khusus dapat mengubah kemungkinan langkah legal.

Kunci Zobrist tidak dijamin unik. Dua posisi berbeda dapat menghasilkan angka yang sama, peristiwa yang disebut tumbukan. Kunci yang besar membuat hal ini kecil kemungkinannya, tetapi penyimpanan dan verifikasi tetap harus memperhitungkan kemungkinan tersebut. Dalam pengujian seperti , kunci inkremental juga dapat mengungkap kesalahan pembaruan ketika nilainya gagal kembali ke nilai awal setelah sebuah langkah dilakukan lalu dibatalkan.

Kebingungan umum

Buah yang sama dan posisi yang sama

Dua papan yang tampak identik dapat mewakili keadaan berbeda jika pihak yang mendapat giliran, hak rokade, atau kemungkinan en passant yang sah berbeda.

Hashing dan enkripsi

Tujuannya di sini adalah identifikasi posisi dengan cepat, bukan menyembunyikan informasi atau melindungi data rahasia.

Sumber

  1. 1.Zobrist Hashing, Chess Programming Wiki

Istilah terkait

© 2026 MindZug