Uitleg
Een nulzet is een kunstmatige pas die alleen binnen de berekening van een schaakengine, een programma dat stellingen analyseert, wordt gebruikt. De kant die aan zet is, slaat een beurt over zonder een stuk te verplaatsen en laat de tegenstander handelen. Deze pas is niet legaal in een echte schaakpartij . Hij dient als snelle test van de stevigheid van de stelling.
De engine voert die test uit met een gereduceerde zoekactie, dus een zoekactie die minder ver vooruitkijkt dan normaal. Als de stelling zelfs nadat de tegenstander een gratis beurt heeft gekregen nog duidelijk boven de vereiste afkapgrens uitkomt, neemt het programma aan dat minstens één legale zet eveneens voldoende zal zijn. Het kan die tak dan stoppen zonder elke keuze afzonderlijk te controleren.
De pas die nooit op het bord verschijnt
Een bord zonder nulzet
De stelling is legaal, Wit staat niet schaak en er is voldoende materiaal naast pionnen aanwezig. De fictieve pas verplaatst geen enkel stuk. De mogelijke afkapping hoort bij een concrete implementatie en alfa-bètavenster, niet bij het diagram.
Deze snoeiing bespaart veel werk, maar berust op een aanname die niet altijd geldig is. In is zetten nadelig en zou mogen passen een voordeel zijn dat het echte schaak niet biedt. De nulzettest kan een stelling veilig noemen die in werkelijkheid verloren is omdat de speler verplicht moet zetten. Het risico is groter in bepaalde eindspelen met weinig materiaal.
De uitzondering door oppositie
Zetten verslechtert het resultaat
Wit moet zetten in een oppositiestelling met koning en pion. Een fictieve pas zou de stukken niet veranderen, maar Zwart aan zet brengen. In het bevroren bewijsmateriaal verbetert die verandering Wits WDL en bevestigt zij de zugzwang.
Engines bouwen daarom beveiligingen in. Zij gebruiken de test niet als de koning schaak staat en kunnen hem uitschakelen bij weinig materiaal, een minder agressieve reductie toepassen of eerst een verificatiezoeking uitvoeren voordat zij de afkapping aanvaarden. Nulzetsnoeiing werkt binnen raamwerken zoals en wordt gecombineerd met andere selectieve technieken, maar bepaalt niet zelfstandig welke zet het beste is.
Gebruik en context
Snoeien betekent dat een tak niet volledig wordt onderzocht zodra een test aangeeft dat die tak de hoofdbeslissing niet kan veranderen.
Veelvoorkomende verwarringen
Nulzet en een beurt verliezen
Een nulzet is een intern zoekhulpmiddel. Geen enkele speler verliest werkelijk een beurt en de handeling verschijnt nooit in de partij.
Snoeien en fouten
De methode is bewust selectief. Haar beveiligingen en verificatiezoekingen zijn bedoeld om de gevallen te beheersen waarin de aanname kan falen.
Bronnen
- 1.Null Move Pruning, Chess Programming Wiki
