Açıklama
Perft, bir konumdan başlayan yasal hamle ağacını dolaşır ve kesin bir derinliğe ulaşan her diziyi sayar. Birinci derinlik, o anda mevcut yasal hamleleri saymak demektir. İkinci derinlik her yasal yanıtı da içerir ve örüntü böyle sürer. İki farklı dizi aynı tahta durumuna ulaşsa bile her biri ayrı sayılır. Sonuç, o konum ve derinlik için yeniden üretilebilir bir sayıdır.
Başlıca amacı bir programın hamle üreticisini doğrulamaktır. Toplam güvenilir bir referanstan farklıysa bir kural veya konum güncellemesi yanlıştır. Divide denen biçim her başlangıç hamlesi için ayrı bir alt toplam bildirerek geliştiricinin farkın başladığı dalı bulmasına yardımcı olur.
Perft özellikle şah çekmeler, özel bir piyon alması olan geçerken alma, terfiler ve şah ile kalenin birlikte yaptığı özel hamle konusundaki ince hataları ortaya çıkarmakta iyidir. Ayrıca bir programın hamleyi geri alırken hamle sırasını, rok haklarını veya geçerken alma hedefini yanlış geri yüklediğini gösterebilir.
Perft konum değerlendirmesi, en iyi hamle seçimi veya dal budaması yapmaz. Testi geçmek, sınanmış yasal hamle sayılarıyla uyuşulduğunu gösterir; ancak bir güçlü satranç oynadığını göstermez. Adı performance test ifadesinden gelse de temel amaç doğru sayımdır; süre ölçümü uygulamaya bağlı ek bir kıyaslamadır.
Sık karıştırılanlar
Perft ve oyun gücü
Perft kuralları ve hamle üretimini doğrular. Konumsal anlayışı, değerlendirme kalitesini veya taktik gücü ölçmez.
Perft ve hashing
Bir uygulama konumları tanımak için kullanabilir, ancak doğru anahtar yasal sayımın yerini tutmaz.
Terimi görüntüleKaynaklar
- 1.Perft, Chess Programming Wiki
