Perft

Ook bekend als: Prestatietest

Een test die elke legale zettenreeks tot een exact bepaalde zoekdiepte telt.

Deze versie wordt tijdelijk in het Engels weergegeven. De volledige lokalisatie wordt in een latere fase toegevoegd.

Uitleg

Perft doorloopt vanuit een stelling de boom van legale zetten en telt elke reeks die een exacte diepte bereikt. Diepte één betekent de huidige legale zetten tellen. Diepte twee omvat elk legaal antwoord van de tegenstander, en zo gaat het verder. Elke reeks wordt afzonderlijk geteld, ook wanneer twee verschillende reeksen dezelfde bordstelling bereiken. Het resultaat is voor die stelling en diepte reproduceerbaar.

Het voornaamste doel is de zetgenerator van een programma te controleren. Als het totaal afwijkt van een betrouwbare referentie, is er iets mis met een regel of met het bijwerken van de stelling. Een vorm die divide heet, geeft voor elke beginzet een afzonderlijk subtotaal en helpt zo de tak te vinden waar het verschil ontstaat.

Perft is bijzonder geschikt om subtiele fouten bloot te leggen rond schaak, en passant, een bijzondere pionnenslag, promoties en , de bijzondere gezamenlijke zet van koning en toren. De test kan ook onthullen dat een programma na het terugnemen van een zet de kant die aan zet is, de rokaderechten of het en-passantdoelveld onjuist herstelt.

Perft voert geen stellingsevaluatie, beste-zetselectie of snoeiing van takken uit. Een geslaagde test toont overeenstemming met beproefde aantallen legale zetten, maar niet dat een sterk speelt. Hoewel de naam van performance test komt, is correct tellen het hoofddoel. Snelheidsmeting is een aanvullende benchmark die van de implementatie afhangt.

Veelvoorkomende verwarringen

Perft en speelsterkte

Perft valideert regels en zetgeneratie. De test meet geen positioneel begrip, kwaliteit van de evaluatie of tactische kracht.

Perft en hashing

Een implementatie kan gebruiken om stellingen te herkennen, maar een correcte sleutel vervangt het tellen van legale zetten niet.

Term bekijken

Bronnen

  1. 1.Perft, Chess Programming Wiki

Verwante termen

© 2026 MindZug