Minimum Spanning Tree - PowerPoint PPT Presentation

About This Presentation
Title:

Minimum Spanning Tree

Description:

Minimum Spanning Tree Outline History of MST Background Knowledge: Soft Heap Algorithm at a ... – PowerPoint PPT presentation

Number of Views:125
Avg rating:3.0/5.0
Slides: 47
Provided by: 6649734
Category:

less

Transcript and Presenter's Notes

Title: Minimum Spanning Tree


1
Minimum Spanning Tree
  • ????????????
  • ???????????

2
Outline
  • History of MST
  • Background Knowledge Soft Heap
  • Algorithm at a Glance
  • The MST algorithm
  • Notations
  • Detail description
  • Correctness

3
History of MST(1/2)
  • 1926, Boruvka present the first model to solve
    MST.
  • Textbook algorithms run in O(mlogn), Kruskals
    Greedy Algorithm, Prims Algorithm
  • 1975, Yao, O(mloglogn)
  • 1984, Freeman and Tarjan, O(mß(m,n))
  • 1987, Gabow, O(m logß(m,n)), involved a new data
    structure Fibonacci Heap

4
ß(m,n)
  • ß(m,n) is a very slowly growing function defined
    as follows
  • ß(m,n) min i logi(n)lt m/n
  • The worst case is O(m logm) (m O(n))

5
History of MST(2/2)
  • 1997, Bernard Chazelle, O(ma(m, n)log a(m, n))
  • Problem Does there exists a linear deterministic
    algorithm which solves MST problem?
  • Hope for a given weighted connected graph G
    with m edges the algorithm finds a MST of G in at
    most Km steps?

6
a(m,n)
  • a(m,n) is the inverse of Ackermann's function
    (a very slowly growing function)
  • a(m,n) kgt1 A(k,?m/n?)gtlgn
  • Ackermanns function is defined by
  • A(1,m) 2m
  • A(n,1) A(n-1,2)
  • A(n,m) A(n-1,A(n,m-1))

7
TODAY
  • A Minimum Spanning Tree Algorithm with
    Inverse-Ackermann Type Complexity
  • -- Bernard Chazelle
  • -- Princeton University, and NEC Research
    Institute
  • -- Journal of the ACM, November 2000
  • -- involved a new data structure Soft Heap
  • -- Running time is O(ma(m,n))
  • An Optimal Minimum Spanning Tree Algorithm
  • -- Seth Pettie And Vijaya Ramachandran
  • -- The University of Texas at Austin, Austin,
    Texas
  • -- Journal of the ACM, January 2002
  • -- involved a new data structure Soft Heap
  • -- Runs in time O(T(m,n)), T(m,n) is beteween
    ?(m) O(ma(m,n))

8
Soft Heap
  • A variant of a binomial heap
  • -create(H) Create an empty soft heap
  • -insert(H,x) Add new item x to H
  • -meld(H,H) Union in H and H.
  • -delete(H,x) Remove item x from H.
  • -findmin(H) return the smallest key in H.
  • The amortized complexity of each operation is
    constant, except for insert, which takes O(log
    1/?)
  • ? is the error rate in soft Heap.

9
Binomial Heap
  • In Worst-case
  • Make-Heap ?(1) Insert O(lgn)
  • Meld O(lgn) Delete ?(lgn)
  • Findmin ?(lgn)

10
Key Point
  • The entropy of the data structure is reduced by
    Artificially raising the values of certain keys.
    (corrupted)
  • Move items across the data structure not
    individually, but in groups.(car pooling)
  • ? is the error rate in soft Heap.
  • Deletemin() -gt sift()

11
Algorithm at a Glance (1/4)
  • Input an undirected graph G.
  • Each edge e is assigned a cost c(e)
  • Edge costs are distinct
  • MST(G) is unique
  • There are m edges
  • There are n vertices

12
Algorithm at a Glance (2/4)
  • Contractibility (for a subgraph C of G)
  • C is contractible if C n MST(G) is connected.
  • Computing MST(C) is easier.
  • How can we discover C without computing MST(G)?

C
1
C
5
2
3
4
C is contractible
C is not contractible
13
Algorithm at a Glance (3/4)
  • Decompose ? Contract ? Glue

Step. 1
Step. 2
Step. 4
Step. 3
14
Algorithm at a Glance (4/4)
  • Iterating this process forms a hierarchy tree
  • Each v of G is a leaf of

