証明:反対の仮定、つまりe がMST T 1に属するとします。すると、e を削除すると、 T 1はeの両端が異なる部分木にある 2 つの部分木に分割されます。C の残りの部分は部分木を再接続するため、 Cには両端が異なる部分木にあるエッジfが存在します。つまり、 fの重みはeの重みよりも小さいため、部分木はT 1の重みよりも小さい重みを持つ木T 2に再接続されます。
カットプロパティ
この図は、MST のカット特性を示しています。Tは、与えられたグラフの唯一の MST です。S = { A , B , D , E } の場合、 V – S = { C , F }となり、カット( S , V – S )を横切るエッジには3つの可能性があり、それらは元のグラフのエッジBC、EC、EFです。e はカットの最小重みエッジの 1 つであるため、S ∪ { e }は MST Tの一部となります。
最小全域木を見つける最初のアルゴリズムは、1926 年にチェコの科学者オタカール・ボルーヴカによって開発されました (ボルーヴカのアルゴリズムを参照)。その目的は、モラヴィアの効率的な電気カバレッジでした。このアルゴリズムは一連の段階で進行します。ボルーヴカのステップと呼ばれる各段階では、グラフGの各頂点に接続する最小重みのエッジで構成される森Fを特定し、次のステップへの入力としてグラフG 1 = G \ Fを形成します。ここで、 G \ F は、 Fのエッジを縮約することによってGから派生したグラフを表します(カット特性により、これらのエッジは MST に属します)。各ボルーヴカのステップは線形時間で完了します。各ステップで頂点の数が少なくとも半分に削減されるため、ボルーヴカのアルゴリズムはO ( m log n ) の時間で完了します。[ 4 ]
2つ目のアルゴリズムはプリムのアルゴリズムで、 1930年にヴォイチェフ・ヤルニクによって考案され、 1957年にプリム、1959年にダイクストラによって再発見されました。基本的には、最小全域木 ( T ) を一度に1つのエッジずつ拡張します。最初は、Tには任意の頂点が含まれています。各ステップで、Tには、 xがTに含まれ、yがまだTに含まれていない最小重みのエッジ( x , y )が追加されます。カット特性により、Tに追加されたすべてのエッジはMST に含まれます。実行時間は、使用するデータ構造に応じて、O ( m log n )またはO ( m + n log n )のいずれかになります。
一般的に使用されている3つ目のアルゴリズムはクラスカルのアルゴリズムで、これもO ( m log n )の時間を要する。
4番目のアルゴリズムは、あまり一般的ではありませんが、クルスカルのアルゴリズムの逆である逆削除アルゴリズムです。実行時間はO( m log n (log log n ) 3 )です。
既知の複雑度を持つ最速の非ランダム化比較ベースアルゴリズムは、ベルナール・シャゼルによるもので、近似優先度キューであるソフトヒープに基づいています。 [ 7 ] [ 8 ]その実行時間はO ( mα ( m , n ))で、αはアッカーマン関数の古典的な関数逆です。関数αは非常にゆっくりと増加するため、実際的な目的においては4以下の定数とみなすことができます。したがって、シャゼルのアルゴリズムはほぼ線形時間で実行されます。
特殊な場合における線形時間アルゴリズム
密なグラフ
グラフが密である場合(すなわち、m / n ≥ log log log n)、FredmanとTarjanによる決定論的アルゴリズムは、O( m )の時間で最小全域木(MST)を見つけます。[ 9 ]このアルゴリズムは複数のフェーズを実行します。各フェーズでは、 Primのアルゴリズムを何度も実行し、それぞれ限られたステップ数だけ実行します。各フェーズの実行時間はO( m + n )です。フェーズ前の頂点数がn'の場合、フェーズ後の頂点数は最大でn'になります。したがって、必要なフェーズは最大でlog* n回であり、密なグラフに対しては線形実行時間となる。[ 4 ]
アルゴリズムのすべてのステップの実行時間はO ( m )ですが、決定木を使用するステップだけは例外です。このステップの実行時間は不明ですが、最適であることが証明されています。つまり、最適な決定木よりも優れたアルゴリズムは存在しません。したがって、このアルゴリズムは、実行時間の複雑さは不明であるにもかかわらず、最適であることが証明できるという特異な性質を持っています。
↑ Fredman, ML; Tarjan, RE (1987). "Fibonacci heaps and their uses in improved network optimization algorithms" . Journal of the ACM . 34 (3): 596. doi : 10.1145/28869.28874 . S2CID 7904683 .
↑ Cheriton, David; Tarjan, Robert Endre (1976 年 12 月). "最小全域木の探索" . SIAM Journal on Computing . 5 (4): 724– 742. doi : 10.1137/0205051 . ISSN 0097-5397 .
↑ Chong, Ka Wong; Han, Yijie; Lam, Tak Wah (2001), "Concurrent threads and optimal parallel minimum spanning trees algorithm", Journal of the Association for Computing Machinery , 48 (2): 297– 323, doi : 10.1145/375827.375847 , MR 1868718 , S2CID 1778676。
↑ Steele, J. Michael (2002), "ランダムな辺長を持つグラフの最小全域木", Mathematics and computer science, II (Versailles, 2002) , Trends Math., Basel: Birkhäuser, pp. 223– 245, MR 1940139
↑ Hu, TC (1961), "最大容量経路問題", Operations Research , 9 (6): 898–900 , doi : 10.1287/opre.9.6.898 , JSTOR 167055。
↑McDonald, Ryan; Pereira, Fernando; Ribarov, Kiril; Hajič, Jan (2005). "Non-projective dependency parsing using spanning tree algorithms"(PDF). Proc. HLT/EMNLP.
↑Rozum, Jordan C.; Rocha, Luis M. (2021), "The ultrametric backbone is the union of all minimum spanning forests", Journal of Physics: Complexity, 5 (3): 035009, doi:10.1088/2632-072X/ad679e, PMID39131403.This article incorporates textfrom this source, which is available under the CC BY 4.0 license.
↑Spira, P. M.; Pan, A. (1975), "On finding and updating spanning trees and shortest paths"(PDF), SIAM Journal on Computing, 4 (3): 375–380, doi:10.1137/0204032, MR0378466.
↑Holm, Jacob; de Lichtenberg, Kristian; Thorup, Mikkel (2001), "Poly-logarithmic deterministic fully dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity", Journal of the Association for Computing Machinery, 48 (4): 723–760, doi:10.1145/502090.502095, MR2144928, S2CID7273552.
↑ Graham, RL ; Hell, Pavol (1985)、「最小全域木問題の歴史について」、Annals of the History of Computing、7 (1): 43– 57、Bibcode : 1985IAHC....7a..43G、doi : 10.1109/MAHC.1985.10011、MR 0783327、S2CID 10555375
↑ Supowit, Kenneth J.; Plaisted, David A.; Reingold, Edward M. (1980). Heuristics for weighted perfect matching . 12th Annual ACM Symposium on Theory of Computing (STOC '80). New York, NY, USA: ACM. pp. 398–419 . doi : 10.1145/800141.804689 .
↑ Sneath, PHA (1957年8月1日). 「分類学へのコンピュータの応用」 . Journal of General Microbiology . 17 (1): 201– 226. doi : 10.1099/00221287-17-1-201 . PMID 13475686 .
↑ Gower, JC; Ross, GJS (1969). "最小全域木と単連結クラスタ分析". Journal of the Royal Statistical Society . C (応用統計学). 18 (1): 54– 64. doi : 10.2307/2346439 . JSTOR 2346439 .
↑ Dalal, Yogen K.; Metcalfe, Robert M. (1 December 1978). "Reverse path forwarding of broadcast packets" . Communications of the ACM . 21 (12): 1040– 1048. doi : 10.1145/359657.359665 . S2CID 5638057 .
↑ Ma, B.; Hero, A.; Gorman, J.; Michel, O. (2000). Image registration with minimum spanning tree algorithm (PDF) . International Conference on Image Processing. Vol. 1. pp. 481– 484. doi : 10.1109/ICIP.2000.901000 . 2022年10月9日にオリジナルからアーカイブされた(PDF) 。