(Data) STRUCTURES

18
(Data) STRUCTURES Mihai Pătrașcu

description

(Data) STRUCTURES. Mihai P ătra ș cu. LSD. reachability oracles in the butterfly. partial match. (1+ ε )-ANN ℓ 1 , ℓ 2. NN in ℓ 1 , ℓ 2. dyn. marked ancestor. 3-ANN in ℓ ∞. 2D stabbing. worst-case union-find. dyn. trees, graphs. 4D reporting. 2D counting. dyn. 1D stabbing. - PowerPoint PPT Presentation

Transcript of (Data) STRUCTURES

Page 1: (Data) STRUCTURES

(Data) STRUCTURES

Mihai Pătrașcu

Page 2: (Data) STRUCTURES

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

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

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

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

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

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

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

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

FullyPersistent (Marked Ancestor)

Page 11: (Data) STRUCTURES

FullyPersistent (Marked Ancestor)

Page 12: (Data) STRUCTURES

FullyPersistent (Marked Ancestor)

“reachabilityoracles”

Page 13: (Data) STRUCTURES

Lopsided Set DisjointnessReview: Communication Complexity

set S set T “is S ∩ T = ?”∅

Page 14: (Data) STRUCTURES

LSD Lower BoundsMay 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

LSD Reachability Oracles➙

Page 16: (Data) STRUCTURES

LSD Reachability Oracles➙

T = { } = deleted edges

Page 17: (Data) STRUCTURES

LSD Reachability Oracles➙

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

Page 18: (Data) STRUCTURES

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