Download presentation
Presentation is loading. Please wait.
Published byJovica Ivković Modified over 5 years ago
1
Approximating Points by A Piecewise Linear Function: I
Danny Z. Chen and Haitao Wang Computer Science and Engineering University of Notre Dame Indiana, USA
2
Outline Problem definitions Motivations and previous work Our results
3
Problem Definitions Input: A point set P (2-D or 3-D)
Output: An approximation function f Error: Vertical distance e(P,f)=max{error of each point} error
4
Two Problem Versions min-#: min-ε: Given: An error toleranceε≥ 0
Goal: f of minimized size, with e(p,f) ≤ε min-ε: Given: k>0 Goal: f of minimized error e(p,f), with size ≤k
5
Problem Variations Step function (SF) error
6
Problem Variations (cont.)
Piecewise-linear function (PF) error
7
Problem Variations (cont.)
Weighted versions for both SF and PF Every point has a weight ui Error of each point: ui×vertical distance WSF and WPF there is a weight ui
8
Problems in 3-D Extend SF and WSF to 3-D (SF3 and WSF3)
The function f is represented by a set of rectangular faces parallel to the x-y plane and each face approximates a subset of points Vertical distance measured by z-values
9
Problem Summary SF, PF, Weighted version: WSF, WPF
3D version: SF3, WSF3 min-# and min-ε
10
Motivations Query optimizations and histogram constructions in database management systems Regression analysis
11
Previous Work (2D problems)
min-# min-ε SF O(n) [Diaz-Banez ,Mesa,01] O(n) [Fournier,Vigneron,08] WSF O(n) [Karras,Sacharidis,Mamoulis 07] O(nlogn+k2log6n)[Guha,Shim, 07] O(nlog4n) [Fournier,Vigneron,08] PF O(n) [O’Rourke,81] WPF
12
Our Results min-ε O(nlogn+k2log6n) [Guha,Shim,07] O(nlogn+k2log4n) WSF
O(nlog4n) [Fournier,Vigneron,08] O(nlog2n) PF O(n+k2log3loglogn) O(nlogn) WPF O(nlogn+k2log5n) O(nlog3n)
13
3D Problems No previous result is found Our results: min-# min-ε SF3
NP-hard 2-Approx 1.5-nonapprox WSF3
14
Technical Contributions
Two algorithm frameworks A general formulation of path partition problem [Fournier,Vigneron,08] Parametric search Data structures for major components: Vertical hull width query (PF) 2-D sublist LP query (WSF) 3-D sublist LP query (WPF) A tiling modeling for 3-D problems
15
Where to Use Data Structures?
wij: The minimum error to approximate point subset Pij={pi,…,pj} by one segment Need data structures to support queries on wij, 1≤i≤j≤n wij pi pj
16
Where to Use Data Structures?
wij: The minimum error to approximate point subset Pij={pi,…,pj} by one segment Need data structures to support queries on wij, 1≤i≤j≤n wij pi pj
17
Vertical Hull Width Queries (PF)
Given: A point set P Query q(i,j): The maximum vertical distance on the convex hull of Pij Times: (n,lognloglogn), (nloglogn, logn) Use compact interval tree Vertical hull width
18
Main Idea For each query q(i,j)
Obtain the convex hull of Pij (Guibas, Hershberger, Snoeyink, 91) Beginning from the root, at each node, in O(1) time, find the edges of the upper hull and lower hull spanning the node, and then determine which way to go
19
2-D Sublist LP Queries (WSF)
Given: A halfplane set H={hi | 1≤i≤n} Query q(i,j): The lowest point in the common intersection of Hij={hi, …, hj} common intersection lowest point
20
2-D Sublist LP Queries (cont.)
Previously best-known result: (nlogn,log4n) Our solution: (nlogn, log2n) Our techniques: Fractional cascading and binary search on sorted arrays
21
An (nlogn, log3n) Solution
Preprocessing: Build a complete binary tree T The i-th leaf stores hi Each internal node v stores the common intersection chain (Cv) of halfplanes stored in the subtree rooted at v O(nlogn) time
22
Common intersection chain Cv of all halfplanes from lv to rv
Complete Binary Tree T Common intersection chain Cv of all halfplanes from lv to rv v lv rv stores halfplane hi
23
Query Algorithm q(i,j) Suppose p* is the sought lowest point
Find the LCA w of i and j Find O(logn) internal nodes by following the two paths from w to i and to j p* is the lowest point of the chains stored in O(logn) internal nodes
24
Query Algorithm q(i,j) (cont.)
p* is the lowest point in the common intersection of the O(log n) chains w LCA of i and j i j
25
Query Algorithm q(i,j) (cont.)
Each chain is represented by a sorted array Totally O(logn) arrays Given a vertical line L, for each chain, spend O(log n) time computing its intersection with L Need O(log2n) time to determine whether p* is in the left side of L or right side p* can be located in O(log3n) time p* L
26
An (nlogn, log2n) Solution
Observation: The O(logn) chains for each query are organized along two ancestor-descendant paths in the tree T By using fractional cascading Given L, its intersections with all O(logn) chains can be obtained in O(logn) time O(nlogn) preprocessing time Each query: O(log2n) time
27
3-D Sublist LP Queries (WPF)
Given: A halfspace set H={hi | 1≤i≤n} Query q(i,j): The lowest point in the common intersection of Hij={hi, …, hj} No previous solution has been found Our solution: (nlogn, log3n)
28
Common intersection polyhedron Cv of all halfspaces from lv to rv
Complete Binary Tree T Common intersection polyhedron Cv of all halfspaces from lv to rv v lv rv stores halfspace hi
29
A projection of Cv to the XY plane
Data Structure for Cv To support an efficient query, use Kirkpatrick’s hierarchical planar point location data structure to store Cv A projection of Cv to the XY plane
30
Preprocessing Algorithm
Built the tree T in a bottom-up manner Use Chazelle’s linear time convex polyhedra common intersection algorithm to construct Cv at an internal node v from its two children Preprocessing time: O(nlogn)
31
Query Algorithm q(i,j) p* is the lowest point in the common intersection of the polyhedra stored there w LCA of i and j i j
32
3D Problems NP-hardness proof: Based on reduction from planar-3SAT
Approximation algorithms: Use the solution of the hierarchical binary tiling problem (HBT) which can be solved optimally
33
Thank You Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.