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 , edge multiset E, w : E → R. Two-person game: player chooses spanning tree T , edge player chooses edge e. (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