The hierarchy tree
15
Finally, the MST algorithm.
  • To computer MST of G, call msf(G, t) with

We will explain this later.
msf(G, t)
16
Any question?
  • We are going into the details now.

17
And
  • Lets welcome ???

18
Tree
  • Computed in O(md3n)
  • Balance between height and nodeAckermanns
    function

Cz
z
nz
height dz
19
Ackermanns function
  • Choice nz as

20
  • By induction on t, we have
  • Expansion of CzS(t,dz)3
  • Compute tree in bt(md3n)O(md3n)d(m/n)1/3
  • The choice of t and d implies that
    tO(a(m,n))MST is O(ma(m,n))

21
Active path
z1
z2
z3
z4zk
22
Border edges
  • Exactly one vertex in

23
Corrupted edge
  • Border edges are stored in soft heaps
  • They may become corrupted due to soft heap
    operation.
  • If its corrupted

Cz
Cz
Soft heap
Cost
corrupted
24
Bad edge
  • Its called bad if

When Cz contracted into one vertex
Cz
Cz
corrupted
bad
Once bad always bad
25
Working cost
Cz
bad
Working costoriginal cost
Working costcurrent cost
26
Stack view
27
Detail description of each steps
  • Totally 5 steps.
  • Many details for Step 3.
  • Detail but not too detail (hopefully).

28
Step1, 2
  • Case t1 is special. Solve this in O(n2)
  • Because
  • What if G is not connected?
  • Apply msf to each connected component.
  • What if G is not simple?
  • Keep only the cheapest edge.
  • The aim of performing Boruvka is to reduce the
    number of edges (to n/2c).

29
Step3
  • Building the hierarchy
  • With t gt 1 specified, target size nz is
    specified.
  • We discuss for a general case that the active
    path is z1, z2, zk
  • Keep two invariants INV1 and INV2 (explain
    later)
  • Two possible actions Retraction and Extension.

30
INV1
For all iltk
chain link e
for any two pair (j1, j2)lti
31
Step3 INV2
  • Each border edge (u, v) where u Czj are stored
    into H(j) or H(i, j)
  • No edge appears in more than one heap
  • Membership in H(j) implies v is
  • incident to at least one edge in
  • some H(i, j)
  • Membership in H(i, j) implies
  • v is also incident to Czi but not
  • any Czl that (iltlltj)

32
Step3 INV2
  • A practice

A possible assignment of edges to heaps a
H(4,5),b H(4), c H(2,4), d H(2), e
H(1,2), f H(1,2), g H(0,1)
33
Step3 Retraction
  • If a last subgraph Czkhas attained its target
    size.
  • Contract Czkinto Czk-1 (as well as its links)
  • Czk-1 gains one vertex.
  • Destroy H(k) and H(k-1, k)
  • Discard bad edges.
  • For each cluster, insert the
  • minimum edge implied by INV2.
  • Meld H(i, k) into H(i, k-1)

34
Step3 Extension
  • Do findmin on all heaps and retrieve the border
    edge (u,v) with minimum cost.
  • (u,v) is the extension edge (chain-link also)
  • v is the first vertex in Czk1
  • Older border edges incident to v are not border
    edges now. Delete them from heap, update
    min-links and insert new border edges.

35
Step3 Extension
  • If any min-link (a, b) is less than (u, v)
  • We have to do a fusion
  • Explain by the figure.

fusion into a
36
Step3 Conclusion
  • Keep doing Extension until target size is reached
    or no vertices is left.
  • Perform Retraction when target size is reached.
  • Maintain INV1 and INV2 at the same time.

37
Step4
  • Recursing in Subgraphs of .
  • For every Cz, do msf(Cz -1, t-1)
  • The edge cost are resetted to original value.
  • The main goal is to modify the target size.
  • For every fusion edge (a, b), this fusion does
    not occur anymore in Cz.

38
Step5
  • The final recursion
  • The candidate edge set becomes F?B now.
  • Adding edges contracted in Step2 produces MST
    of G.

39
Correctness
  • Contractibility
  • Subgraph C of G is strong contractible if
  • each edge of p lt min(e, f )
  • Thats why we do fusion.
  • Lemma 3.1 If an edge e is not bad and lies
    outside F, e lies outside of MST(G).

40
MST(G) and T
Cz
z tree node Cz subgraph(vertex)
41
?
42
?
43
?
44
?
45
?
46
?
Write a Comment
User Comments (0)
About PowerShow.com