1 / 30

The Lower Envelope The Pointwise Minimum of a Set of Functions

The Lower Envelope The Pointwise Minimum of a Set of Functions. Definition of the Lower Envelope (untere Kontur) of a set of functions: Given n real-valued functions, all defined on a common interval I , then the minimum is : f(x) = min 1 ≤i≤n f i (x)

aerona
Download Presentation

The Lower Envelope The Pointwise Minimum of a Set of Functions

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. The Lower EnvelopeThe Pointwise Minimum of a Set of Functions Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  2. Definition of the Lower Envelope (untere Kontur) of a set of functions: Given nreal-valued functions, all defined on a common interval I, then the minimum is : f(x) = min 1≤i≤n fi (x) The graph of f(x)is called the lower envelopeof the fi’s. y =-∞ Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  3. Special Case: If all the functions fi are linear, then their graphs are line segments. The lower envelope can be calculated with the help of sweep algorithm. D C Cu B A I Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  4. Question: Could the sweep line method also be used to find the lower envelope of graphs of non-linear functions? Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  5. Definition : A curve c is x-monotone if any vertical line either does not intersect c, or it intersects c at a single point. Assumptions • All functions are x-monotone. • Function evaluation and determination of intersection points take time O(1). • The space complexity of the description of a function fi is also constant. • Theorem 1: With the sweep technique, the k intersection points of n different x-monotone curves can be computed in O((n+k) logn) time and O(n) space. Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  6. Sweep technique: If any two curves intersect in at most s points, (this would be satisfied when the functions of all ncurves are polynomials that have degree at most s), then the total number of intersection points k is k ≤ s*n(n-1)/2 Consequence: The total time complexity of the sweep line algorithm for computing the lower envelope of n x-monotone functions isO(s n2 logn)(from theO((n+k) logn) bound for computing all k intersection points). Note: This is not an output sensitive algorithm! Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  7. S=3,n=4 Maximum k=18 Only 8 intersection points needed for lower envelope! Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  8. New algorithm: Combines Divide & Conquer andSweep-line techniques If n =1, do nothing, otherwise: 1. Divide: the set S of n functions into two disjoint sets S1 and S2 of size n/2. 2. Conquer: Compute the lower envelopes L1 and L2 for the two sets S1 and S2 of smaller size. 3. Merge: Use a sweep-line algorithm for merging the lower envelopes L1 and L2 of S1 and S2 into the lower envelope L of the set S. Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  9. Divide and Conquer Example: Lower envelope of curves C and B Lower envelope of curves A and D Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  10. The lower envelopes of curves A,D and B,C Lower envelope of curves B and C Lower envelope of curves A and D Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  11. Sweep line algorithm for merging two lower envelopes L1 and L2 Sweep over L1 and L2 from left to right: Event points: All vertices of L1 and L2, all intersection points of L1 and L2 At each instance of time, the event queue contains only 3 points: 1 (the next) right endpoint of a segment of L1 1 (the next) right endpoint of a segment of L2 The next intersection point of L1 and L2, if it exists. Sweep status structure: Contains two segments in y-order Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  12. L1 L2 Event queue: SSS: Output L: Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  13. Time complexity L1 L2 The lower envelope can be computed in time proportional to the number of events (halting points of the sweep line). At each event point, a constant amount of work is sufficient to update the SSS and to output the result. Total runtime of the merge step: O(#events). How large is this number? Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  14. Define λs(n): the maximum number of segments of the lower envelope of an arrangement of • n different x-monotone curves over a common interval • such that every two curves have at most s intersection points λs(n) is finite and grows monotonously with n. Lower envelope of a set of n/2 x-monotone curves L1 Lower envelope of a set of n/2 x-monotone curves L2 2λs(n/2)≤2 λs(n) Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  15. If n =1, do nothing, otherwise: 1. Divide: the set S of n functions into two disjoint sets S1 and S2 of size n/2. 2. Conquer: Compute the lower envelopes L1 and L2 for the two sets S1 and S2 of smaller size. 3. Merge: Use a sweep-line algorithm for merging the lower envelopes L1 and L2 of S1 and S2 into the lower envelope L of the set S. Time complexity T(n) of the D&C/Sweep algorithm for a set of n x-monotone curves, s.t. each pair of curves intersects in at most s points: T(1) = C T(n) ≤ 2 T(n/2) + C λs(n) Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  16. Using the Lemma : For all s, n ≥ 1, 2λs(n) ≤ λs(2n), and the recurrence relation T(1) = C, T(n) ≤ 2 T(n/2) + C λs(n) yields: Theorem: To calculate the lower envelope of n different x-monotonecurves on the same interval, with the property that any two curves intersect in at most s points can be computed in time O(λs(n) log n). Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  17. Recursion Tree Marking each node with the cost of the divide and conquer step Back-substitution T(n) T(n/2) T(n/2) T(n/4) T(n/4) T(n/4) T(n/4) The root has cost of Cλs(n) each subtree has cost of Cλs(n/2) each subtree has cost of Cλs(n/4) By induction…. Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  18. Davenport-Schinzel Sequences (DSS) Consider words (strings) over an alphabet {A, B, C,…} of n letters. A DSS of order s is a word such that • no letter occurs more than once on any two consecutive positions • the order in which any two letters occur in the word changes at most s times. Examples: ABBA is no DSS,ABDCAEBAC is DSS of order 4, What about ABRAKADABRA? Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  19. Theorem: The maximal length of a DSS of order s over an alphabet of n letters is λs(n). Proof part 1: Show that for each lower envelope of n x-monotone curves, s.t. any two of them intersect in at most s points, there is a DSS over an n-letter alphabet which has the same length (# segments) as the lower envelope. Proof part 2: Show that for each DSS of length n and order s there is a set of n x-monotone curves which has the property that any two curves intersect in at most s points and which have a lower envelope of n segments. Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  20. B C D A A C C B D Proof part 1: Lower envelope contains the segments ABACDCBCD in this order. It obviously has the same length as the l.e. Is this also a DSS? Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  21. C B A A B A C A C B C Example: Davenport-Schinzel-Sequenz: ABACACBC Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  22. Proof part 2: Given a DSS w of order sover an alphabet of n letters, construct an arrangement of n curves with the property that each pair of curves intersects in at most s point which has w as its lower envelope. Generic example: ABCABACBA, DSS of order 5 C B A Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  23. Lemma: For all s,n ≥ 1: 2λs(n)≤λs(2n) Proof:Given a DSS over an n-element alphabet of order s and length l; construct a DSS of length 2l over an alphabet of 2n letters by concatenating two copies of the given DSS and choosing new letters for the second copy. Example: n = 2, that is, choose alphabet {A,B}, s = 3, DSS3 = ABAB n= 4, that is, choose alphabet {A,B,C,D} ABABCDCD is a DSS of order 3 and double length. Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  24. Properties of λs(n) • λ1(n) = n • λ2(n) = 2n -1 • λs(n) ≤ s (n – 1) n / 2 + 1 • λs(n)  O(n log* n), where log*n is the smallest integer m, s.t. the m-th iteration of the logarithm of n log2(log2(...(log2(n))...)) yields a value ≤ 1: Note: For realistic values of n, the value log*n can be considered as constant! Example: For all n ≤1020000 , log*n ≤5 Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  25. Lower Envelope of n Linesegments D C Cu B A Theorem: The lower envelope of n line segments over a common interval can be computed in time O(n log n) and linear space. Proof:λ1(n) = n Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  26. Lower envelope of an arrangement of line segments in general position A B B B A D C D A Theorem: The lower envelope of n linesegments in general position has O(λ3(n))many segments. It can be computed in time O(λ3(n) log n). Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  27. Reduction to x-monoton curves over a common interval Any two curves may Intersect at most 3 times! A B B D B A C A D Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  28. Any two curves may intersect at most 3 times! Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  29. Because the outer segments are parallel to each other, any two x-monotone curves can intersect in at most three points. Therefore, the lower envelope has at most O(λ3(n) log n) segments. It is known that λ3(n)  Θ(n α(n)). Here, α is the functional inverse of the Ackermann function A defined by: A(1, n) = 2n , if n ≥ 1 A(k, 1) = A(k – 1, 1) , if k ≥ 2 A(k, n) = A(k – 1, A(k, n – 1)) , if k ≥ 2, n ≥ 2 Define a(n) = A(n, n), then α is defined by α(m) = min{ n; a(n) ≥ m} The function α(m) grows almost linear in m (but is not linear). Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

  30. References • R. Klein. Algorithmische Geometrie, Kap. 2.3.3. Addison Wesley, 1996. • M. Sharir and P. K. Agarwal. Davenport-Schinzel Sequences and their Geometric Applications, Cambridge University Press, 1995. Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann

More Related