0

ノードのセットがあります。あるノードから接続されたノードへの移動コストは常に 1 ですが、すべてのノードが直接接続されているわけではありません。つまり、ノード A から C への移動にはノード B を通過する必要があり、その合計移動コストは 2 になります。

次に、順序付けられたペアのウェイポイントのセットがあります。各ウェイポイント ペアには、起点ノードと終点ノードが含まれており、順番に訪問する必要があります。

順序付きペア自体は、特定の順序で訪問する必要はなく、起点ノードの直後に宛先ノードを訪問する必要もありません。

ルート全体を最適化するために、ノードを 2 回訪問する場合があります。3 回アクセスする必要はありません。

最小限の移動コストを達成し、ウェイポイントに含まれるすべてのノードが確実に訪問されるようにノードを注文し、上記の順序付けられたペアの規則に従うにはどうすればよいですか?

私はこれで頭を壁にぶつけています。

4

2 に答える 2

0

完全な答えではなく、ただ大声で考えて、一種の貪欲なアプローチです:

  1. グラフの最短距離行列を計算し、
  2. 最短ルートが最長のウェイポイントのペアを見つけます。
  3. そのルートを最終結果に追加します。
  4. そのルートに表示されるウェイポイントのペアを、まだ処理されていないウェイポイントのセットから削除します。
  5. 残りのウェイポイントがなくなるまで、残りのウェイポイントについて2から繰り返します。

ルートに逆の順序で表示されるウェイポイントのペアに遭遇した場合は、ルートを逆にトラバースするための「効率的な」方法を考え出す必要があります。

別のアイデア:

グラフの最小全域木を見つけて、左から右、右から左にトラバースします。

于 2013-02-25T18:20:12.503 に答える
0

残念ながら、これは (メトリック) 巡回セールスマン問題から縮小されるため、NP 困難な問題です。

これは、一般的なケースでは、多項式時間では実行できないことを意味します。あなたが取ることができるいくつかのアプローチがあります

  • 超多項式の実行時間を受け入れる
  • 要件を緩和し、NP Complete ではなくなります
  • 近似アルゴリズムを使用する
  • グラフを効率的に解決できるセットに制限します (境界分岐幅グラフなど)。

または、アプローチを組み合わせて使用​​することもできます。たとえば、一般的なケースを迅速に解決する正確なアルゴリズムを使用し、病的なケースでは近似アルゴリズムにフォールバックします。

于 2013-02-25T17:03:56.847 に答える