我正在爲紙牌遊戲編寫人工智能,經過一些測試後,我發現在我的alpha測試版算法中使用MTD(f) - 一系列零窗口搜索 - 比單獨使用alpha-beta更快。如何使用轉置表與MTD(f)
的MTD(F)算法以及這裏http://people.csail.mit.edu/plaat/mtdf.html
我的問題是,在MTD(F)搜索每遍(每猜測),我不重用任何先前位置的描述我已經存儲了,即使寫在鏈接上表明我應該(實際上在迭代之間清除表格加速了算法)。
我的問題是,當我在換位表中存儲一個位置和一個值時,我還存儲了它的有效alpha和beta值。因此,用不同的猜測(因此alpha和beta)通過樹的第二遍不可能重用任何信息。這是預期的還是我缺少一些基本的東西?
例如,如果對於alpha = 3 beta = 4,我們應該得到7的結果(顯然是截斷值),我應該在表中存儲它作爲α= 3到β= 6有效嗎?或者beta = 7?
謝謝,這正是我一直在尋找的東西,並在我的理解中插入了一些漏洞。 – Daniel 2010-07-29 22:24:43
我認爲它也需要以某種方式證明它不會使alpha/beta的假設無效以使用來自更深搜索的tt值。至少如果你想要全力。 – 2014-03-05 10:37:37