2016-06-17 2 views
3

Ich entwickle einen Schachcomputer, habe aber ein Problem mit meiner Ruhesuche.Quieszenzsuche in einem Schachcomputer

Nehmen Sie diese Schach Position als Beispiel:

FEN: k7/2q5/2P5/3ppr2/4P3/8/8/K7

Wenn wir Tiefe eine der beste Zug exf5 würde suchen.

Der Computer sucht jedoch auch exd5 und dann zur Ruhesuche gehen. Es versucht Qxc6 und dann dxc6, die eine bessere Position als exf5 als erster Zug gibt. Der zweite Spieler würde natürlich nicht Qxc6 spielen, aber ich weiß nicht, wie man die Ruhesuche nur auf "gute Captures".

Kennt jemand hier, wie man das löst?

Antwort

1

Zwei bekannte Methoden sind MVV-LVA (Most Valuable Opfer - am wenigsten wertvollen Aggressor) und SEE (Static Exchange-Bewertung).


MVV-LVA ist eine einfache Heuristik zu erzeugen/Art zu erfassen bewegt sich in einer angemessenen Reihenfolge. Am Anfang (MVV) sucht der Algorithmus das potentielle Opfer aller angegriffenen Gegnerstücke in der Reihenfolge der wertvollsten zuerst.

Nachdem das wertvollste Opfer gefunden wurde, identifiziert die LVA in umgekehrter Reihenfolge (Pfand, Ritter, Bischof, Turm, Königin zu König) die potentiellen Angreifer, die das Opfer fangen könnten.

Es kann fehlschlagen, ist aber einfach zu implementieren und deckt viele einfache Fälle ab.


SEE die Folge einer Reihe von Börsen, an einem einzigen Platz nach einer bestimmten Bewegung untersucht und berechnet die voraussichtliche Auswertung Änderung (Material) verloren oder gewonnen werden.

Eine gute Implementierung ist ziemlich schwierig.


Für weitere Details zu sehen:

Verwandte Themen