グラフ理論と理論計算機科学において、最長経路問題とは、与えられたグラフ内で長さが最大となる単純な経路を見つける問題である。経路が単純であるとは、重複する頂点を持たない場合である。経路の長さは、辺の数、または (重み付きグラフでは) 辺の重みの合計で測定される。負の重みの閉路がないグラフでは多項式時間で解ける最短経路問題とは対照的に、最長経路問題はNP 困難であり、少なくともある長さの経路が存在するかどうかを問う問題の決定バージョンはNP 完全である。つまり、P = NPでない限り、任意のグラフでは決定問題は多項式時間で解くことができない。近似するのが難しいことを示す、より困難な結果も知られている。しかし、有向非巡回グラフでは線形時間で解けるため、スケジューリング問題でクリティカルパスを見つける際に重要な用途がある。
NP困難性
重み付けなし最長経路問題の NP 困難性は、ハミルトン経路問題の簡約を使用して示すことができます。グラフG には、最長経路の長さがn − 1である場合にのみハミルトン経路があります( nはGの頂点の数) 。ハミルトン経路問題は NP 完全であるため、この簡約により、最長経路問題の決定バージョンも NP 完全であることがわかります。この決定問題では、入力はグラフGと数kです。望ましい出力は、 G にk以上の辺の経路が含まれている場合はyes、そうでない場合はnoです。[1]
最長経路問題が多項式時間で解けるのであれば、最長経路を見つけ、その長さを数 kと比較することで、この決定問題を解くことができます。したがって、最長経路問題は NP 困難です。「与えられたグラフに少なくともk 個の辺を持つ単純な経路が存在するか」という問題は NP 完全です。[2]
非負の辺重みを持つ重み付き完全グラフでは、最長経路には常にすべての頂点が含まれるため、重み付き最長経路問題は巡回セールスマン経路問題と同じである。[3]
非巡回グラフ
重み付きグラフG内の与えられた2つの頂点sとt間の最長経路は、Gのすべての重みをその否定に変更することによって得られるグラフ − G内の最短経路と同じものである。したがって、 − G内で最短経路が見つかる場合は、 G内で最長経路も見つかる可能性がある。[4]
ほとんどのグラフでは、この変換は − Gに負の長さのサイクルを作成するため有用ではありません。しかし、 G が有向非巡回グラフ(DAG)である場合、負のサイクルは作成されず、有向非巡回グラフでもある − Gの最短経路に線形時間アルゴリズムを適用することで、 G内の最長経路を線形時間で見つけることができます。[4] DAG の場合、ソース頂点から他のすべての頂点への最長経路は、 − Gに対して最短経路アルゴリズムを実行することで取得できます。
同様に、特定の DAG 内の各頂点vについて、 vで終わる最長パスの長さは次の手順で取得できます。
- 指定された DAG の位相順序を見つけます。
- DAG の各頂点vについて、位相順序で、その頂点に入力される隣接頂点を調べ、それらの隣接頂点に記録されている最大長に 1 を加算して、v で終わる最長パスの長さを計算します。v に入力される隣接頂点がない場合は、vで終わる最長パスの長さを 0 に設定します。いずれの場合も、アルゴリズムの後のステップでアクセスできるように、この数値を記録します。
これが完了すると、最大の記録値を持つ頂点vから開始し、最大の記録値を持つその隣の頂点まで繰り返し後退し、このようにして見つかった頂点のシーケンスを逆にすることで、DAG 全体で最も長いパスを取得できます。
これは、 − G上で最短経路アルゴリズムを実行することと同じです。
クリティカルパス
一連のアクティビティをスケジュールするためのクリティカルパス法では、頂点がプロジェクトのマイルストーンを表し、辺が 1 つのマイルストーンの後、別のマイルストーンの前に実行する必要があるアクティビティを表す有向非巡回グラフを構築します。各辺には、対応するアクティビティが完了するまでにかかる時間の見積もりによって重み付けされます。このようなグラフでは、最初のマイルストーンから最後のマイルストーンまでの最長パスがクリティカル パスであり、プロジェクトを完了するために必要な合計時間を表します。[4]
有向非巡回グラフの最長経路は、階層グラフの描画にも適用できます。有向非巡回グラフGの各頂点vを、 vで終わる最長経路の長さと同じ番号の層に割り当てると、 Gの層割り当ては可能な限り最小の層数になります。[5]
近似値
Björklund、Husfeldt、Khanna (2004) は、重み付けされていない無向グラフにおける最長経路問題は「近似困難性の理解が難しいことで有名である」と書いている。[6] この場合に知られている最良の多項式時間近似アルゴリズムは、非常に弱い近似比しか達成しない。[ 7]すべての、NPが準多項式決定論的時間内に含まれない限り、最長経路を の係数以内に近似することは不可能である。しかし、この近似不可能性の結果とこの問題の既知の近似アルゴリズムとの間には大きなギャップがある。[8]
重み付けされていないが有向グラフの場合、強い近似不可能性の結果が知られています。任意のに対して、P = NPでない限り、問題を の係数以内に近似することはできません。また、より強力な複雑性理論的仮定では、問題を の係数以内に近似することはできません。 [6]色分け技術は、対数長のパスが存在する場合にそれを検出するために使用できますが、これにより得られる近似率は のみです。[9]
パラメータ化された複雑さ
最長経路問題は、経路の長さでパラメータ化されている場合、固定パラメータで扱いやすくなります。たとえば、次の手順を実行するアルゴリズムによって、入力グラフのサイズに比例した時間 (ただし、経路の長さに比例した時間) で解決できます。
- グラフの深さ優先探索を実行します。 が結果として得られる深さ優先探索木の高さであるとします。
- 深さ優先探索ツリーのルートからリーフへのパスのシーケンスを、探索によって走査された順序で使用して、パス幅を持つグラフのパス分解を構築します。
- このパス分解に動的プログラミングを適用して、時間 内に最長パスを見つけます。ここで、 はグラフ内の頂点の数です。
出力パスの長さは少なくとも であるため、実行時間も によって制限されます。ここで は最長パスの長さです。[10]色分けを使用すると、パスの長さへの依存性を単指数関数に減らすことができます。[9] [11] [12] [13]同様の動的計画法の手法により、最長パス問題は、グラフの ツリー幅によってパラメータ化されている場合、固定パラメータで扱いやすいことも示されています。
クリーク幅が制限されたグラフの場合、最長経路は多項式時間動的計画法アルゴリズムによっても解くことができます。しかし、多項式の指数はグラフのクリーク幅に依存するため、このアルゴリズムは固定パラメータでは扱いにくいです。クリーク幅でパラメータ化された最長経路問題は、パラメータ化された複雑性クラスでは困難であり、固定パラメータで扱いやすいアルゴリズムが存在する可能性は低いことを示しています。[14]
グラフの特殊クラス
木の中で最長経路を見つけるための線形時間アルゴリズムは、1960年頃にエドガー・ダイクストラによって提案され、このアルゴリズムの正式な証明は2002年に発表されました。 [15]さらに、重み付き木、ブロックグラフ、サボテン、[16]二部 順列グラフ、[17] およびプトレマイオスグラフで は、 最長経路を多項式時間で計算できます。[18]
区間グラフのクラスについては、動的計画法のアプローチを使用する - 時間アルゴリズムが知られています。[19] この動的計画法のアプローチは、円弧グラフ[20] や共比較グラフ(つまり、比較グラフの補集合で、置換グラフも含む)のより大きなクラスに対する多項式時間アルゴリズムを得るために利用されてきました。 [21] どちらも同じ実行時間です。後者のアルゴリズムは、共比較グラフの辞書式深さ優先探索(LDFS)頂点順序付け[22]の特殊な特性に基づいています 。共比較グラフについては、より実行時間の長い代替多項式時間アルゴリズムも知られています。これは、入力共比較グラフの補集合によって定義される部分順序集合のハッセ図に基づいています。[23]
さらに、最長経路問題は、距離遺伝グラフなど、木幅またはクリーク幅が制限された任意のグラフクラス上で多項式時間で解くことができます。最後に、分割グラフ、円グラフ、平面グラフなど、ハミルトン経路問題が NP 困難であるすべてのグラフクラス上では、明らかに NP 困難です。
有向非巡回グラフの単純なモデルは、引用ネットワークを表現するためにデレク・J・デ・ソラ・プライスが開発したプライスモデルである。このモデルは単純なので、いくつかの特性について解析的な結果が得られる。例えば、ネットワークに追加されたn番目のノードからネットワークの最初のノードまでの最長パスの長さは、[24]のように比例する。
参照
- ガライ・ハッセ・ロイ・ヴィタバー定理、最長経路とグラフ彩色の双対関係
- 最も長い交差していない騎士の道
- スネーク・イン・ザ・ボックス、超立方体グラフにおける最長誘導経路
- プライスモデルは、最も長いパスの長さを解析的に見つけることができる単純な引用ネットワークモデルである。
参考文献
- ^ Schrijver, Alexander (2003)、組み合わせ最適化: 多面体と効率、第 1 巻、アルゴリズムと組み合わせ論、第 24 巻、Springer、p. 114、ISBN 9783540443896。
- ^ トーマス・H・コーメン;チャールズ・E・ライザーソン;ロナルド・L・リベスト; Stein、Clifford (2001)、アルゴリズム入門 (第 2 版)、MIT Press、p. 978、ISBN 9780262032933。
- ^ Lawler, Eugene L. (2001)、組み合わせ最適化: ネットワークとマトロイド、Courier Dover Publications、p. 64、ISBN 9780486414539。
- ^ abc セジウィック、ロバート、ウェイン、ケビン・ダニエル(2011)、アルゴリズム(第4版)、アディソン・ウェズリー・プロフェッショナル、pp. 661– 666、ISBN 9780321573513。
- ^ ディ・バッティスタ、ジュゼッペ;イーデス、ピーター;タマシア、ロベルト; トリス、イオアニス G. (1998)、「有向グラフの階層的描画」、グラフ描画:グラフの視覚化アルゴリズム、プレンティス・ホール、pp. 265– 302、ISBN 978-0-13-301615-4。
- ^ ab Björklund, Andreas; Husfeldt, Thore; Khanna, Sanjeev (2004)、「最長有向パスとサイクルの近似」、Proc. Int. Coll. Automata, Languages and Programming (ICALP 2004)、Lecture Notes in Computer Science、vol. 3142、ベルリン: Springer-Verlag、pp. 222– 233、MR 2160935。
- ^ Gabow, Harold N. ; Nie, Shuxin (2008)、「長いパス、サイクル、回路の検出」、International Symposium on Algorithms and Computation、Lecture Notes in Computer Science、vol. 5369、ベルリン: Springer、pp. 752– 763、doi :10.1007/978-3-540-92182-0_66、ISBN 978-3-540-92181-3、MR 2539968さらに弱い近似境界を持つ以前の研究については、Gabow, Harold N. (2007)、「超多対数長のパスとサイクルの検出」(PDF)、SIAM Journal on Computing、36 (6): 1648– 1671、doi :10.1137/S0097539704445366、MR 2299418を参照してください。およびBjörklund, Andreas; Husfeldt, Thore (2003)、「超対数長のパスを見つける」、SIAM Journal on Computing、32 (6): 1395– 1402、doi :10.1137/S0097539702416761、MR 2034242。
- ^ カーガー、デイビッド、モトワニ、ラジーブ、ラムクマール、GDS (1997)、「グラフ内の最長経路の近似について」、アルゴリズミカ、18 (1): 82– 98、doi :10.1007/BF02523689、MR 1432030、S2CID 3241830。
- ^ ab Alon, Noga ; Yuster, Raphael; Zwick, Uri (1995)、「カラーコーディング」、Journal of the ACM、42 (4): 844– 856、doi : 10.1145/210332.210337、MR 1411787、S2CID 208936467。
- ^ Bodlaender, Hans L. (1993)、「深さ優先探索による線形時間マイナーテストについて」、アルゴリズムジャーナル、14 (1): 1– 23、doi :10.1006/jagm.1993.1001、MR 1199244パスの長さへの依存性はわずかに改善されているが、グラフのサイズへの依存性は悪化している、以前の FPT アルゴリズムについては、Monien, B. (1985)、「How to find long paths efficient」、Analysis and design of algorithms for combinatorial issues (Udine, 1982)、North-Holland Math. Stud.、vol. 109、Amsterdam: North-Holland、pp. 239– 254、doi :10.1016/S0304-0208(08)73110-4、ISBN を参照してください。 9780444876997、MR 0808004。
- ^ Chen, Jianer; Lu, Songjian; Sze, Sing-Hoi; Zhang, Fenghui (2007)、「パス、マッチング、およびパッキング問題に対する改良アルゴリズム」、Proc. 18th ACM-SIAM Symposium on Discrete algorithms (SODA '07) (PDF)、pp. 298– 307。
- ^ Koutis, Ioannis (2008)、「パスとパッキング問題のためのより高速な代数アルゴリズム」、国際オートマトン、言語、プログラミングコロキウム(PDF)、コンピュータサイエンスの講義ノート、vol. 5125、ベルリン: Springer、pp. 575– 586、CiteSeerX 10.1.1.141.6899、doi :10.1007/978-3-540-70575-8_47、ISBN 978-3-540-70574-1、MR 2500302、2017-08-09に オリジナル(PDF)からアーカイブ、2013-08-09に取得。
- ^ ウィリアムズ、ライアン(2009)、「長さkのパスをO *(2 k ) 時間で見つける」、情報処理レター、109 (6): 315– 318、arXiv : 0807.3026、doi :10.1016/j.ipl.2008.11.004、MR 2493730、S2CID 10295448。
- ^ Fomin, Fedor V.; Golovach, Petr A.; Lokshtanov, Daniel; Saurabh, Saket (2009)、「Clique-width: on the price of generality」、Proc. 20th ACM-SIAM Symposium on Discrete Algorithms (SODA '09) (PDF)、pp. 825– 834、2012-10-18にオリジナル(PDF)からアーカイブ、 2012-12-01取得。
- ^ ブルターマン、RW;ファン・デル・ゾンメン、FW。ズワーン、G.バーホーフ、T. van Gasteren、AJM (2002)、「ツリー内の最長パスの計算について」、Information Processing Letters、81 (2): 93–96、doi :10.1016/S0020-0190(01)00198-3。
- ^ 上原 龍平、宇野 勇志 (2004)、「最長経路問題に対する効率的なアルゴリズム」、ルドルフ・フライシャー、ゲルハルト・トリッペン (編)、アルゴリズムと計算、第 15 回国際シンポジウム、ISAAC 2004、香港、中国、2004 年 12 月 20 ~ 22 日、議事録、コンピュータ サイエンスの講義ノート、第 3341 巻、Springer、pp. 871 ~ 883、doi :10.1007/978-3-540-30551-4_74、ISBN 978-3-540-24131-7。
- ^ 上原 龍平、ガブリエル ヴァリエンテ (2007)、「二部順列グラフの線形構造と最長経路問題」、情報処理レター、103 (2): 71– 77、CiteSeerX 10.1.1.101.96、doi :10.1016/j.ipl.2007.02.010 。
- ^ 高原 善弘; 寺本 幸夫; 上原 龍平 (2008)、「プトレマイオスグラフ上の最長経路問題」、電子情報通信学会論文誌、91-D (2): 170– 177、doi : 10.1093/ietisy/e91-d.2.170。
- ^ ヨアニドゥ、キリアキ;メルツィオス、ジョージ B. Nikolopoulos、Stavros D. (2011)、「最長経路問題には区間グラフ上の多項式解がある」、Algorithmica、61 (2): 320–341、CiteSeerX 10.1.1.224.4927、doi :10.1007/s00453-010-9411 -3、S2CID 7577817 。
- ^ Mertzios, George B.; Bezakova, Ivona (2014)、「多項式時間で円弧グラフ上の最長経路を計算して数える」、Discrete Applied Mathematics、164 (2): 383– 399、CiteSeerX 10.1.1.224.779、doi :10.1016/j.dam.2012.08.024 。
- ^ Mertzios, George B.; Corneil, Derek G. (2012)、「共比較グラフ上の最長経路問題に対する単純な多項式アルゴリズム」、SIAM Journal on Discrete Mathematics、26 (3): 940– 963、arXiv : 1004.4560、doi :10.1137/100793529、S2CID 4645245。
- ^ コルニール、デレク G.; クルーガー、リチャード (2008)、「グラフ検索の統一的見方」、SIAM 離散数学ジャーナル、22 (4): 1259– 1276、doi :10.1137/050623498。
- ^ ヨアニドゥ、キリアキ; Nikolopoulos、Stavros D. (2011)、「最長経路問題は相互比較グラフ上の多項式である」(PDF)、Algorithmica、65 : 177–205、CiteSeerX 10.1.1.415.9996、doi :10.1007/s00453-011-9583-5、S2CID 7271040 。
- ^ エヴァンス、TS; カルモン、L.; ヴァシリアウスカイテ、V. (2020)、「価格モデルにおける最長経路」、サイエンティフィック・レポート、10 (1): 10503、arXiv : 1903.03667、Bibcode :2020NatSR..1010503E、doi :10.1038/s41598-020-67421-8、PMC 7324613、PMID 32601403
外部リンク
- 「Find the Longest Path」ダン・バレットの歌
