八數碼問題

  • 八數碼問題: 將初始狀態(tài)向量經過24條規(guī)則,最終得到目標狀態(tài)<1,2,3,4,5,6,7,8,0>,每次移動代價等值,為1
  • 八數碼問題的搜索過程:
  1. 設置狀態(tài)為十一位向量,第一位是所在層,第二位是層中Id,后九位是目標當前狀態(tài),即<層數,位序,九位狀態(tài)>。
  2. 將起始節(jié)點放入OPEN表
  3. 若OPEN不為空,則繼續(xù)
  4. 將第一個節(jié)點n從OPEN表中移出,放入CLOSED中,并開始擴展節(jié)點n
  5. 根據擴展規(guī)則,一個節(jié)點可以擴展出四種狀態(tài)
  6. 根據節(jié)點類型(三種),選擇對后繼節(jié)點的操作。如果是正常節(jié)點(既不在OPEN中也不再CLOSED中)則放入OPEN中,并提供此后繼節(jié)點回到n的指針
  7. 若后繼節(jié)點中無目標狀態(tài),則繼續(xù)循環(huán),轉到操作2
  • 注意:每個新的節(jié)點必須與OPEN和CLOSED表比較,只保留從未產生過的節(jié)點。最終目標狀態(tài)會出現(xiàn)在OPEN表中,但解(過程)要在CLOSED表中尋找。
解的示意圖
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容