Data Structures for Moving Objects Pankaj K. Agarwal Center for - - PDF document

data structures for moving objects
SMART_READER_LITE
LIVE PREVIEW

Data Structures for Moving Objects Pankaj K. Agarwal Center for - - PDF document

Data Structures for Moving Objects Pankaj K. Agarwal Center for Geometric Computing Department of Computer Science Duke University Center for Geometric Computing Geometric Data Structures S : Set of geometric objects Points, segments,


slide-1
SLIDE 1

Data Structures for Moving Objects

Pankaj K. Agarwal

Center for Geometric Computing

Department of Computer Science Duke University

Center for Geometric Computing

S: Set of geometric objects Points, segments, polygons ✫ Ask several queries on S

  • Range searching
  • Nearest-neighbor searching

Quad Tree kd−Tree BSP

Center for Geometric Computing

Geometric Data Structures

Data Structures for Moving Objects 1

slide-2
SLIDE 2

✫ Traffic management

  • Location based services
  • Emergency services
  • Air traffic control

✫ Digital battlefields ✫ Molecular biology ✫ Deformable objects ✫ Adhoc networks Need data structures for storing, analyzing, querying moving objects.

Center for Geometric Computing

Moving Objects: Applications

Data Structures for Moving Objects 2

p(t) = (x(t), y(t)): Position of p at time t.

  • x(·), y(·): Polynomials
  • Degree of motion: max degree of x(·), y(·).
  • Linear motion: Degree of motion is 1

p(t) = at + b, a, b ∈ R2 ✫ Mostly assume motion to be linear ✫ Trajectory of points can change ✫ Trajectory can be piecewise linear

p(t)

Issues: ✫ Sampled motion ✫ Hierarchical motion ✫ Uncertainty

Center for Geometric Computing

Modeling Motion

Data Structures for Moving Objects 3

slide-3
SLIDE 3

S: Set of points Preprocess S into a data structure Report all points of S lying inside a query rectangle Data Structure Space Query Range tree n log n log log n log n + k kd-tree n √n + k External memory data structures also available Example: R-tree

Center for Geometric Computing

Range Searching

Data Structures for Moving Objects 4

S: Set of points, each moving with fixed velocity in the plane Preprocess S into a data structure: Q1 Given a rectangle R and a time value t, report all points of S(t) ∩ R Q2 Given a rectangle R and time values t1, t2, report all points that pass through R during the time interval [t1, t2].

t x y t x y Center for Geometric Computing

Kinetic Range Searching

Data Structures for Moving Objects 5

slide-4
SLIDE 4

✫ One-dimensional data structures

[Wolfson et al. ’98-’99, Tayeb et al. ’98, Kollios et al. ’99]

✫ Two-dimensional data structures

  • Map trajectories to higher dimensional points [Kollios et al.]
  • Build index on trajectories [Pfoser et al.]
  • Parametric R-trees [Saltenis et al.]

Assumes frequent updates on trajectories

Center for Geometric Computing

Early Approaches

Data Structures for Moving Objects 6

(A., Arge, Erickson, 2001) ✫ Partition-tree based approach

  • O(n) space, ∼ √n + k query time
  • log2 n insertion/deletion/trajectory-change
  • Time oblivious scheme

✫ Kinetic range trees

  • n log n/ log log n space, log n + k query
  • Events: x- or y-coordinates of two points become equal
  • Θ(n2) events, each requiring log2 n time
  • Tradeoff between # events and query time
  • Queries have to arrive in a chronological order

Center for Geometric Computing

Kinetic Range Searching

Data Structures for Moving Objects 7

slide-5
SLIDE 5

yt* xt* t x y t x t y

✫ Trajectory of a point pi is a line ℓi in R3 ✫ pi(t) ∈ R ⇐ ⇒ ℓi intersects (R, t) ✫ ℓx, ℓy: Projection of ℓ onto the xt- & yt-planes ✫ ℓ intersects (R, t) ⇔ ℓx intersects (Rx, t) & ℓy intersects (Ry, t) ✫ Use duality and partition trees

Center for Geometric Computing

Partition Tree Based Approach

Data Structures for Moving Objects 8

✫ Bounding box hierarchy, B-tree ✫ Each node v is associated with a subset Sv of points and the smallest rectangle Rv containing Sv ✫ Partition Sv into B clusters, each associated with a child of v ✫ Several heuristics are proposed for partitioning Sv into B clusters

R1 R2 R3 R4 R5 A B C D E F G H I R1 R2 R3 R4 R5 R6 A B C D E F G H I

Center for Geometric Computing

R-Trees

Data Structures for Moving Objects 9

