An optimal minimum spanning tree algorithm
Claus Andersen Aarhus University December 19, 2008
Master's Thesis
An optimal minimum spanning tree algorithm Claus Andersen Aarhus - - PowerPoint PPT Presentation
Master's Thesis An optimal minimum spanning tree algorithm Claus Andersen Aarhus University December 19, 2008 Programme Introduction to MST Overview of MST algorithms The optimal MST algorithm Brief analysis Experimental
Claus Andersen Aarhus University December 19, 2008
Master's Thesis
Introduction to MST Overview of MST algorithms The optimal MST algorithm
Brief analysis
Experimental results
Soft heap versions
Conclusion
3
4
O(m·(log*(n)-log*(m/n)))
Order of ”optimal” time
5
– For each vertex: Add the lightest incident edge to MST – Contract graph along MST edges
– Very sparse graphs: O(m)
6
1 2 3 4
7
neighbouring vertices.
– Key is edge weight
8
1 3 2 4
9
– Input: t vertices, m' edges. Heap bound: k=22m/t – Repeatedly run DJP with heap bound k – Contract graph along MST edges
10
β min{ i : log(i)(n) ≤ m/n }
– n' ≤ n / log(3)(n) vertices and m' ≤ m edges (n≤m) – Nominal density: m/n' ≥ m·log(3)(n) / n ≥ log(3)(n) – β(m,n') ≤ 3 (passes)
11
– Internal node: Edgeweight comparison (true/false) – Leaf node: MST edge set
– Correct DT with minimum height – Unknown height,
but an upper bound exists
12
– Generate all possible DT's with height r2 – For each graph G:
– Time: O(22(r2+o(r))) – Very slow or very small r! – Time for r = log(3)(n): o(n)
13
ε ½
– Maximum n
ε corrupted elements
– Time, insert: O(log(1/ε)), other: O(1)
14
– Some edges corrupted (potentially deleted to late): M – ”DJPcontractible” sub graph induced by DJP tree: C – Edges in M with one endpoint in C: MC
⊆ MSF (C) MSF ( ∪ G \ C − MC) M ∪
C
the superset are not in MSF(G)
15
in G from a live vertex using a fresh soft heap
MSF(G) ⊆
16
17
ε 1/8
each partition
– nc ≤ n/4, mc ≤ m/2
18
– Optimal number of comparisons: – Class of graphs with n vertices and m edges:
19
20
– Decision tree complexity
21
– Represented as binary trees
– Delayed cleanup, if item list is empty
22
– Lists refilled immediately
when size drops below lower bound
– Recursive sifting of elements from child node – Clean deleteMin operation
23
– Insert: 10% 15% (All edges) – DeleteMin: < 1% (Very few edges)
Pros :-) Cons :-( Chazelle
Kaplan Zwick
24
– Many ”sub algorithms” – Large BigOh constant
25
m=n logn
m=n n
m=n m=n loglogn
26
n=10,000
n=2
21
m/ mmax
Density function:
27
– 2nd: Dense Case
– 2nd: Borůvka
– Optimal is fastest for worst case Borůvka graphs
(narrow interval of densities)
– Otherwise, Borůvka is fastest
28
Any questions?