Introduction Result Unweighted case Weighted case
AKPW algorithm for spanning trees
Lynn Chua
18.434 Seminar in Theoretical Computer Science
Lynn Chua 1/9 Introduction Result Unweighted case Weighted case Background and motivation
G connected multigraph, edge multiset E, w : E → R. Two-person game: tree player chooses spanning tree T , edge player chooses edge e. cycle(T , e): weight of cycle formed when e is added to T . Payo of game is:
(0 if e lies in the tree T cost(T , e) = cycle(T , e)/w(e) otherwise
Lynn Chua 2/9 Theorem (Alon, Karp, Peleg, West, 1991) ∃ constant c such that, for n suciently large, every n-vertex p multigraph G, w satises Sopt (G, w) ≤ exp(c log n log log n).
Introduction Result Unweighted case Weighted case Main result
G multigraph, T spanning tree, edge e path(T , e): weight of path in T between endpoints of e
cost∗(T , e) = path(T , e)/w(e) 1 X ∗ Sopt (G, w) = min cost (T , e) T |E| e∈E
Lynn Chua 3/9 Introduction Result Unweighted case Weighted case Main result
G multigraph, T spanning tree, edge e path(T , e): weight of path in T between endpoints of e
cost∗(T , e) = path(T , e)/w(e) 1 X ∗ Sopt (G, w) = min cost (T , e) T |E| e∈E
Theorem (Alon, Karp, Peleg, West, 1991) ∃ constant c such that, for n suciently large, every n-vertex p multigraph G, w satises Sopt (G, w) ≤ exp(c log n log log n).
Lynn Chua 3/9 Introduction Result Unweighted case Weighted case Applications
Lynn Chua 4/9 Introduction Result Unweighted case Weighted case Denitions
Cluster: subset of vertices whose induced subgraph is connected. Partition of G = (V , E): collection of disjoint clusters whose union is V . Clustering algorithm of Awerbuch: Partition of G into clusters of radii y(n) = O(x(n) ln n) only 1/x(n) of edges connect endpoints in dierent clusters
Lynn Chua 5/9 Introduction Result Unweighted case Weighted case Unweighted case
Recursive algorithm:
Construct shortest-path spanning tree TC for every cluster C in partition. Create multigraph G˜ by collapsing each cluster into a single vertex. Recurse on G˜ to obtain tree T˜ .
Final tree consists of union of T˜ and the TC .
Lynn Chua 6/9 Introduction Result Unweighted case Weighted case Cost analysis
Let f (n, m) = maxG Sopt (G, T ), T is spanning tree constructed by AKPW algorithm. 1 f (n, m) ≤ 2y(n) + · f (n, m/x(n)) · 5y(n) x(n)
Choosing x(n) = exp(plog n log log n), we get f (n) ≤ exp(O(plog n log log n)).
Lynn Chua 7/9 Introduction Result Unweighted case Weighted case Weighted case
Break edges into classes Ei , i ≥ 1 i−1 i Ei contains edges with weight in [y , y ), for some parameter y(n)
Do clustering procedure iteratively, consider each Ei for the rst time in the ith iteration At iteration i, each cluster has radius ≤ y i+1
Lynn Chua 8/9 Result: S(G, w, T ) = exp(O(plog n log log n))
Introduction Result Unweighted case Weighted case Algorithm for constructing spanning tree T
Set j = 1, Gj = G. While ∪i Ei 6= ∅ do: 1 Partition vertex set of Gj into clusters. 2 Construct shortest-path spanning tree in each cluster of Gj . 3 Add each edge of the constructed trees to the output tree T .
4 Construct next multigraph Gj+1 by contracting each cluster into a single vertex. 5 Set j to j + 1.
Lynn Chua 9/9 Introduction Result Unweighted case Weighted case Algorithm for constructing spanning tree T
Set j = 1, Gj = G. While ∪i Ei 6= ∅ do: 1 Partition vertex set of Gj into clusters. 2 Construct shortest-path spanning tree in each cluster of Gj . 3 Add each edge of the constructed trees to the output tree T .
4 Construct next multigraph Gj+1 by contracting each cluster into a single vertex. 5 Set j to j + 1. Result: S(G, w, T ) = exp(O(plog n log log n))
Lynn Chua 9/9