我有問題要問你們。3水壺的啓發式功能
我是人工智能的新手。我想用A *搜索解決水罐問題(3罐 - 3升,5升,9升 - 試圖獲得7升)。
我需要一個啓發函數來實現解決方案,但我不能找到一個很好的啓發F(N),使得算法會發現至少步驟來解決。
我有問題要問你們。3水壺的啓發式功能
我是人工智能的新手。我想用A *搜索解決水罐問題(3罐 - 3升,5升,9升 - 試圖獲得7升)。
我需要一個啓發函數來實現解決方案,但我不能找到一個很好的啓發F(N),使得算法會發現至少步驟來解決。
所以給你的參數解決這個問題的非啓發式的方法是:
0) Fill the 9 liter jug
1) Pour the 9 liter jug into the 5 liter jug, this leaves 4 liters in the 9 liter
2) Fill the 3 liter jug
3) Pour the 3 liter jug into the 9 liter jug and the problem is solved
所以在看這個,你將擁有一個具有節點可以是兩種狀態的圖形:Pour
或Fill
。然後,您爲每個節點分配一個重量,該重量代表您將從中獲得的液體量,1,2,3,etc
。應該不涉及任何部門,您只需要使其使用特定的操作「昂貴」即可。
所以你說使用這樣的功能? (例如:(2,3,5 = 2 + 3 + 5 = 10)+ 操作量(例如:pour = 1,Fill = 1 ,空= 6) –
@Un_NatMenDim這將是類似的規定是,在傾,填充和空操作分配一個值或重量。什麼這些參數的最佳值是超出我的那一刻特別是與動態投入。 – Woot4Moo
好了,感謝您的回答朋友。 –
我在大學裏也參加了一個AI課程,到目前爲止你有什麼嘗試? – Woot4Moo
我試過一個函數定義爲h(n)=(目標狀態壺的總和(n) - 初始狀態總和(n))/ 2 ..我無法成功。 –
我打算將此作爲收盤精確複製:http://stackoverflow.com/questions/1806880/water-jug-problem-in-die-hard-3-into-a-graph – Woot4Moo