0

基本的に、すべての頂点をカバーしてソースに戻るグラフ内の最短パスが必要です。最短経路である限り、任意の頂点の繰り返しは問題ありません。

私のアルゴリズムはソースから始まります。ダイクストラ アルゴリズムを実行して、最短パスを見つけます。次に、最小の重み付けされた未到達の頂点を選択し、選択した頂点をソースとしてダイクストラを再度実行し、すべての頂点が完了するまでそれを続けます。次に、最後の頂点から再び dijkstra を使用して、元のソースに戻る最短パスを見つけます。

試してみましたが、失敗したようで、理由がわかりません。

4

2 に答える 2

0

どの頂点も 1 回以上訪れることができるため、基本的にグラフ内で最短の閉じたウォークを探しています。あなたのアプローチの問題は、 dikstra が選択したノードから source に戻る最短パスのみを見つけることです。これにより、ソース頂点から複数のパスが出てくる星型のソリューションが生成されます。これは、散歩よりも長く なる可能性があります。

Vincent が述べたように、これは NP 問題ですが、ランダム ウォーク アルゴリズムを使用して実装を試すことができます。または、巡回セールスマンの歩行問題 (http://dspace.mit.edu/handle/1721.1/33668) を見てください。

于 2012-10-30T15:31:54.500 に答える