slide-6
SLIDE 6

✫ Kinetic R-tree ✫ Maintain the smallest box enclosing the set of moving points

  • Box is defined by four points
  • The combinatorial structure can change

Ω(n) times

  • Maintain an approximation of the small-

est enclosing box

B(t)

✫ Maintaining the clustering kinetically

  • Extend the known heuristics
  • No theoretical nontrivial results known on kinetic clustering

Center for Geometric Computing

STAR-Tree

Data Structures for Moving Objects 10

✫ R(P(t)): Smallest box enclosing P at time t ✫ ε-core-set: C ⊆ S ε-coreset if ∀t (1 − ε)R(S(t)) ⊆ R(C(t)) Theorem: ∃ ε-core-set of size 1/√ε; Computation time: n + 1/ε A more general result on core sets in [A., Har-Peled, Varadarajan] Leads to approximatation algorithms for several problems

Center for Geometric Computing

Smallest Enclosing Box

Data Structures for Moving Objects 11

slide-7
SLIDE 7

−10 −5 5 10 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 Time Quality

Kernel Size = 16 Kernel Size = 32

−10 −5 5 10 0.94 0.95 0.96 0.97 0.98 0.99 1 Time Quality

Kernel Size = 16 Kernel Size = 28

−10 −5 5 10 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 Time # Events

Linear Motion, Input Size = 10,000 Quadratic Motion, Input Size = 10,000

−10 −5 5 10 2 4 6 8 10 12 14 16 18 Time # Events

Linear Motion, Kernel Size = 24 Quadratic Motion, Kernel Size = 27

Center for Geometric Computing

Smallest Enclosing Box

Data Structures for Moving Objects 12

STAR-tree: Maintain a box enclosing Sv at each node v ✫ Compute Cv ⊂ Sv for each node in a bottom-up manner

  • Merge the core sets computed at the

children of v

  • Prune the merged set

✫ Maintain the smallest enclosing box R(Cv)

Center for Geometric Computing

Smallest Enclosing Box

Data Structures for Moving Objects 13

slide-8
SLIDE 8

✫ Reorganize the children of a node if the rectangles of their children

  • verlap a lot.

w

2

w

1

u3 v v u2 u1 u3 ✫ Collect all the grandchildren of the node ✫ Reconstruct a 2-level R-tree on them

Center for Geometric Computing

Re-Clustering

Data Structures for Moving Objects 14

Synthetic Data ✫ 100,000–500,000 points inside 1000 × 1000 km2 area with different distributions ✫ Points are inserted/deleted dynamically, at any time at least 80% points present ✫ Three range of speed: 45 km/h, 75km/h, 180 km/h

100 150 200 250 300 5 10 15 20 25 30 35 40 45 50

Time Search I/O

S1 (approx.) S1 (exact) S2 (approx.) S2 (exact) S3 (approx.) S3 (exact)

100 150 200 250 300 350 400 450 500 20 40 60 80 100 120 140 160 180 200 Number of points (x 1000) Search I/O

Center for Geometric Computing

Experimental Results

Data Structures for Moving Objects 15

slide-9
SLIDE 9

Realistic Data ✫ Extracted the roads map around Durham, NC, within 120 miles cen- tered at Durham (≈ 250, 000 polygonal chains) ✫ Computed a planar map of the road network ✫ Chose source and destinations randomly with some distribution ✫ Computed a good path using Dijkstra’s algorithm — minimize the length + number of turns ✫ Used Douglas Peucker algorithm to simplify the paths

Center for Geometric Computing

Experimental Results

Data Structures for Moving Objects 16

50 100 150 200 250 300 2 4 6 8 10 12 14 16 18 20 Time

  • Avg. Query I/O

Center for Geometric Computing

Experimental Results

Data Structures for Moving Objects 17

slide-10
SLIDE 10

✫ Accuracy vs efficiency

  • Maintain approximate structures

✫ Query vs events

  • Combine KDS and time-oblivious approaches

✫ Time Responsive Approach:

  • Near-future queries are more critical than far-future queries
  • Fast query time for near-future queries
  • Measure future by the number of events occurred
  • # events: ∆, query:
  • ∆/n + k

Center for Geometric Computing

Tradeoffs in Performance

Data Structures for Moving Objects 18

✫ Incorporating more realistic motions

  • Use dynamic systems, e.g., Kalman, particle filters, to model tra-

jectories

  • How does one perform geometric computation in this model?
  • Geometric computation under uncertainty

✫ Hierarchical representation of motion ✫ Kinetic data structure for clustering, similarity searching

Center for Geometric Computing

Concluding Remarks

Data Structures for Moving Objects 19