on dynamic range reporting in one dimension
play

On Dynamic Range Reporting in One Dimension Christian Mortensen 1 - PowerPoint PPT Presentation

On Dynamic Range Reporting in One Dimension Christian Mortensen 1 Rasmus Pagh 1 cu 2 Mihai P atras 1 IT U. Copenhagen 2 MIT STOC May 22, 2005 Mortensen, Pagh, P atras cu On Dynamic Range Reporting in One Dimension Range Reporting


  1. On Dynamic Range Reporting in One Dimension Christian Mortensen 1 Rasmus Pagh 1 ¸cu 2 Mihai Pˇ atras 1 IT U. Copenhagen 2 MIT STOC – May 22, 2005 Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  2. Range Reporting in 1D Maintain a set S , | S | = n , under: INSERT ( x ) : S ← S ∪ { x } DELETE ( x ) : S ← S \ { x } REPORT ( a , b ) : return S ∩ [ a , b ] Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  3. Range Reporting in 1D Maintain a set S , | S | = n , under: INSERT ( x ) : S ← S ∪ { x } DELETE ( x ) : S ← S \ { x } REPORT ( a , b ) : return S ∩ [ a , b ] Model: Word RAM, w -bit words S ⊂ { 0 , . . . , 2 w − 1 } Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  4. Range Reporting in 1D Maintain a set S , | S | = n , under: INSERT ( x ) : S ← S ∪ { x } DELETE ( x ) : S ← S \ { x } REPORT ( a , b ) : return S ∩ [ a , b ] Alternative query FINDANY ( a , b ) : return any y ∈ S ∩ [ a , b ] , or EMPTY Updates maintain S in sorted order. Then, just scan left or right starting with y . Model: Word RAM, w -bit words S ⊂ { 0 , . . . , 2 w − 1 } Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  5. Search Problems Exact Search MEMBER ( x ) : is x ∈ S ? Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  6. Search Problems Predecessor Search PRED ( x ) : return max { y ∈ S | y ≤ x } Exact Search MEMBER ( x ) : is x ∈ S ? Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  7. Search Problems Predecessor Search PRED ( x ) : return max { y ∈ S | y ≤ x } ⇓ PRED ( b ) Range Reporting in 1D FINDANY ( a , b ) : return any y ∈ S ∩ [ a , b ] ⇓ FINDANY ( x , x ) Exact Search MEMBER ( x ) : is x ∈ S ? Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  8. Search Problems Range Reporting in 2 D EMPTY ([ a , b ] × [ c , d ]) : is S ∩ ([ a , b ] × [ c , d ]) = ∅ ? ⇓ “colored predecessor problem” Predecessor Search PRED ( x ) : return max { y ∈ S | y ≤ x } ⇓ PRED ( b ) Range Reporting in 1D FINDANY ( a , b ) : return any y ∈ S ∩ [ a , b ] ⇓ FINDANY ( x , x ) Exact Search MEMBER ( x ) : is x ∈ S ? Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  9. Hardness of Range Reporting Predecessor search: Ω( lg w lg lg w ) per query, even statically O ( lg w ) per query/update: van Emde Boas recursion. Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  10. Hardness of Range Reporting Predecessor search: Ω( lg w lg lg w ) per query, even statically O ( lg w ) per query/update: van Emde Boas recursion. Static range reporting MAGIC : O ( 1 ) query [MNSW – STOC’95] . . . and O ( n ) space [ABR – STOC’01] Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  11. Hardness of Range Reporting Predecessor search: Ω( lg w lg lg w ) per query, even statically O ( lg w ) per query/update: van Emde Boas recursion. Static range reporting MAGIC : O ( 1 ) query [MNSW – STOC’95] . . . and O ( n ) space [ABR – STOC’01] Dynamize these solutions ⇒ tradeoff: O ( w ε ) per update, O ( 1 ) per query � O ( lg w ) per update, O ( lg w ) per query Not so magical: converges to van Emde Boas. Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  12. Dynamic MAGIC We achieve: O ( lg w ) updates O ( lg lg w ) queries O ( n ) space Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  13. Dynamic MAGIC We achieve: O ( lg w ) updates need predecessor query if S is maintained sorted O ( lg lg w ) queries O ( n ) space Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  14. Dynamic MAGIC We achieve: O ( lg w ) updates need predecessor query if S is maintained sorted O ( lg lg w ) queries exponential improvement over van Emde Boas in terms of universe size u , this is O ( lg lg lg u ) O ( n ) space Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  15. Dynamic MAGIC We achieve: O ( lg w ) updates need predecessor query if S is maintained sorted O ( lg lg w ) queries exponential improvement over van Emde Boas in terms of universe size u , this is O ( lg lg lg u ) O ( n ) space MAGICAL ingredients: Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  16. Dynamic MAGIC We achieve: O ( lg w ) updates need predecessor query if S is maintained sorted O ( lg lg w ) queries exponential improvement over van Emde Boas in terms of universe size u , this is O ( lg lg lg u ) O ( n ) space MAGICAL ingredients: eye of a newt Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  17. Dynamic MAGIC We achieve: O ( lg w ) updates need predecessor query if S is maintained sorted O ( lg lg w ) queries exponential improvement over van Emde Boas in terms of universe size u , this is O ( lg lg lg u ) O ( n ) space MAGICAL ingredients: eye of a newt bat wing Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  18. Dynamic MAGIC We achieve: O ( lg w ) updates need predecessor query if S is maintained sorted O ( lg lg w ) queries exponential improvement over van Emde Boas in terms of universe size u , this is O ( lg lg lg u ) O ( n ) space MAGICAL ingredients: eye of a newt bat wing new, subtle recursion idea Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  19. Dynamic MAGIC We achieve: O ( lg w ) updates need predecessor query if S is maintained sorted O ( lg lg w ) queries exponential improvement over van Emde Boas in terms of universe size u , this is O ( lg lg lg u ) O ( n ) space MAGICAL ingredients: eye of a newt bat wing new, subtle recursion idea dynamic perfect hashing in sublinear space Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  20. Van Emde Boas Recursion y x Binary search for longest common prefix of x and PRED ( x ) . Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  21. Van Emde Boas Recursion y x y x Binary search for longest common prefix of x and PRED ( x ) . Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  22. Van Emde Boas Recursion y x y x y x Binary search for longest common prefix of x and PRED ( x ) . Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  23. Van Emde Boas Recursion y x y x y x Binary search for longest common prefix of x and PRED ( x ) . Interpret integers at different levels of detail. Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  24. Van Emde Boas Recursion y x y x y x Binary search for longest common prefix of x and PRED ( x ) . Interpret integers at different levels of detail. van Emde Boas examines levels of detail sequentially Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  25. Van Emde Boas Recursion y x y x y x Binary search for longest common prefix of x and PRED ( x ) . Interpret integers at different levels of detail. van Emde Boas examines levels of detail sequentially we do a binary search on the levels of detail Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  26. What are we searching for? Interpret S as paths in trie of height w ⇒ n − 1 branching nodes Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  27. What are we searching for? Interpret S as paths in trie of height w ⇒ n − 1 branching nodes 4 interesting values per branching node Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  28. What are we searching for? Interpret S as paths in trie of height w ⇒ n − 1 branching nodes 4 interesting values per branching node a b FINDANY ( a , b ) compute LCA ( a , b ) find lowest branching ancestor of the LCA check if any extreme point is in [ a , b ] Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  29. Lowest branching ancestor? Trouble: finding the lowest branching ancestor of arbitrary v is as hard as predecessor search Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  30. Lowest branching ancestor? Trouble: finding the lowest branching ancestor of arbitrary v is as hard as predecessor search But we don’t always need to find it Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  31. Lowest branching ancestor? Trouble: finding the lowest branching ancestor of arbitrary v is as hard as predecessor search But we don’t always need to find it Assume v is on an active path: if true, find ancestor faster if false, fail Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  32. Lowest branching ancestor? Trouble: finding the lowest branching ancestor of arbitrary v is as hard as predecessor search But we don’t always need to find it Assume v is on an active path: if true, find ancestor faster if false, fail Happens only when S ∩ [ a , b ] = ∅ ⇒ witness verification catches the error Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

  33. Binary search on levels of detail Binary search for level L such that: v v Level L − 1 : branching Level L : no branching Mortensen, Pagh, Pˇ atras ¸cu On Dynamic Range Reporting in One Dimension

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend