Computerschach ist in den letzten zwanzig Jahren explodiert. Eine Computer-Weltmeisterschaft wurde gegründet, und viele Schachcomputer-Designer profitierten von ihren Bemühungen. Einige der Programme verbergen ihren Quellcode, aber sehr viele sind Open Source-Programme, insbesondere Fruit, das als Basis für eine Familie von Schachengines diente.
Was sind einige Beispiele für Heuristiken oder Algorithmen, die von Schachcomputern verwendet werden und die am erfolgreichsten waren oder am beliebtesten sind?
engines
chess-algorithms
Andrew Latham
quelle
quelle
Antworten:
Die hauptsächlich verwendeten Algorithmen basieren auf der Suche im Zustandsraum. Das Problem ist, dass die möglichen Positionen, die ein Teil im nächsten Zug einnehmen kann, sehr groß sind. Aber es ist endlich. Es ist im Grunde ein Suchproblem. Es gibt eine gültige Position, die ein Teil einnehmen kann. Das heißt, es gibt einen bekannten Startzustand und einen bekannten Endzustand. Es gibt keine Wahrscheinlichkeit wie das Problem, eine Münze zu werfen.
Ein typischer Algorithmus ist das Verwenden von Brute Force und das Berechnen von Zügen für eine feste Anzahl von Zügen. MiniMax kann in solchen Fällen verwendet werden. Alpha-Beta-Bereinigung ist auch ein bekannter Algorithmus. Meist werden die Suchräume in einer baumbasierten Datenstruktur dargestellt.
Computerprogramme verwenden auch stark Datenbanken mit Zügen, Eröffnungen, Endspielpositionen usw.
quelle