Ich habe gerade das Anpassen einer Schach-Engine abgeschlossen, indem ich der frei verfügbaren tscp-Engine im Grunde ein Bitboard hinzugefügt habe. Jetzt teste ich es in Winboard und stelle fest, dass die beiden Maschinen oft dasselbe Spiel mehrmals in einem Match spielen. Ich möchte den Spielen etwas Abwechslung verleihen, indem ich sie zumindest zufällig gleiche Züge auswählen lasse. Ich verwende nur die Alpha-Beta-Suche mit einfacher Zugreihenfolge. Ich denke darüber nach, nur eine kleine Zufallszahl zu den Blattknoten hinzuzufügen, um Bindungen zu lösen, aber ich mag diese Lösung nicht wirklich, weil einige der kleineren Boni, die die Bewertungsfunktion verwendet, 3-5 Centipawns sind. Ich habe also nicht genug "Platz" für Zufallszahlen, um die Krawatten zu lösen.
Mein anderer Gedanke war, dass der Motor zufällig auswählt, welche Bewegung beibehalten werden soll, wenn eine Bewertung == alpha gefunden wird. Ich mag das nicht wirklich, weil ich vermute, dass es Bewegungen bevorzugt, die zuletzt bei der Suche bestellt wurden.
Die Frage ist, wie ich zufällig aus den Blattknoten mit gleicher Punktzahl auswählen kann. und auch gleichmäßig?