2011-12-28 33 views
5

我必須使IDA *的可視化(迭代深化阿星)算法,當它運行的是15益智問題。確切地說,我需要形象化益智IDA * 15拼圖,幫助需要

IDA算法類似於A *算法。 link 123

有3件事我需要實現:

1)IDA *代碼。

2)之後,IDA *與問題相關(15-益智)。

3)然後,我需要可視化算法的樹。

但我相信之前的某個人必須實施IDA *代碼,運行15-puzzle問題。我需要你的幫助才能找到這個源代碼,這樣我就不會花2個月的時間編寫別人寫過的代碼,這樣我就有時間專注於可視化。

15益智link 1link 2

我知道一些C,C++和C#。

我需要一個簡單的源代碼,我會理解的,在這個源代碼中你輸入一張表作爲一個謎題,並且它可以讓你回到表格中,並解決難題。其次,你建議我使用什麼編程語言從上述3中進行可視化?

我已經發現了一些實現:

IDA* in LISP

A* in C++,我需要IDA *

IDA* in java

IDA* in pheudocode link1link2link3

IDA* in C

IDA* with 15-puzzle

15-puzzle solved in an applet

A *和IDA *,解決了滑動拼圖(這一個用途是沒有定義的模板)

+3

如果這是你研究的核心部分,問這個問題是愚蠢的 - 你會很難分配信貸,你不會自己學習如何做到這一點。如果不是,請考慮參考其他人的工作,如果你沒有時間自己做這項工作 – 2012-01-01 10:35:53

+0

@george mano:看到這個鏈接(這是在Java中)然後 - http://www.brian-borowski.com /軟件/益智/。向下滾動到頁面中間。你會在那裏找到源代碼。 – Ashwin 2012-11-04 04:23:05

回答

0

IDA *大約需要十分鐘實現。你的啓發式功能是微不足道的,我想你至少可以實現曼哈頓距離(有更好的啓發式方法,但是這樣做)。

然後,您只需執行A *,然後添加截止限制標準。您鏈接到的維基百科文章甚至有一個Python實現,您可以簡單地翻譯。