Skip to main content
QUICK REVIEW

[論文レビュー] Empirical Time Complexity of Generic Dijkstra Algorithm

Piotr Jurkiewicz, Edyta Biernacka|arXiv (Cornell University)|Jun 10, 2020
Advanced Optical Network Technologies参考文献 9被引用数 5
ひとこと要約

この論文は、エラスティック光ネットワーク(EON)における最適ルーティングのための汎用ダイクストラアルゴリズムを独立して実装・評価し、その高速性が確認された。平均してフィルタードグラフ法の2.3倍速く、ネットワークサイズに対してO(V²)、エッジユニット数に対してO(log S)の時間計算量であることが経験的に特定され、25%のネットワーク利用率で非単調な実行時間ピークを示した。

ABSTRACT

Generic Dijkstra is a novel algorithm for finding the optimal shortest path in both wavelength-division multiplexed networks (WDM) and elastic optical networks (EON), claimed to outperform known algorithms considerably. Because of its novelty, it has not been independently implemented and verified. Its time complexity also remains unknown. In this paper, we perform run-time analysis and show that Generic Dijkstra running time grows quadratically with the number of graph vertices and logarithmically with the number of edge units. We also discover that the running time of the Generic Dijkstra algorithm in the function of network utilization is not monotonic, as peak running time is at approximately 0.25 network utilization. Additionally, we provide an independent open source implementation of Generic Dijkstra in the Python language. We confirm the correctness of the algorithm and its superior performance. In comparison to the Filtered Graphs algorithm, Generic Dijkstra is approximately 2.3 times faster in networks with 25 to 500 nodes, and in 90% of calls its computation takes less time.

研究の動機と目的

  • オリジナルの記述に基づいて、汎用ダイクストラアルゴリズムを独立して実装し、正しさと性能を検証すること。
  • アルゴリズムの実行時間性能を評価し、既存のフィルタードグラフ法と直接比較すること。
  • ネットワークサイズ、エッジユニット数、ネットワーク利用率に関して、汎用ダイクストラの時間計算量を経験的に特定すること。
  • 再現可能性とさらなる研究のためのオープンソース実装を提供すること。
  • この新規アルゴリズムの計算量解析が、これまで未検証かつ未分析であったという点を解消すること。

提案手法

  • オリジナルのアルゴリズム記述に完全に従って、Pythonで汎用ダイクストラアルゴリズムを完全に新規実装し、仕様への忠実度を保証した。
  • ノード数(V)、エッジユニット数(S)、ネットワーク利用率レベルを変化させた合成EONトポロジを用いて、広範なシミュレーションを実施した。
  • 複数のネットワーク状態と構成において、汎用ダイクストラとフィルタードグラフ法の平均コール時間の測定と比較を実施した。
  • 実測データを数学的関数にフィットさせ、実行時間のV、S、およびネットワーク利用率依存性の増加の順序を特定した。
  • 累積分布関数(CDF)を用いて、90%のコールにおいて相対的な性能を比較し、実行時間分布に関する統計的洞察を得た。
  • コミュニティによる検証と再利用を目的として、完全な実装とテストスイートをオープンソースリポジトリに共有した。

実験結果

リサーチクエスチョン

  • RQ1汎用ダイクストラアルゴリズムの経験的時間計算量は、ネットワークサイズ(V)およびエッジユニット数(S)に関してどのように変化するか?
  • RQ2ネットワーク利用率に伴い、汎用ダイクストラの実行時間はどのように変化するか?その関係は単調か?
  • RQ3平均および1回あたりの実行時間に関して、汎用ダイクストラの性能はフィルタードグラフ法と比べてどの程度か?
  • RQ4オリジナルの記述のみに基づいて、汎用ダイクストラアルゴリズムを正しくかつ信頼性高く実装できるか?
  • RQ525〜500ノードの現実的なEONシナリオにおいて、汎用ダイクストラの実用的性能向上はどの程度か?

主な発見

  • 汎用ダイクストラは平均してフィルタードグラフ法の2.3倍速く、CPythonでは中央値の高速化が3.48倍、PyPyでは4.31倍に達した。
  • アルゴリズムの実行時間は頂点数の2乗に比例して増加する(t ∼ V²)ため、フィルタードグラフ法よりも高い漸近的成長率を示している。
  • エッジユニット数に伴い、実行時間は対数的に増加する(t ∼ log S)ため、スペクトルが豊富なネットワークにおいてもスケーラブルであると考えられる。
  • ネットワーク利用率に伴う実行時間は単調ではない。25%前後での利用率でピークを示しており、中間的なエッジ利用可能性パターンが原因と考えられる。
  • 90%のコールにおいて、汎用ダイクストラはフィルタードグラフ法を上回った。CPythonでは87.1%、PyPyでは91.9%のコールが高速であった。
  • より高い漸近的計算量であるにもかかわらず、定数要因が小さいため、500ノードでも依然としてフィルタードグラフ法より30〜50%速い性能を示した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。