How to Grow Your Lower Bounds Mihai P ă trașcu Tutorial, FOCS’10.

Slides:



Advertisements
Similar presentations
Estimating Distinct Elements, Optimally
Advertisements

Optimal Space Lower Bounds for All Frequency Moments David Woodruff MIT
Lower Bounds for Local Search by Quantum Arguments Scott Aaronson.
Lower Bounds for Local Search by Quantum Arguments Scott Aaronson (UC Berkeley) August 14, 2003.
Optimal Space Lower Bounds for all Frequency Moments David Woodruff Based on SODA 04 paper.
Lower Bounds for Additive Spanners, Emulators, and More David P. Woodruff MIT and Tsinghua University To appear in FOCS, 2006.
Cell-Probe Lower Bounds for Succinct Partial Sums Mihai P ă trașcuEmanuele Viola.
Planning for Fast Connectivity Updates Mihai Pă traşcu Mikkel Thorup …until June 2008 Jobs, anyone?
all-pairs shortest paths in undirected graphs
The Communication Complexity of Approximate Set Packing and Covering
Succinct Data Structures for Permutations, Functions and Suffix Arrays
MATH 224 – Discrete Mathematics
Nearest Neighbor Search in High Dimensions Seminar in Algorithms and Geometry Mica Arie-Nachimson and Daniel Glasner April 2009.
Dynamic Graph Algorithms - I
Complexity Theory Lecture 3 Lecturer: Moni Naor. Recap Last week: Non deterministic communication complexity Probabilistic communication complexity Their.
Tight Bounds for Dynamic Convex Hull Queries (Again) Erik DemaineMihai Pătraşcu.
Voronoi Diagrams in n· 2 O(√lglg n ) Time Timothy M. ChanMihai Pătraşcu STOC’07.
Lower Bounds for Data Structures Mihai P ă trașcu 2 nd Barriers Workshop, Aug. 29 ’10.
Multicut Lower Bounds via Network Coding Anna Blasiak Cornell University.
Lower Bound Techniques for Data Structures Mihai P ă trașcu … Committee: Erik Demaine (advisor) Piotr Indyk Mikkel Thorup.
1 Cell Probe Complexity - An Invitation Peter Bro Miltersen University of Aarhus.
(Data) STRUCTURES Mihai P ă trașcu. LSD dyn. marked ancestor reachability oracles in the butterfly partial match(1+ε)-ANN ℓ 1, ℓ 2 NN in ℓ 1, ℓ 2 3-ANN.
SODA Jan 11, 2004Partial Sums1 Tight Bounds for the Partial-Sums Problem Mihai PǎtraşcuErik Demaine (presenting) MIT CSAIL.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
Tirgul 8 Universal Hashing Remarks on Programming Exercise 1 Solution to question 2 in theoretical homework 2.
I/O-Algorithms Lars Arge Aarhus University March 5, 2008.
Derandomizing LOGSPACE Based on a paper by Russell Impagliazo, Noam Nissan and Avi Wigderson Presented by Amir Rosenfeld.
Tirgul 6 B-Trees – Another kind of balanced trees Problem set 1 - some solutions.
Network Formation Games. Netwok Formation Games NFGs model distinct ways in which selfish agents might create and evaluate networks We’ll see two models:
Sketching and Embedding are Equivalent for Norms Alexandr Andoni (Simons Inst. / Columbia) Robert Krauthgamer (Weizmann Inst.) Ilya Razenshteyn (MIT, now.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
1 Algorithms for Large Data Sets Ziv Bar-Yossef Lecture 13 June 22, 2005
Towards Polynomial Lower Bounds for Dynamic Problems STOC 2010 Mihai P ă trașcu.
Mike 66 Sept Succinct Data Structures: Techniques and Lower Bounds Ian Munro University of Waterloo Joint work with/ work of Arash Farzan, Alex Golynski,
Kernel Bounds for Structural Parameterizations of Pathwidth Bart M. P. Jansen Joint work with Hans L. Bodlaender & Stefan Kratsch July 6th 2012, SWAT 2012,
Tight Bounds for Graph Problems in Insertion Streams Xiaoming Sun and David P. Woodruff Chinese Academy of Sciences and IBM Research-Almaden.
Space Efficient Data Structures for Dynamic Orthogonal Range Counting Meng He and J. Ian Munro University of Waterloo.
Preference elicitation Communicational Burden by Nisan, Segal, Lahaie and Parkes October 27th, 2004 Jella Pfeiffer.
Endre Szemerédi & TCS Avi Wigderson IAS, Princeton.
Télécom 2A – Algo Complexity (1) Time Complexity and the divide and conquer strategy Or : how to measure algorithm run-time And : design efficient algorithms.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
Complexity 25-1 Complexity Andrei Bulatov Counting Problems.
Information Theory for Data Streams David P. Woodruff IBM Almaden.
One-way multi-party communication lower bound for pointer jumping with applications Emanuele Viola & Avi Wigderson Columbia University IAS work done while.
An optimal dynamic spanner for points residing in doubling metric spaces Lee-Ad Gottlieb NYU Weizmann Liam Roditty Weizmann.
Communication vs. Computation S Venkatesh Univ. Victoria Presentation by Piotr Indyk (MIT) Kobbi Nissim Microsoft SVC Prahladh Harsha MIT Joe Kilian NEC.
Asymmetric Communication Complexity And its implications on Cell Probe Complexity Slides by Elad Verbin Based on a paper of Peter Bro Miltersen, Noam Nisan,
06/12/2015Applied Algorithmics - week41 Non-periodicity and witnesses  Periodicity - continued If string w=w[0..n-1] has periodicity p if w[i]=w[i+p],
Orienteering and related problems: mini-survey and open problems Chandra Chekuri University of Illinois (UIUC)
Data Stream Algorithms Lower Bounds Graham Cormode
LIMITATIONS OF ALGORITHM POWER
Communication Complexity Guy Feigenblat Based on lecture by Dr. Ely Porat Some slides where adapted from various sources Complexity course Computer science.
Lower bounds on data stream computations Seminar in Communication Complexity By Michael Umansky Instructor: Ronitt Rubinfeld.
Private Information Retrieval Based on the talk by Yuval Ishai, Eyal Kushilevitz, Tal Malkin.
Optimal Planar Orthogonal Skyline Counting Queries Gerth Stølting Brodal and Kasper Green Larsen Aarhus University 14th Scandinavian Workshop on Algorithm.
The Message Passing Communication Model David Woodruff IBM Almaden.
Network Formation Games. NFGs model distinct ways in which selfish agents might create and evaluate networks We’ll see two models: Global Connection Game.
The Range Mode ProblemCell Probe Lower Bounds for the Range Mode ProblemThe Range k-frequency Problem Preprocess an array A of n elements into a space.
Network Formation Games. NFGs model distinct ways in which selfish agents might create and evaluate networks We’ll see two models: Global Connection Game.
Information Complexity Lower Bounds
New Characterizations in Turnstile Streams with Applications
Limits of Data Structures
Branching Programs Part 3
Effcient quantum protocols for XOR functions
Turnstile Streaming Algorithms Might as Well Be Linear Sketches
Lecture 16: Earth-Mover Distance
Near-Optimal (Euclidean) Metric Compression
New Jersey, October 9-11, 2016 Field of theoretical computer science
Presentation transcript:

How to Grow Your Lower Bounds Mihai P ă trașcu Tutorial, FOCS’10

A Personal Story MIT freshman, 2002 … half year and no solution later What problem could I work on? P vs. NP How far did you guys get, anyway?

“Partial Sums” problem: (Augmented) Binary search trees: t u = t q = O(lg n) Open problem: max { t u, t q } = Ω(lg n) Ω(lg n)not known for any dynamic problem Maintain an array A[n] under: update(k, Δ): A[k] = Δ query(k): return A[1] + … + A[k] What lower bounds can we prove?

What kind of “lower bound”? Memory: array of S words Word: w = Ω(lg S) bits Unit-time operations: random access to memory +, -, *, /, %,, ==, >, ^, &, |, ~ address Mem[address] Lower bounds you can trust. TM Internal state: O(w) bits Hardware: TC 0

What kind of “lower bound”? Memory: array of S words Word: w = Ω(lg S) bits Unit-time operations: random access to memory any function of two words (nonuniform) address Mem[address] Lower bounds you can trust. TM ell Probe Model

Theorem: max { t u, t q } = Ω(lg n) [P ă trașcu, Demaine SODA’04] I will give the full proof. Maintain an array A[n] under: update(k, Δ): A[k] = Δ query(k): return A[1]+…+A[k]

The hard instance: π = random permutation for t = 1 to n: query(π(t)) Δ t = random() mod 2 w update(π(t), Δ t ) k time Δ1Δ1 Δ2Δ2 Δ3Δ3 Δ4Δ4 Δ5Δ5 Δ6Δ6 Δ7Δ7 Δ8Δ8 Δ9Δ9 Δ 10 Δ 11 Δ 12 Δ 13 Δ 14 Δ 15 Δ 16 Maintain an array A[n] under: update(k, Δ): A[k] = Δ query(k): return A[1]+…+A[k] A[1] A[n]

time Δ1Δ1 Δ2Δ2 Δ3Δ3 Δ4Δ4 Δ5Δ5 Δ6Δ6 Δ7Δ7 Δ8Δ8 Δ9Δ9 Δ 10 Δ 11 Δ 13 Δ 14 Δ 15 Δ 16 Δ 12 t = 9,…,12 How can Mac help PC run ? Address and contents of cells W ∩ R W = written cells R = read cells

time How much information needs to be transferred? Δ7Δ7 Δ6Δ6 Δ8Δ8 Δ1Δ1 Δ1Δ1 Δ2Δ2 Δ3Δ3 Δ4Δ4 Δ5Δ5 Δ 13 Δ 14 Δ 16 Δ 17 Δ1+Δ5+Δ3Δ1+Δ5+Δ3 Δ1+Δ5+Δ3+Δ7+Δ2Δ1+Δ5+Δ3+Δ7+Δ2 Δ1+Δ5+Δ3+Δ7+Δ2 +Δ6 +Δ4Δ1+Δ5+Δ3+Δ7+Δ2 +Δ6 +Δ4 PC learns Δ 5, Δ 5 +Δ 7, Δ 5 +Δ 6 +Δ 7 ⇒ entropy ≥ 3 words

The general principle Message entropy ≥ w · # down arrows E[down arrows] = (2k-1) ∙ Pr[ ] ∙ Pr[ ] = (2k-1) ∙ ½ ∙ ½ = Ω(k) beige period mauve period * read during * written during # memory cells = Ω(k) k updates k queries

Putting it all together time Ω( n /2) Ω( n /4) Ω( n /8) total Ω( n lg n ) Every read instruction counted lowest_common_ancestor(, ) write timeread time

Q.E.D. The optimal solution for maintaining partial sums = binary search trees

[Fredman, Saks STOC’89] Ω(lg n / lglg n) The hard instance: π = random permutation for t = 1 to n: Δ t = random() mod 2 w update(π(t), Δ t ) query(random() mod n) What were people trying before? k time Δ1Δ1 Δ2Δ2 Δ3Δ3 Δ4Δ4 Δ5Δ5 Δ6Δ6 Δ7Δ7 Δ8Δ8 Δ9Δ9 Δ 10 Δ 11 Δ 12 Δ 13 Δ 14 Δ 15 A[1] A[n] query

Build epochs of (lg n) i updates W i = cells last written in epoch i Claim: E[#cells read by query from W i ] = Ω(1) ⇒ E[t q ] = Ω(lg n / lglg n) time Δ1Δ1 Δ2Δ2 Δ3Δ3 Δ4Δ4 Δ5Δ5 Δ6Δ6 Δ7Δ7 Δ8Δ8 Δ9Δ9 Δ 10 Δ 11 Δ 12 Δ 13 Δ 14 Δ 15 Epochs query

time Δ1Δ1 Δ2Δ2 Δ3Δ3 Δ4Δ4 Δ5Δ5 Δ6Δ6 Δ7Δ7 Δ8Δ8 Δ9Δ9 Δ 10 Δ 11 Δ 12 Δ 13 Δ 14 Δ 15 i Focus on some epoch i x = E[#cells read by query from W i ] Generate (lg n) i random queries Epochs

time Δ1Δ1 Δ2Δ2 Δ3Δ3 Δ4Δ4 Δ5Δ5 Δ6Δ6 Δ7Δ7 Δ8Δ8 Δ9Δ9 Δ 10 Δ 11 Δ 12 Δ 13 Δ 14 Δ 15 i

time Δ1Δ1 Δ2Δ2 Δ3Δ3 Δ4Δ4 Δ5Δ5 Δ6Δ6 Δ7Δ7 Δ8Δ8 Δ9Δ9 Δ 10 Δ 11 Δ 12 Δ 13 Δ 14 Δ 15 i Entropy = Ω(w · lg i n) bits Possible message: W 0 ∪ W 1 ∪ … ∪ W i-1 Σ j<i (lg n) j t u = O(lg i-1 n·t u ) cells cells read by queries from W i E[#cells] = x · lg i n ⇒ x = Ω(1) Q.E.D.

Dynamic Lower Bounds 1989[Fredman, Saks]partial sums, union-find 1991[Ben-Amram, Galil] 1993[Miltersen, Subramanian, Vitter, Tamassia] 1996[Husfeldt, Rauhe, Skyum] 1998[Fredman, Henzinger]dynamic connectivity [Husfeldt, Rauhe]nondeterminism [Alstrup, Husfeldt, Rauhe]marked ancestor 1999[Alstrup, Ben-Amram, Rauhe]union-find 2001[Alstrup, Husfeldt, Rauhe]dynamic 2D NN 2004[P ă trașcu, Demaine]partial sums Ω(lg n) [P ă trașcu, Demaine]dynamic connectivity 2005[P ă trașcu, Tarniț ă ] Ω(lg n) by epochs 2010[P ă trașcu]proposal for n Ω(1) [Verbin, Zhang]buffer trees 2011[Iacono, P ă trașcu]buffer trees [P ă trașcu, Thorup]dynamic connectivity, union-find

Marked Ancestor time query Maintain a perfect B-ary tree under: mark(v) / unmark(v) query(v): does v have a marked ancestor?

Marked Ancestor time query

Marked Ancestor time query P[marked] ≈ 1/ log B n version lg n version 2 … W i = cells written by all versions

Reductions from Marked Ancestor Dynamic 1D stabbing: Marked ancestor ↦ Dynamic 1D stabbing Dynamic 1D stabbing ↦ Dynamic 2D range reporting Maintain a set of segments S = { [a 1,b 1 ], [a 2,b 2 ], … } insert / delete query(x): is x ∈ [a i, b i ] for some [a i, b i ] ∈ S ?

Dynamic Lower Bounds 1989[Fredman, Saks]partial sums, union-find 1991[Ben-Amram, Galil] 1993[Miltersen, Subramanian, Vitter, Tamassia] 1996[Husfeldt, Rauhe, Skyum] 1998[Fredman, Henzinger]dynamic connectivity [Husfeldt, Rauhe]nondeterminism [Alstrup, Husfeldt, Rauhe]marked ancestor 1999[Alstrup, Ben-Amram, Rauhe]union-find 2001[Alstrup, Husfeldt, Rauhe]dynamic 2D NN 2004[P ă trașcu, Demaine]partial sums Ω(lg n) [P ă trașcu, Demaine]dynamic connectivity 2005[P ă trașcu, Tarniț ă ] Ω(lg n) by epochs 2010[P ă trașcu]proposal for n Ω(1) [Verbin, Zhang]buffer trees 2011?[Iacono, P ă trașcu]buffer trees [P ă trașcu, Thorup]dynamic connectivity, union-find

Dynamic Lower Bounds [P ă traşcu, Demaine’04] Partial sums: max { t u, t q } = B·lg n min { t u, t q } = log B n tqtq tutu n 1-o(1) nεnε lg n nεnε tutu max =Ω(lg n)

Dynamic Lower Bounds [P ă traşcu, Thorup’10] Dynamic connectivity: t u = B·lg n, t q = log B n t u = o(lg n) ⇒ t q ≥ n 1-o(1) tqtq tutu n 1-o(1) nεnε lg n nεnε tutu max =Ω(lg n) Maintain an acyclic undirected graph under: insert / delete edges connected(u,v): is there a path from u to v?

k updates k queries R ∩ W ≥ Entropy lower bound = Ω(k·w) bits W = cells written R = cells read

? ? ? ? t u =o(lg n), t q =n 1-ε k updates k/n 1-ε queries W = cells written R = cells read R ∩ W ≥ Entropy lower bound ≤ k/n 1-ε 

? ? ? ? public coins communication complexity Partial sums: Mac doesn’t care about PC’s updates ⇒ communication complexity ≈ k/n 1-ε Dynamic connectivity: nontrivial interaction between Mac’s and PC’s edges ⇒ communication complexity = Ω(k lg n) k updates k/n 1-ε queries W = cells written R = cells read

? ? ? ? communication complexity k updates k/n 1-ε queries ≥ Ω(k lg n) ??? ≥ W = cells written R = cells read

? ? ? ? communication complexity k updates k/n 1-ε queries ≥ Ω(k lg n) ≥ W = cells written R = cells read Trivial protocol: O(|R|·lg n) bits Note: |R|, |W| = o(k lg n)

? ? ? ? communication complexity k updates k/n 1-ε queries ≥ Ω(k lg n) W = cells written R = cells read Note: |R|, |W| = o(k lg n) nondeterministic or |R∩W|·lg n + |R| + |W| ≥ |R ∩ W| = Ω(k)

Dynamic Lower Bounds 1989[Fredman, Saks]partial sums, union-find 1991[Ben-Amram, Galil] 1993[Miltersen, Subramanian, Vitter, Tamassia] 1996[Husfeldt, Rauhe, Skyum] 1998[Fredman, Henzinger]dynamic connectivity [Husfeldt, Rauhe]nondeterminism [Alstrup, Husfeldt, Rauhe]marked ancestor 1999[Alstrup, Ben-Amram, Rauhe]union-find 2001[Alstrup, Husfeldt, Rauhe]dynamic 2D NN 2004[P ă trașcu, Demaine]partial sums Ω(lg n) [P ă trașcu, Demaine]dynamic connectivity 2005[P ă trașcu, Tarniț ă ] Ω(lg n) by epochs 2010[P ă trașcu]proposal for n Ω(1) [Verbin, Zhang]buffer trees 2011?[Iacono, P ă trașcu]buffer trees [P ă trașcu, Thorup]dynamic connectivity, union-find

The Multiphase Problem Dynamic reachability: S 1, …, S k ⊆ [m] time T ⊆ [m] S i ∩T? 1 m T Maintain a directed graph under: insert / delete edges connected(u,v): ∃ path from u to v? S1S1 SkSk Hard-looking instance: 1 k SiSi

The Multiphase Problem Conjecture: If m · t u ≪ k, then t q = Ω(m ε ) S 1, …, S k ⊆ [m] time T ⊆ [m] time O(k∙m∙t u )time O(m∙t u )time O(t q ) S i ∩T? S1S1 SkSk 1 m T Hard-looking instance:

The Multiphase Problem Conjecture: If m · t u ≪ k, then t q = Ω(m ε ) Follows from the 3SUM Conjecture: S 1, …, S k ⊆ [m] time T ⊆ [m] time O(k∙m∙t u )time O(m∙t u )time O(t q ) S i ∩T? 3SUM: Given S = { n numbers }, ∃ a,b,c ∈ S: a+b+c = 0? Conjecture: 3SUM requires Ω*(n 2 ) time

The Multiphase Problem Conjecture: If m · t u ≪ k, then t q = Ω(m ε ) Attack on unconditional proof: 3-party number-on-forehead communication S 1, …, S k ⊆ [m] time T ⊆ [m] time O(k∙m∙t u )time O(m∙t u )time O(t q ) S i ∩T? i S 1, …, S k T

Static Data Structures

Asymmetric Communication Complexity Input: n bits lg S bits w bits lg S bits w bits Input: O(w) bits Can’t look at total communication.

Indexing Theorem. Either Alice communicates a = Ω(lg m) bits, or Bob communicates b ≥ m 1-ε bits. i ∈ [m] v ∈ {0,1} m v[i] 01100… [m][m] {0,1} m

Indexing Theorem. Either Alice communicates a = Ω(lg m) bits, or Bob communicates b ≥ m 1-ε bits. m/2 a positions of v fixed to 1 ⇒ b ≥ m/2 a i ∈ [m] v ∈ {0,1} m v[i] 01100… [m][m] {0,1} m μ ≈2 -a μ ≈2 -b

B = { } Lopsided Set Disjointness Theorem. Either Alice communicates Ω(n lg m) bits, or Bob communicates ≥ n · m 1-ε bits Direct sum on Indexing: deterministic: trivial randomized: [P ă traşcu’08] n m A={ } A ∩ B = ∅ ?

A Data Structure Lower Bound Partial match: C : [m] → {0,1} 3lg m constant-weight code A={ n ’s} = { (1,x 1 ), …, (n,x n ) } ↦ query ( C(x 1 ) ∘ … ∘ C(x n ) ) B={ ½mn ’s} ↦ D = { ½mn strings } (i,x i ) ↦ 0 ∘ … ∘ 0 ∘ C(x i ) ∘ 0 ∘ … Preprocess a database D = strings in {0,1} d query( x ∈ {0,1,*} d ) : does x match anything in D? m n

A Data Structure Lower Bound LSD(n, m) ↦ Partial Match: d = Θ(n lg m) Alice sends Ω(n lg m) bits,CPU sends Ω(d) bits, or Bob sends ≥ n · m 1-ε bitsor Memory sends ≥ |D| 1-ε A={ n ’s} = { (1,x 1 ), …, (n,x n ) } ↦ query ( C(x 1 ) ∘ … ∘ C(x n ) ) B={ ½mn ’s} ↦ D = { ½mn strings } (i,x i ) ↦ 0 ∘ … ∘ 0 ∘ C(x i ) ∘ 0 ∘ … m n

A Data Structure Lower Bound LSD(n, m) ↦ Partial Match: d = Θ(n lg m) Alice sends Ω(n lg m) bits,CPU sends Ω(d) bits, or Bob sends ≥ n · m 1-ε bitsor Memory sends ≥ |D| 1-ε ⇒ t lg S = Ω(d) or t · w ≥ |D| 1-ε ⇒ S = 2 Ω(d/t) 1 n 1-o(1) O(d/lg n) upper bound ≈ either: exponential space near-linear query time S tqtq O(n) 2 O(d)

Space Lower Bounds for t q =O(1) 1995[Miltersen, Nisan, Safra, Wigderson] 1999[Borodin, Ostrovsky, Rabani]partial match 2000[Barkol, Rabani]randomized exact NN S = 2 Ω(d) 2003[Jayram,Khot,Kumar,Rabani]partial match 2004[Liu] deterministic O(1)-apx NN S = 2 Ω(d) 2006[Andoni, Indyk, P ă traşcu] randomized (1+ε)-apx NN S = n Ω(1/ε ² ) [P ă traşcu, Thorup] direct sum for near-linear space 2008[P ă traşcu]partial match S = 2 Ω(d) [Andoni, Croitoru, P ă traşcu] ℓ ∞ : apx=Ω(log ρ log d) if S = n ρ [Panigrahy, Talwar, Wieder] c-apx NN S ≥ n 1+Ω(1/c) 2009[Sommer, Verbin, Yu] c-apx distance oracles S ≥ n 1+Ω(1/c) 2010[Panigrahy, Talwar, Wieder]

Asymmetric Communication Complexity Input: n bits lg S bits w bits lg S bits w bits Input: O(w) bits No difference between S=O(n) and S=n O(1)

Separation S=n lg O(1) n vs. S=n O(1) 2006[P ă trașcu, Thorup]predecessor search [P ă trașcu, Thorup]exact near neighbor 2007[P ă trașcu]2D range counting 2008[P ă trașcu]2D stabbing, etc. [Panigrahy, Talwar, Wieder]c-apx. near neighbor 2009[Sommer, Verbin, Yu]c-apx. distance oracles 2010[Panigrahy, Talwar, Wieder]c-apx. near neighbor [Greve,Jørgensen,Larsen,Truelsen] range mode 2011[Jørgensen, Larsen]range median = Tight bounds for space n lg O(1) n

2D Stabbing Static 2D Stabbing: Goal: If S=n lg O(1) n, the query time must be t = Ω(lg n / lglg n) Remember: Dynamic 1D Stabbing We showed: If t u =lg O(1) n, then t q =Ω(lg n / lglg n) Preprocess D = { n axis-aligned rectangles } query(x,y): is (x,y) ∈ R, for some R ∈ D? Maintain a set of segments S = { [a 1,b 1 ], [a 2,b 2 ], … } insert / delete query(x): is x ∈ [a i, b i ] for some [a i, b i ] ∈ S ?

Persistence Persistent : { dynamic problems } ↦ { static problems } Given dynamic problem ℙ with update ℙ (x), query ℙ (y) Persistent( ℙ ) = the static problem query ℙ (y) on version t query ℙ (y) on version t v0v0 v1v1 v2v2 v3v3 … x1x1 x2x2 x3x3 x4x4 Preprocess (x 1, x 2, …, x T ) to support: query(y, t) = the answer of query ℙ (y) after update ℙ (x 1 ), …, update ℙ (x t )

Persistence Persistent : { dynamic problems } ↦ { static problems } Given dynamic problem ℙ with update ℙ (x), query ℙ (y) Persistent( ℙ ) = the static problem Static 2D stabbing ≤ Persistent(dynamic 1D stabbing) Preprocess (x 1, x 2, …, x T ) to support: query(y, t) = the answer of query ℙ (y) after update ℙ (x 1 ), …, update ℙ (x t ) time insert delete query this version

Recap: Marked Ancestor time query

Persistent (Marked Ancestor) time

Persistent (Marked Ancestor) time

Persistent (Marked Ancestor)

Butterfly graph!

Butterfly Reachability # vertices: N=n·log B n # edges: N·B Database = { ’s} = vector of N·B bits Let G = butterfly of degree B with n wires Preprocess a subgraph of G query(u, v) = is there a path from source u to sink v?

Butterfly Reachability ↦ 2D Stabbing Let G = butterfly of degree B with n wires Preprocess a subgraph of G query(u,v) = is there a path from source u to sink v? Preprocess D = { axis-aligned rectangles } query(x,y): is (x,y) ∈ R, for some R ∈ D? Which sources & sinks care about this edge? low bits(u) = low bits of a high bits(v) = high bits of b a b

Butterfly Reachability ↦ 2D Stabbing Let G = butterfly of degree B with n wires Preprocess a subgraph of G query(u,v) = is there a path from source u to sink v? Preprocess D = { axis-aligned rectangles } query(x,y): is (x,y) ∈ R, for some R ∈ D? a b source reverse-bits(sink) query(u, v) ↦ ( u, reverse-bits(v) )

Hardness of Butterfly Reachability Input: N·B bits Input: 2 lg n bits query(u,v) Either Alice sends Ω(lg n) bits or Bob sends B 1-ε bits lg S bits O(lg n) bits

O(n lglg n) O(n lg n) bits query(u 1,v 1 ) query(u n,v n ) … Input: O(n lg n) Input: N·B bits Either Alice sends n × Ω(lg n) bits or Bob sends n × B 1-ε bits SnSn lg ( ) ≈ n lg = O(n lglg n) SnSn ⇒ t = Ω(lg n / lglg n)

Hardness of Butterfly Reachability B = { ½NB ’s } ↦ database Either Alice sends n × Ω(lg n) bits or Bob sends n × B 1-ε bits

Hardness of Butterfly Reachability B = { ½NB ’s } ↦ database Either Alice sends n × Ω(lg n) bits or Bob sends n × B 1-ε bits A={ log B n matchings } = { N ’s}

B = { ½NB ’s } ↦ database Either Alice sends n × Ω(lg n) bits or Bob sends n × B 1-ε bits A={ log B n matchings } = { N ’s} ↦ n queries A ∩ B = ∅ ⇔ query(1,8)=true ∧ query(2,5)=true ∧ … LSD lower bound:

Bibliography: Predecessor Search 1988[Ajtai] 1 st static lower bound 1992[Xiao] 1994[Miltersen] 1995[Miltersen, Nisan, Safra, Wigderson] round elimination lemma 1999[Beame, Fich] optimal bound for space n O(1) [Chakrabarti, Chazelle, Gum, Lvov]** 2001[Sen]randomized 2004[Chakrabarti, Regev]** 2006[P ă traşcu, Thorup]optimal bound for space n lg O(1) n 1 st separation between polynomial and linear space 2007[P ă traşcu, Thorup]randomized **) Work on approx. nearest neighbor Preprocess a set S = { n integers } predecessor(x) : max { y ∈ S | y ≤ x }

Bibliography: Succinct Data Structures On input of n bits, use n + o(n) bits of space. [Gál, Miltersen ’03]polynomial evaluation ⇒ redundancy × query time ≥ Ω(n) [Golynski ’09]store a permutation and query π(·), π -1 (·) If space is (1+ε)·n lg n bits ⇒ query time is Ω(1/ √ε) [P ă trașcu, Viola ’10]prefix sums in bit vector For query time t ⇒ redundancy ≥ n / lg O(t) n NB: Also many lower bounds under the indexing assumption. Tight!

The End