タイルベースのマップがあり、いくつかのタイルは壁で、その他は歩行可能です。歩行可能なタイルは、私が経路計画で使用したいグラフを構成します。私の質問は、繰り返しの訪問を最小限に抑え、グラフのすべてのノードを訪問するパスを見つけるための良いアルゴリズムですか?例えばグラフ内のすべてのノードを再訪しないでください。
:
map example http://img220.imageshack.us/img220/3488/mapq.png
下の黄色のタイルが出発点である場合には、少なくともリピートを有するすべてのタイルを訪問するための最良のパスは次のとおりです。
path example http://img222.imageshack.us/img222/7773/mapd.png
二つがあります。このパスで再訪問します。より悪い方法は、最初のジャンクションで左を取ってから、すでに訪れた3つのタイルにバックトラックすることです。
私は、エンド・ノードを気にしないが、開始ノードが重要です。
ありがとうございました。
編集:
私は私の質問に写真を追加しましたが、それを見たときにそれらを見ることができません。ここで彼らは、次のとおりである分繰り返し= 0は、マップ内のすべてのタイル上のステップに状況があることは決してありませんのために
http://img220.imageshack.us/img220/3488/mapq.png
http://img222.imageshack.us/img222/7773/mapd.png
また、グラフに私はこれを必要としますプレイヤーは少なくとも一度は自分のパスを越えなければなりません。
トラベリングセールスマン:http://xkcd.com/399/ – CookieOfFortune