Dynamic Algorithms for Planar Point Location - PowerPoint PPT Presentation

About This Presentation
Title:

Dynamic Algorithms for Planar Point Location

Description:

User Interface (Mouse/Windows relation) Graphics and CAD/CAM. etc. Why dynamic? Interesting. Heavy use in circuit layout, computer graphics, etc. Some Previous Work ... – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 21
Provided by: kanattan
Category:

less

Transcript and Presenter's Notes

Title: Dynamic Algorithms for Planar Point Location


1
Dynamic Algorithms for Planar Point Location
Kanat Tangwongsan in collaboration with Guy
Blelloch, Umut Acar, Srinath Sridhar.
Aladdin Center - Summer 2004
2
Planar Point Location
  • Classical geometric retrieval problem.
  • Subdivide a Euclidean plane into polygons by line
    segments. (These segments intersect only at
    their endpoints).
  • Identify which polygon the query point (red spot)
    is in.

3
Static vs Dynamic
  • Static fixed structure
  • Dynamic possible insertion/deletion of segments

4
Motivation
  • Applications of Point Location
  • Geographic Information Systems (GIS)
  • User Interface (Mouse/Windows relation)
  • Graphics and CAD/CAM
  • etc.
  • Why dynamic?
  • Interesting
  • Heavy use in circuit layout, computer graphics,
    etc.

5
Some Previous Work
  • Many solutions to this problem
  • Kirkpatrick 1983 Edelsbrunner, Guibas 1986
  • Overmars 1985 Sarnak, Tarjan 1986, etc.
  • Various approaches and techniques persistent
    trees, segment trees, etc.
  • See Chiang and Tamassias Dynamic Algorithms in
    Computational Geometry for pointers to these.
  • Close look at Sarnak-Tarjan solution.

6
Sarnak-Tarjan Solution
  • Idea (partial) persistence
  • O(log n)-query-time, O(n)-space solution.
  • Static unable to insert/delete segments.
  • Relies on Coles observation and Dobkin-Lipton
    construction.

7
Dobkin-Lipton Construction
  • Draw a vertical line through each vertex,
    splitting the plane into vertical slabs.

8
  • Locate a point with two binary searches - O(log
    n)-query time.
  • Nice but space inefficient can cause O(n2).

9
  • ?(n) segments in each slabs, and ?(n) slabs.
  • If storing a tree for each slab, order n2 space
    usage.

10
Coles Observation
  • Sets of line segments intersecting contiguous
    slabs are similar.

11
  • Reduces the problem to storing a persistent
    sorted set.

12
Some Notions of Persistency
  • Ephemeral data structure cannot go back in time.
  • Persistent data structure keeps all previous
    versions accesible.
  • Partial persistence
  • Various solutions see e.g. Driscoll et al.,
    Overmars, etc.
  • Trees
  • path-copying is simple and powerful
  • Native to functional programming languages e.g.
    ML, Scheme, etc.

13
Path-copying illustrated
2
2
Insert 3
4
1
1
4
1
3
5
5
Version Dictionary
2
2
1
4
4
3
5
14
Friendly Dynamic/Stability 101
  • What is a Dynamic Algorithm?
  • Maintains its input/output relationship as the
    input changes.
  • Some Words of the Day
  • to dynamize an algorithm is to make it dynamic.
  • dynamization is the process of making an
    algorithm dynamic.
  • stable a change to the input does not change
    the execution trace (function call tree) too
    dramatically.

15
Dynamizing Persistent Data Structure
  • Acar et al (SODA 2004) shows a way to dynamize
    static algorithms.
  • The efficiency depends on stability.

16
Digression 1 Skip Lists
  • Traditional linked-list is bad for look-up
    O(n).
  • An additional layer saves a lot of probing.
  • Achieve O(log n) by adding a few more layers.
  • Say with n/4, n/8 and so forth nodes.
  • Sadly, maintaining this perfect structure is hard.

7
1
0
1
2
3
4
5
6
0
2
4
6
1
1
0
1
2
3
4
5
6
7
1
0
1
4
0
0
2
4
6
1
1
0
1
2
3
4
5
6
7
17
Digression 1 Skip Lists
  • Pugh1990 invented skip lists.

!
1
1
7
1
!
1
6
7
!
1
0
1
3
6
9
!
1
7
0
1
2
3
4
5
6
7
8
9
!
1
  • The level of a node is drawn from the geometric
    distribution i.e. a node has level k -1 with
    probability 1/2k
  • Skip Lists expected O(n)-space, and expected
    O(log n) insert/delete/look-up.

18
Our Unified Goals
  • Dynamize Sarnak-Tarjan
  • use the idea of persistent data structure and be
    able to support insertion/deletion/lookup
    on-the-fly.
  • stability is the key to efficiency.
  • Treaps and skip lists looks promising.
  • path-copying as the starting point.
  • Benchmark against existing techniques.

19
Questions?
20
Thank you!
Write a Comment
User Comments (0)
About PowerShow.com