Null-Zug-Suche

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 2. August 2019 um 09:59 Uhr durch imported>Aka(568) (→‎Weblinks: Halbgeviertstrich).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Mit Null-Zug-Suche (nullmove pruning) bezeichnet man eine Forward-Pruningtechnik in Spielbaumsuchverfahren für Zwei-Personen-Nullsummenspielen mit perfekter Information.

Speziell in Schachprogrammen hat sich das Nullmove Pruning bewährt. Diese Technik wird benötigt, um die Ermittlung der Spielstärke möglicher Züge bzw. Spielverläufe zu beschleunigen, indem Züge, welche durch unten beschriebenes Verfahren als zu schwach ermittelt werden, von einer weiteren Berechnung ausgeschlossen werden.

Ausgehend von der Annahme, dass das Zugrecht einen Vorteil darstellt, wird beim Nullmove Pruning in der Baumsuche (Weiterverfolgung von Stellungsmöglichkeiten, die sich aus einem Zug ergeben) einer Seite ermöglicht, zwei Züge auszuführen. Ist der dadurch erzielte Vorteil nicht groß genug, so war wahrscheinlich schon der erste der beiden Züge minderwertig, und der daraus resultierende Ast des Spielbaums (sämtliche mögliche Spielverläufe, die sich aus der aktuellen Stellung ergeben können) braucht nicht weiter untersucht zu werden, er wird abgeschnitten. Hierdurch können minderwertige Varianten gut und schnell erkannt werden und die zur Verfügung stehende Zeit für die Analyse wichtigerer Varianten genutzt werden.

Um insgesamt den Suchaufwand zu reduzieren, muss die Baumsuche, mit der der Null-Zug bewertet wird, mit geringerer Suchtiefe durchgeführt werden, als die Suche zur Bewertung normaler Züge. Eine Reduktion der Suchtiefe um zwei Halbzüge hat sich als vorteilhaft herausgestellt. Manche Programme arbeiten auch mit einer Reduktion um drei Halbzüge, was ein stärkeres Pruning bewirkt, aber taktisch etwas anfälliger ist, da auch vielversprechende Züge mit aussortiert werden können.

Das normale Nullmove Pruning versagt in Zugzwangstellungen, da hier die Prämisse nicht erfüllt wird. Es kann ein taktisch nachteiliger Zug durch den Zugzwang erforderlich sein. Da Zugzwangstellungen beim Schach relativ selten vorkommen (am ehesten in bestimmten Endspielsituationen), ist die Fehlerhäufigkeit eher gering. Einige Schachprogrammierer schalten das Nullmove Pruning im Endspiel auch einfach ganz ab, da gerade am Ende nur noch wenige Zweige des Baumes übrig sind und diese eher Zugzwangsstellungen sein können.

Bei Spielen wie Dame (engl. checkers) gehören Zugzwangstellungen zum Normalfall, weshalb bei solchen Spielen diese Technik nicht angewandt wird.

Eine verbesserte Technik nennt sich Verified Nullmove Pruning[1] und umgeht die Probleme in Zugzwangstellungen.

Quellen

  1. Omid David Tabibi and Nathan S. Netanyahu (2002), Verified Null-Move Pruning

Weblinks