Wie spare ich Suchtiefe wenn ich mich bei der Positionsauswertung auf Quiet Positions beschränken will (in einem Schachcomputer)?
Hallo Community,
Ich versuchte die Tage die Stellungsbewertung auf ruhige Stellungen zu beschränken und stehe vor einem Problem:
Wenn eine Seite im Suchbaum eine Figur schlägt sollte die Suchtiefe um ein ply wachsen. Wenn die andere Seite dann auf dem selben Feld schlägt um ein weiteres ply. Natürlich ist mir dann aufgefallen, dass man die Stellungen nach einem Zug von Schwarz nicht mit einer Stellung von einem Zug nach weiß vergleichen kann, die Seite die zuletzt gezogen hat steht zwangsläufig im Durchschnitt besser da.
Das hat mich zu folgender beta-Lösung gebracht:
Wenn beim letzten regulären ply keine Figur geschlagen wird, endet die Suche mit einer Auswertung der Stellung für weiß. Wenn im letzten regulären ply eine Figur geschlagen wird, wächst die Suchtiefe um zwei ply und endet wieder mit einer Auswertung der Stellung nach einem Zug von weiß. Wenn eine Figur schlägt, der Gegner zurückschlägt und dann wieder auf dem selben Feld geschlagen wird, steigt die Tiefe um zwei weitere Ply.
Diese Methode verursacht nur eine Menge scheinbar unnötiger möglicher Zugberechnung, da ich nachdem der Spieler schlägt alle Möglichkeiten für den Gegner berechnen muss, nur um zu wissen ob er zurückschlägt. Und für alle Wege im Suchbaum, in denen er nicht zurückschlägt, scheint die Vorausberechnung sinnlos, da die Stellungsbewertung ein Ply weiter vorne im Suchbaum geschieht.
Gibt es einen Weg um entweder das vorausberechnete zusätzliche Ply zu verwenden um die Bewertung zu verbessern oder die Vorausberechnung doch irgendwie komplett wegzulassen?