(Data) STRUCTURES

Post on 25-Feb-2016

55 views 0 download

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

(Data) STRUCTURES

Mihai Pătrașcu

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

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

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]

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

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 ?

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

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)…

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)

FullyPersistent (Marked Ancestor)

FullyPersistent (Marked Ancestor)

FullyPersistent (Marked Ancestor)

“reachabilityoracles”

Lopsided Set DisjointnessReview: Communication Complexity

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

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

LSD Reachability Oracles➙

LSD Reachability Oracles➙

T = { } = deleted edges

LSD Reachability Oracles➙

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

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