on quadtrees for point sets martin fürer penn state joint work with shiva kasiviswanathan martin...

11
On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Upload: cecil-snow

Post on 18-Dec-2015

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

On Quadtrees for Point Sets

Martin FürerPenn State

Joint work with Shiva Kasiviswanathan

Martin FürerPenn State

Joint work with Shiva Kasiviswanathan

Page 2: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006 On Quad Trees for Point Sets

2

QuadtreeQuadtree

NW NE

SW SE

o

Page 3: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006 On Quad Trees for Point Sets

3

Picture vs. Point Set

Picture vs. Point Set

Picture: Stop when monochromatic Leaves labeled by color 0 or 4 children

Point Set: Stop when 1 point Leaves labeled by coordinates of point

0 to 4 children

Picture: Stop when monochromatic Leaves labeled by color 0 or 4 children

Point Set: Stop when 1 point Leaves labeled by coordinates of point

0 to 4 children

Page 4: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006 On Quad Trees for Point Sets

4

Compressed QuadtreesCompressed Quadtrees

Succinct representation for clustered point Sets

Replace each maximal path with degree 1 internal nodes by a single edge

n points --> 2n-1 node tree

Internal nodes labeled with their tile (size and position)

Succinct representation for clustered point Sets

Replace each maximal path with degree 1 internal nodes by a single edge

n points --> 2n-1 node tree

Internal nodes labeled with their tile (size and position)

Page 5: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006 On Quad Trees for Point Sets

5

SpannersSpanners

1+ - spanner: Subgraph of a weighted graph with distances increasing by at most a factor of 1+.

1+ - spanner: Subgraph of a weighted graph with distances increasing by at most a factor of 1+.

Page 6: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006 On Quad Trees for Point Sets

6

Our ApplicationOur Application

Find Spanners of (Unit) Disk Graphs

O(n/ε) edges vertex separators (hereditary)

Fast approximations of shortest paths

Find Spanners of (Unit) Disk Graphs

O(n/ε) edges vertex separators (hereditary)

Fast approximations of shortest paths

Page 7: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006 On Quad Trees for Point Sets

7

Construction of Quadtrees

Construction of Quadtrees

Time: Sorting-time + linear Operations: + - < and for given x, y with x<y, findlevel(x,y) = min k such that

x2k< y2k, also output x2k

Time: Sorting-time + linear Operations: + - < and for given x, y with x<y, findlevel(x,y) = min k such that

x2k< y2k, also output x2k

Page 8: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006 On Quad Trees for Point Sets

8

Simulated OperationSimulated Operation

Input (x1,x2), (y1,y2)

Decide whether x1|x2 < y1|y2

where for u = ∑iui2i and v = ∑ivi2i

u|v = ∑i(2ui+vi)4i is the shuffle

Input (x1,x2), (y1,y2)

Decide whether x1|x2 < y1|y2

where for u = ∑iui2i and v = ∑ivi2i

u|v = ∑i(2ui+vi)4i is the shuffle

Page 9: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006 On Quad Trees for Point Sets

9

AlgorithmAlgorithm

Sort points x by shuffle(x), (the shuffle of their coordinates)

For adjacent points x,y in the sorted order, compute

level(shuffle(x), shuffle(y)) Result: s1, l1, s2, l2, … sn-1, ln, sn

Each si is (the shuffle of) the root node of a (trivial) quadtree.

Sort points x by shuffle(x), (the shuffle of their coordinates)

For adjacent points x,y in the sorted order, compute

level(shuffle(x), shuffle(y)) Result: s1, l1, s2, l2, … sn-1, ln, sn

Each si is (the shuffle of) the root node of a (trivial) quadtree.

Page 10: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006 On Quad Trees for Point Sets

10

Continue AlgorithmContinue Algorithm

Recall: s1, l1, s2, l2, … sn-1, ln, sn

Push left part on a stack until li>li+1

Combine the trees with roots si and si+1 into one tree

Recall: s1, l1, s2, l2, … sn-1, ln, sn

Push left part on a stack until li>li+1

Combine the trees with roots si and si+1 into one tree

Page 11: On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan

Dagstuhl 2006 On Quad Trees for Point Sets

11

Open?Open?

Is Bichromatic Closest Pair easier, when the two sets of points are well separated? Dimensions 2 or d.

° ° °°°

° °

Is Bichromatic Closest Pair easier, when the two sets of points are well separated? Dimensions 2 or d.

° ° °°°

° °