18
(Data) STRUCTURES Mihai Pătrașcu

(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

Embed Size (px)

Citation preview

Page 1: (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

(Data) STRUCTURES

Mihai Pătrașcu

Page 2: (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

LSD

dyn. marked ancestor

reachability oracles in the butterfly

partial match (1+ε)-ANN ℓ1, ℓ2

NN in ℓ1, ℓ23-ANN in ℓ∞

worst-caseunion-find dyn. trees, graphs

dyn. 1D stabbing

partial sums

2D stabbing

4D reporting 2D counting

dyn. NN in 2D

dyn. 2D reporting

Page 3: (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

LSD

dyn. marked ancestor

reachability oracles in the butterfly

partial match (1+ε)-ANN ℓ1, ℓ2

NN in ℓ1, ℓ23-ANN in ℓ∞

worst-caseunion-find dyn. trees, graphs

dyn. 1D stabbing

partial sums

2D stabbing

4D reporting 2D counting

dyn. NN in 2D

dyn. 2D reportingbetter bound

simpler, same bound

simpler, loses lglg n

Page 4: (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

How Hard is Range Reporting?SELECT * FROM employeesWHERE salary <= 70000 AND startdate <= 1998

70000

69000

68000

71000

Static, 2D: O(lglg n)[Alstrup, Brodal, Rauhe

FOCS’00]

Dynamic, 2D: Ω(lg n / lglg n)[Alstrup,Husfeldt, Rauhe

FOCS’98]

Page 5: (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

How Hard is Range Reporting?Static, 2D: O(lglg n)

[Alstrup, Brodal, Rauhe FOCS’00]

Dynamic, 2D: Ω(lg n / lglg n)[Alstrup,Husfeldt, Rauhe

FOCS’98]Marked Ancestor: * mark(v) / unmark(v)

* query(v): ? ∃marked ancestor

Dyn. 1D Stabbing: * insert/delete segment * query(x): does

x stab a segment?

Dyn. 2D Range Reporting

Page 6: (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

How Hard is Range Reporting?Static, 2D: O(lglg n)

[Alstrup, Brodal, Rauhe FOCS’00]

Dynamic, 2D: Ω(lg n / lglg n)[Alstrup,Husfeldt, Rauhe

FOCS’98]

Static 3D ≈ Dynamic 2D ?

Page 7: (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

Persistence

Persistent : { static data struct. } ⟼ { dynamic data struct. }

Given problem with ℙ updateℙ(x), queryℙ(y)

Persistent( ) = the problem ℙ“preprocess (x1, x2, …, xN) to answer:

query(y, t): answer queryℙ(y) after updateℙ(x1), …, updateℙ(xt)”

Persistent(incremental 2D range reporting)= static 3D range reporting

Page 8: (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

How Hard is Range Reporting?Static, 2D: O(lglg n)

[Alstrup, Brodal, Rauhe FOCS’00]

Dynamic, 2D: Ω(lg n / lglg n)[Alstrup,Husfeldt, Rauhe FOCS’98]

Static 3D = Persistent(Dynamic 2D)

But: Persistent(Marked Ancestor) has O(1) solution…

[Nekrich SoCG’07] static 3D in O(lg2lg n)…

Page 9: (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

How Could 4D be Hard?

Fully-persistent data structures:

FullyPersistent(Marked Ancestor)≤ Static 2D Stabbing≤ Static 4D Reporting

v0

v1 v2

v3

v6

v4v5

v7

query(y)?

update(y)

Page 10: (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

FullyPersistent (Marked Ancestor)

Page 11: (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

FullyPersistent (Marked Ancestor)

Page 12: (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

FullyPersistent (Marked Ancestor)

“reachabilityoracles”

Page 13: (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

Lopsided Set Disjointness

Review: Communication Complexity

set Sset T

“is S ∩ T = ?”∅

Page 14: (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

LSD Lower Bounds

May assume universe is of size 2T… split in blocks of size B=2T/S

Say Alice sends εS lg B∙ bits ⇒ in average block, Alice’s value is uncertain in a set of B1-ε’

⇒ Bob must identify his elements in uncertainty sets,sending Ω(S B∙ 1-ε’) bits

Page 15: (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

LSD Reachability Oracles➙

Page 16: (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

LSD Reachability Oracles➙

T = { } = deleted edges

Page 17: (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

LSD Reachability Oracles➙

T = { } = deleted edgesS = { } = one out-edge / node

Page 18: (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

LSD

dyn. marked ancestor

reachability oracles in the butterfly

partial match (1+ε)-ANN ℓ1, ℓ2

NN in ℓ1, ℓ23-ANN in ℓ∞

worst-caseunion-find dyn. trees, graphs

dyn. 1D stabbing

partial sums

2D stabbing

4D reporting 2D counting

dyn. NN in 2D

dyn. 2D reporting

The End