Ich schreibe eine KI für ein Kartenspiel und nach einigen Tests habe ich entdeckt, dass MTD (f) auf meinem Alpha Beta-Algorithmus - eine Reihe von Null-Fenster-Suchen - ist schneller als nur Alpha-Beta allein zu verwenden.Wie man Transpositionstabellen mit MTD verwendet (f)
Die MTD (f) Algorithmus ist gut hier http://people.csail.mit.edu/plaat/mtdf.html
beschrieben Das Problem, das ich ist haben, dass für jeden Durchgang in der MTD (f) Suche (für jede Vermutung) wiederverwendet wird nicht einer der vorhergehenden Positionen Ich habe gespeichert, obwohl das Schreiben auf dem Link suggeriert, dass ich sollte (in der Tat die Tabelle zwischen Iterationen zu beschleunigen beschleunigt den Algorithmus).
Mein Problem ist, dass wenn ich eine Position und einen Wert in meiner Transpositionstabelle speichern ich auch die Alpha- und Beta-Werte, für die es gültig ist. Daher kann ein zweiter Durchlauf durch den Baum mit einer anderen Schätzung (und daher Alpha und Beta) möglicherweise keine Information wiederverwenden. Ist das zu erwarten oder fehlt mir hier etwas Grundlegendes?
Zum Beispiel, wenn für Alpha = 3 Beta = 4 wir zu einem Ergebnis von 7 kommen (offensichtlich ein Cut-off) sollte ich das in der Tabelle als gültig für Alpha = 3 bis Beta = 6 speichern? Oder Beta = 7?
Vielen Dank, das ist genau das, was ich gesucht habe und hat ein paar Löcher in meinem Verständnis verstopft. – Daniel
Ich denke, es ist auch notwendig, irgendwie zu beweisen, dass es die Alpha/Beta-Annahme nicht ungültig macht, um tt-Werte von einer tieferen Suche zu verwenden. Zumindest wenn du volle Power willst. –