迭代加深星號(ID A *)是一個記憶有界搜索。我的問題是,當我們從ID A *中的開放狀態s
到達新狀態s'
時,爲什麼我們不測試s'
是否已處於「打開狀態」或「關閉狀態」?迭代加深爲什麼星星不需要測試重複狀態?
對於一些問題,例如:數獨,因爲狀態永遠不會達到兩次,因爲「問題狀態圖」是一棵樹。但是,對於其他問題,例如:8個難題,它可能會一次又一次地達到一個狀態。因此,它應該被測試一個國家是否已經「訪問」(無論是在開放或封閉的狀態)或不。
如果這樣的測試必須完成,那麼ID A *不再是存儲器限制,因爲必須存儲所有可能狀態的大型哈希表。
這個問題似乎是題外話題,因爲它涉及的算法不是特定於編程。 –
等一下。離題話題是什麼意思?有「算法」和「搜索」標籤。你怎麼能說算法不是編程的一部分? –
個人而言,我認爲這是主題討論(儘管可能更適合http://cstheory.stackexchange.com。)閱讀幫助主題[我可以在這裏詢問什麼主題?](http://stackoverflow.com/help/on-topic) –