Erklärung
Late Move Reductions, abgekürzt LMR, nutzen die Zugreihenfolge. Eine verwendet Heuristiken, also praktische Regeln und gesammelte Suchstatistiken, um scheinbar vielversprechende Möglichkeiten zuerst zu untersuchen.
Grundlegender Ablauf
- Die Engine untersucht die besser sortierten Züge zuerst und legt eine vorläufige Referenz fest.
- Ein ruhiger Zug, normalerweise ein Zug, der weder schlägt noch Schach gibt und weit hinten in der Liste steht, wird zunächst mit verringerter Tiefe geprüft.
- Liefert diese Prüfung ein unerwartet starkes Ergebnis und überschreitet die von der Suche verwendete Wertschranke, wird der Zweig erneut mit größerer Tiefe untersucht.
Reduktion bedeutet nicht Löschung. Die tiefere Überprüfung ist wichtig, weil ein tatsächlich starker Zug schlecht sortiert worden sein kann. Das Ausmaß der Reduktion kann von der verbleibenden Tiefe, dem Platz des Zuges in der Liste, davon, ob er Schach gibt oder schlägt, seiner Zugehörigkeit zur Hauptvariante, also der momentan als beste angesehenen Zugfolge, und der gespeicherten Historie ähnlicher Züge abhängen.
Moderne Implementierungen stimmen viele dieser Bedingungen fein ab. Eine übermäßig aggressive Reduktion spart Zeit, kann aber einen starken ruhigen Zug übersehen oder Fehler im Zusammenhang mit dem verschärfen.
Verwendung und Kontext
LMR ist eine selektive Suchtechnik. Sie verteilt den Suchaufwand ungleich, statt auf jeden Zweig genau dieselbe Tiefe anzuwenden.
Häufige Verwechslungen
Reduktion und Pruning
LMR untersucht einen Zweig mit geringerer Tiefe und kann ihn erneut durchsuchen. Pruning lässt einen Zweig vollständig aus, wenn eine Bedingung erfüllt ist.
Später Zug und späte Partiephase
Spät bezeichnet den Platz des Zuges in der Suchreihenfolge an einem Knoten und nicht einen Zug nahe am Ende der Partie.
Quellen
- 1.Late Move Reductions, Chess Programming Wiki
- 2.search.cpp, Stockfish
