1 / 59

The algorithm of Garsia and Wachs

The algorithm of Garsia and Wachs. Presentation by a more recent proof of Karpinski et al. . w i. The problem. We will identify the items with their weights w 1 , w 2 . . . . w n , w i ≥ 0

mason
Download Presentation

The algorithm of Garsia and Wachs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The algorithm of Garsia and Wachs Presentation by a more recent proof of Karpinski et al.

  2. wi The problem We will identify the items with their weights w1, w2 . . . . wn ,wi ≥ 0 We are after a binary tree with w1, w2 . . . . wn at the leaves from left to right such that depth(i) is minimized

  3. 1 2 3 Observation 1 If we new the di’s (depths) then we could build the tree easily in O(n) time 2 3 4 4 1

  4. Observation 1 (Cont) So we will focus on how to find the depths 1 2 3 2 3 4 4 1

  5. Definitions

  6. 13 9 14 5 7 8 6 13 8 6 9 14 12 12 14 14 12 5 7 21 13 12 13 15 23 The algorithm 13 8 5 7 6 9 14

  7. The algorithm (in words) Combine an LMP put the resulting node right before the first node to the right which is larger or equal Claim: The depths defined by the resulting tree are the depths of an optimal alphabetic tree. Ok, great, suppose we believe it, how do we implement this efficiently ?

  8. Implementation (Bob Tarjan) We will always combine the rightmost LMP. • Maintain the current list of weights broken into sublists and singletons. The following invariant should hold • In a list of length at least 3: aj ≤ aj+2 • In a list of length at least 2 the next to last element is smaller than the element following the list.

  9. Where can we have LMP • All pairs in a list except the leftmost are not LMPs. • If the list is of length at least 2 then the Rightmost element and the following on are not LMP.

  10. Implementation (Cont) We pick the last two lists A and B and check whether b1 and b2 are LMP. If not we simply catenate A and B and repeat. Otherwise, we delete b1 and b2 from B and combine them to create b’. We search for the first item in B’ which is no smaller than b’ We split B’ just before that item that item to B1 and B2 and add b’ to the end of B1

  11. Implementation (Cont) We represent sublists as search tree

  12. Implementation (Cont) 13 8 5 7 6 9 14 7 6 5 9 13 8 14 5 7 7 9 14 We can find the first item from the left that is greater than or equal to some value in logarithmic time

  13. 6 9 13 8 14 6 9 14 13 13 7 5 6 9 13 8 14 6 9 14 7 5 Implementation (Cont) 7 6 5 9 13 8 14 5 7 7 9 14

  14. Implementation Each combination of LMP triggers a constant number of search tree operations. (2 deletion, search, split, insertion) Number of sublists is O(n), since there are n items and n-1 combinations of LMPs. Therefore the number of catenations is O(n) Total running time is therefore O(nlogn)

  15. But why does this algorithm produce the optimal tree ??

  16. Notation

  17. Definitions (Cont)

  18. Theorem 1 (correctness of GW) By induction on the length of the sequence, correctness reduces to:

  19. lexi trees over π such that i, i+1, are at the same depth opt We will prove more lexi trees over π opt

  20. lexi trees over π such that i, i+1, are at the same depth opt lexi trees over π A opt

  21. lexi trees over π’ such that i, i+1, are siblings lexi trees over π such that i, i+1, are at the same depth opt lexi trees over π lexi trees over π’ such that i, i+1, are at the same depth opt opt

  22. lexi trees over π‘ such that i, i+1, are siblings lexi trees over π such that i, i+1, are at the same depth opt B lexi trees over π lexi trees over π‘ such that i, i+1, are at the same depth opt opt

  23. lexi trees over π‘ such that i, i+1, are siblings lexi trees over π such that i, i+1, are at the same depth opt C lexi trees over π lexi trees over π‘ such that i, i+1, are at the same depth opt opt

  24. lexi trees over π’ such that i, i+1, are siblings lexi trees over π such that i, i+1, are at the same depth opt C lexi trees over π lexi trees over π’ such that i, i+1, are at the same depth opt opt

  25. Theorem 1 (correctness of GW)

  26. lexi trees over π such that i, i+1, are at the same depth opt lexi trees over π A opt

  27. Proof of A There is an optimal lexi tree in which i, and i+1 are at the same level.

  28. lexi trees over π’ such that i, i+1, are siblings lexi trees over π such that i, i+1, are at the same depth opt B lexi trees over π lexi trees over π’ such that i, i+1, are at the same depth opt opt

  29. Proof of B Among optimal trees over π’ in which i, and i+1 are on the same level there is one in which they are siblings. So T’ is also optimal

  30. Definition of Well Shaped Segments • A set S of leaves of T is h-isolated iff: • For any uS, depthT(u) ≥ h • For any uS, wS, depthT(LCA(u,w)) ≤ h

  31. Definition of Well Shaped Segments S=[i,…j] is left well shapediff it is h-isolated and depthT(i) =depthT(i+1) = h+1 S=[i,…j] is right well shapediff it is h-isolated and depthT(j) =depthT(j+1) = h+1 Active Window

  32. Movability Lemma If the segment [i,…,j] is left well shaped, then the active pair (i,i+1) can be moved to the other side of the segment by locally rearranging sub-trees in the active window without changing the relative order of the other items and without changing the depth function of the tree. (similar lemma holds for segments which are right well shaped)

  33. Movability Lemma

  34. Movability Lemma

  35. Movability Lemma

  36. Movability Lemma

  37. Movability Lemma

  38. Movability Lemma

  39. Movability Lemma

  40. Movability Lemma

  41. Movability Lemma

  42. Movability Lemma

  43. Movability Lemma

  44. Movability Lemma

  45. The main theorem to establish C THM: (a) if T is optimal over π such that i, i+1 are at the same depth then the segment [i,….,j] is left well shaped in T (b) if T’ is optimal over π’ such that i, i+1 are at the same depth then the segment [i+2,….,j,i,i+1] is right well shaped in T Focus on (a)

  46. Proof First we have to show that every leaf u[i,…,j], depth(u) ≥ h where h = depth(i)-1= depth(i+1)-1

More Related