LIAFA, Université Paris Diderot , France, November 22, 2011

22
Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis LIAFA, Université Paris Diderot, France, November 22, 2011

description

Dynamic Planar Range Maxima Queries ( presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis. LIAFA, Université Paris Diderot , France, November 22, 2011. Orthogonal Range Queries. y t. y b. x l. x r. Priority Search Tree [McCreight’75] . Space: O( n ). - PowerPoint PPT Presentation

Transcript of LIAFA, Université Paris Diderot , France, November 22, 2011

Page 1: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

Dynamic Planar Range Maxima Queries

(presented at ICALP 2011)

Gerth Stølting BrodalAarhus University

Kostas Tsakalidis

LIAFA, Université Paris Diderot, France, November 22, 2011

Page 2: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

2

Orthogonal Range Queries

xl

yb

xr

yt

Page 3: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

3

Priority Search Tree [McCreight’75]

Recursively move up maximum y

Space: O(n)Update:

O(log n)

y

1-Sidedreporting: O(1+t)

Page 4: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

4

3-Sided Reporting Queries

O(log n) trees

O(log n + t )

xl xr

yb

Priority search

tree

Page 5: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

5

Orthogonal Range MAXIMA Reportingalias “Generalized Planar SKYLINE Operator”

Dominance Maxima QueriesReport all maximal points among points with x in [xl,+∞) and y in [yb,+∞)

Contour Maxima QueriesReport all maximal points among points with x in (-∞, xr]

3-Sided Maxima QueriesReport all maximal points among points with x in [xl, xr] and y in [yb,+∞)

4-Sided Maxima QueriesReport all maximal points among points with x in [xl, xr] and y in [yb,yt]

Maximal Points

Maximal Point

xl

yb

xl

yb

xr

yb

xl xl xr

yb

yt

Static maximal points in O(n∙log n) time [Kung, Luccio, Preparata, J.ACM’75]

Page 6: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

6

Dynamic Range Maxima Reporting

Space Insert DeleteOvermars, van Leeuwen ‘81 n log n + t log2 n + t log2 n

Frederickson, Rodger ‘90 n log n + t log2 n + t(1+t)log n log n log2 n

Janardan ‘91 n log n + t log n log2 nKapoor ‘00 n log n + t amo. - log n

B., Tsakalidis[ICALP ’11]

n log n / loglog n + t log n / loglog n

n∙log n log2 n / loglog n + t log2 n / loglog n

RAM

Page 7: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

7

Overmars, van Leeuwen [JCSS ’81]

O(log n + t ) Updates: O(log2 n)

Page 8: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

8

Our Structure - Tournament Tree

Copy UpMaximum y

Right(u) = u

Page 9: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

9

MAX( )

Tournament TreeRight(u)u Find next point

to be reportedin O(1) time

y

Page 10: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

10

U

URUL

Computation of MAX(Right(u))

MAX(Right(uR))

MAX(Right(u))

MAX(Right(uL))[Sundar ‘89]Priority Queue with AttritionO(1) time

Page 11: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

11

Reco

nstr

uct Rollback

Update Operation

Priority Queue with Attritionwith Rollback

Space:O(n)Update:O(log n)

Page 12: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

12

Priority Queues with Attrition [Sundar, IPL ‘89]

Deletemin() InsertAndAttrite(element)

O(1) worst case time

Page 13: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

13

C B Df Dr

17 ≥ 4+2∙5

insertion order

Priority Queues with Attrition [Sundar, IPL ‘89]

Invariants1) C, B, Df sorted2) max C ≤ min (B ᴜ Df ᴜ Dr)3) |C|≥ |Df|+2|Dr|

Page 14: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

14C B Df Dr

Invariants1) C, B, Df sorted2) max C ≤ min (B ᴜ Df ᴜ Dr)3) |C|≥ |Df|+2|Dr|

BIAS≥ “+1”

12

3

32

1

Page 15: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

15

Df +1Dr -1

BDf -1A C

C=C+Df B=Df=0

DC +1B -1

AB

CD

C B Df Dr C B Df Dr C BDfDr C B Df Dr

Invariants1) C, B, Df sorted2) max C ≤ min (B ᴜ Df ᴜ Dr)3) |C|≥ |Df|+2|Dr|

BIAS≥ “+1”

Page 16: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

16

Dominance Range Maxima Queries

O(log n) trees

Query time O(log n + t )

Page 17: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

17

Contour Range Maxima Queries

O(log n) trees

Query time O(log n + t )

Page 18: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

18

3-Sided Range Maxima Queries

O(log n) trees

Query time O(log n + t )

Page 19: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

19

4-Sided Range MAXIMA Reporting and Rectangular Visibility Queries

Space Insert Delete

Overmars, Wood ‘88 n∙log n log2 n + tlog2 n + t∙log n log2 n log3 n

log2 n[ICALP ’11] n∙log n log2 n + t log2 n log2 n

4x

(+∞,+∞)

(+∞,-∞)

(-∞,+∞)

(-∞,-∞)

Proximity Queries/Similarity Search

4-Sided Range Maxima Queries

Page 20: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

20

4-sided Range Maxima Queries

Query time O(log2 n + t), space O(n∙log n)

Page 21: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

21

RAM – O(log n/loglog n + t)

…O(logε n)

U

• Height O(log n / loglog n)• MAX(Right(u)) maintained

using Q-heaps[Fredman, Willard, JCSS ´94]

Page 22: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

Thank You

Gerth Stølting BrodalAarhus University

Space Query Insert/Delete

O(n) O(log n/loglog n + t) O(log n/loglog n)

O(n∙log n) O(log2 n + t) O(log2 n/loglog n)

RAM