1 / 33

Approximating Points by A Piecewise Linear Function: I

Approximating Points by A Piecewise Linear Function: I. Danny Z. Chen and Haitao Wang Computer Science and Engineering University of Notre Dame Indiana, USA. Outline. Problem definitions Motivations and previous work Our results. Problem Definitions. Input: A point set P (2-D or 3-D)

jaymeb
Download Presentation

Approximating Points by A Piecewise Linear Function: I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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-#: • 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)

  12. Our Results

  13. 3D Problems • No previous result is found • Our results:

  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 pj pi

  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 pj pi

  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. 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. Complete Binary Tree T Common intersection polyhedron Cv of all halfspaces from lv to rv v lv rv stores halfspace hi

  29. 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?

More Related