ローラーが円のアルゴリズムを変更したのはどういうもので、どのように機能するのですか?

I recently read about Yen’s algorithm, I understand the
algorithm and it seems correct, however Wikipedia mentions that there exists
“Lawler’s modification” to the algorithm, which is described as
basically caching all previous Dijkstra calls for the similar spur
graphs. I have some questions about it:

  1. 元の研究論文、アルゴリズム円のアルゴリズムを$ O(k cdot n ^
    3)$に高速化しますが、Wikipediaで記述されている円のアルゴリズムはすでに複雑です。
  2. 元の研究論文には実際には元のアルゴリズムに5つの変更が含まれていますが、Wikipediaではそのうちの1つについてのみ説明していますが、ここでは何が起こっていますか?
  3. Wikipediaで述べた変更がアルゴリズムの実行時間をどのように変更するのか、私によると、最悪の場合の時間の複雑さは同じか、最大でも一定の時間で改善されます。
  4. Wikipediaの説明の最後の行に「$ A ^ k $に対してこの操作を実行するには、$ A ^ {k-1} $が$ A ^
    {k-2から分岐したノードを識別するレコードが必要です} $ “、なぜですか? $ A ^ {k-2}
    $からキャッシュされたダイクストラ呼び出しを使用することはできませんか?なぜそれは悪いですか? $ B
    $(擬似コードから)はソートされており、拍子パス+ルートパスの長さが増えているので、問題は発生しませんか?たぶん私たちは何とかルートパス+拍車道をテストしていないかもしれませんが、それがどのようにして/どのように変更されたのか、そしてなぜそれが元のアルゴリズムにも影響を与えない理由はわかりません。

また、修正されたリファレンスを持つコメント付きで十分にテストされたアルゴリズムの実装を得るのもいいでしょう。

ベストアンサー

  1. 円のオリジナルペーパー 1971
    のrel = “nofollow noreferrer”> 1
    は、$ Oの上限値のみを設定します(=
    “https://i.stack.imgur.com/lepmO.png” Kn ^ 4)$オペレーション(表1参照)。

  2. ローラーのオリジナル論文 1972
    にあるrel = “nofollow noreferrer”> 2
    は、時間複雑度の上限を$ Oに改善します(Kn ^
    3)$。

  3. 円のアルゴリズムのウィキペディアの分析 O(Kn + log n))= O(Kn ^
    3)$上限は、Dijkstraのアルゴリズムのフィボナッチヒープの実装に基づいています( 1984 )。
    [3]しかし、Dijkstraのアルゴリズムの$ O(n ^ 2)$上限も問題ありません。問題は、私が知る限り、
    Wikipediaは同じ問題を検討していません。

すなわち、Yenの論文とLawlerの論文は、負の重みが許されるグラフを考慮する。ウィキペディアはそれ自体が非負の重みに制限されているようだ。だからそこにダイクストラを使うことができる。

たとえば、円の記事(セクション5)からのこの見積もりを参照してください。

enter image description here

ローラーの論文(セクション5)のためのこの1つ:

enter image description here


1 Finding the K Shortest Loopless
Paths in a Network,
Jin Y. Yen (1971). Management Science
197117:11 , 712-716

2 A Procedure for Computing the K
Best Solutions to Discrete Optimization Problems and Its
Application to the Shortest Path Problem
, Eugene L. Lawler
(1972). Management Science 197218:7 , 401-405

[3]
改良されたネットワーク最適化アルゴリズムにおけるフィボナッチヒープとその使用フレッドマン、マイケルローレンス;
Tarjan、Robert E.(1984)。第25回コンピュータサイエンス基盤シンポジウムIEEE。 pp。338-346。
doi:10.1109/SFCS.1984.715934。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です