140 likes | 272 Views
Efficient detection of motion patterns in spatio-temporal data sets. Marc van Kreveld Utrecht University Bettina Speckmann Joachim Gudmundsson TU Eindhoven. encounter. Problem I. Input: S – n polylines in the plane. m – integer > 1 r – real > 0.
E N D
Efficient detection of motion patterns in spatio-temporal data sets Marc van Kreveld Utrecht University Bettina Speckmann Joachim Gudmundsson TU Eindhoven
encounter Problem I Input: S – n polylines in the plane. m – integer > 1 r – real > 0 convergence flock
Simplification “Each pattern can occur for a subset of the entities at a given time step. Since the input consists of n entities, each with t locations at consecutive time steps, we can treat each time step separately. “
Problem II Convergence: At least m entities pass through the same circular region of radius r. Encounter: At least m entities are simultaneously inside the same circular region of radius r. Flock: At least m entities are within a circular region of radius r and they move in the same direction.
What to report? • Detect if a pattern exists, report. • Report all patterns. • Report “largest” pattern
Results - detect Converg. O(n2) exact [lki03] 3-SUM hard O(n2/em) apx. radius Encoun. O(n2 (m+log n)) exact O((n2/e )log n) apx. radius Flock O(nm2 + n log n) exact [lki03] O(n/e2 log 1/e + n log n) apx m
Convergence I Given a set of n half-lines, is there a circle of radius r that intersects at least m half-lines? Is there a point in the plane with depth at least m?
Convergence II Approximate version: Is there a point in the plane with depth at least (1-e)m? Idea: Use cutting lemma (Chazelle) A (1/s)-cutting of a set of n lines L is a partition of the plane into t triangles s.t. each triangle D intersects at most n/s lines. Given n line segments L and a parameter s. A (1/s)-cutting of the arrangement A(L) that uses (s2) triangles can be computed in O(ns) time.
Convergence III H – the set of n half-strips of width 2r L - the 3n lines supporting the edges and bounding the half-strips Construct a triangle D that contains all intersections. |D| - number of half-strips that completely cover D. Generic step: A triangle D as input. If the number of lines from L intersecting Dis > em then apply the cutting lemma D1, ...,Dt. Compute |Di|for each triangle. Time O(ns2) time. Otherwise, the number of lines from L intersecting D < em and if |D| > m(1-e) then an approximate pattern is found and is reported. Total time : O(n2+d / em)
Encounter I – exact Input: S – set of n half-lines in 3D (time 3rd dim.) Is there a horizontal disc of radius r that is intersected by at least m lines? Construct a cylinder of radius r around every half-line. Is there a point that is included in at least m cylinders? Idea: • Build the arrangement of the cylinders. • Traverse arrangement. Time O(n3) Space O(n3)
Encounter III – exact Idea: • Consider one cylinder C. • A cylinder C’ intersect C in a saddle-like curve. • Build the arrangement of these curves on the boundary of C. O(n2) complexity and expected construction time. • Traverse arrangement. Expected time O(n3) and space O(n2). [Time O(n3 log n) and O(n) space. ]
Encounter III – exact Idea: • Consider one cylinder C with radius 2r. • Compute the intersections between C and the n-1 half-lines. • If > 7m lines inside C at any time then report! Total time: O(n log n) / cylinder • If not, then solve exactly using previous algorithm. Observation: The total size of all subsets within C is O(mn). Total time: O(n (log n+m)) / cylinder Time O(n2 (log n+m)) and space O(mn).
Results - detect Converg. O(n2) exact [lki03] 3-SUM hard O(n2/em) apx. radius Encoun. O(n2 (m+log n)) exact O((n2/e )log n) apx. radius Flock O(nm2 + n log n) exact [lki03] O(n/e2 log 1/e + n log n) apx m
r(p) r(p) We have shown min{|p,r(p)|,|r(p),h|} ≤ ε · |p,h| using O(M) representative points! h - port p