2010-06-20 19 views
0

我正在做一個在Java上開發的8難題的AI。我有一個類保持2維數組的字符串是8拼圖板。這個班還保留其他必要的信息。問題是什麼是我將用來保留每個對象的合適的樹。什麼是在java中用於解決8個難題的合適的樹類

+1

你會在這棵樹上存儲什麼? – 2010-06-20 13:32:41

回答

0

我看不出爲什麼要使用樹。

如果您在儘可能少的移動中解決8拼圖之後,您所追求的是實際找到從當前配置到圖中頂點爲配置的「已解決」配置的最短路徑,邊緣是移動。

最短路徑可以通過例如寬度優先搜索來解決。

我覺得這個代碼解釋了它相當好:http://www.dreamincode.net/code/snippet1914.htm

(隱含的)曲線可以被弱智描繪成一棵樹,但是什麼被描繪更像算法的控制流程。

0

你可能要考慮使用A *搜索這個。該算法的一個很好的解釋可以在here找到。