いくつかのタイルが壁で、他のタイルが歩きやすいタイルベースのマップがあります。歩きやすいタイルは、経路計画で使用したいグラフを構成します。私の質問は、グラフ内のすべてのノードを訪問し、繰り返しの訪問を最小限に抑えるパスを見つけるための優れたアルゴリズムはありますか?
例えば:
地図の例 http://img220.imageshack.us/img220/3488/mapq.png
一番下の黄色のタイルが開始点である場合、繰り返しが最も少ないすべてのタイルにアクセスするための最適なパスは次のとおりです。
パスの例 http://img222.imageshack.us/img222/7773/mapd.png
このパスには 2 回の再訪があります。悪い道は、最初のジャンクションで左折し、すでに訪れた 3 つのタイルを引き返すことです。
終了ノードは気にしませんが、開始ノードは重要です。
ありがとう。
編集:
質問に写真を追加しましたが、表示時にそれらを見ることができません。どうぞ:
http://img220.imageshack.us/img220/3488/mapq.png
http://img222.imageshack.us/img222/7773/mapd.png
さらに、グラフでは最小繰り返し数 = 0 という状況は決してないため、これが必要です。つまり、マップ内のすべてのタイルを踏むには、プレイヤーは自分のパスを少なくとも 1 回横断する必要があります。