Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 1 The Lower Envelope The Pointwise Minimum of a Set of Functions.

Similar presentations


Presentation on theme: "Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 1 The Lower Envelope The Pointwise Minimum of a Set of Functions."— Presentation transcript:

1 Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 1 The Lower Envelope The Pointwise Minimum of a Set of Functions

2 Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 2 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) The graph of f(x) is called the lower envelope of the fi’s. y =-∞

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

4 Lecture 3 Lower envelopes 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?

5 Lecture 3 Lower envelopes 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 f i 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.

6 Lecture 3 Lower envelopes 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 n curves 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 is O(s n 2 logn) (from the O((n+k) logn) bound for computing all k intersection points). Note: This is not an output sensitive algorithm!

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

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

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

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

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

12 Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 12 L1L1 L2L2 Event queue: SSS: Output L:

13 Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 13 L1L1 L2L2 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? Time complexity

14 Lecture 3 Lower envelopes 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. L1L1 L2L2 2λ s (n/2)≤2 λ s (n) Lower envelope of a set of n/2 x-monotone curves Lower envelope of a set of n/2 x-monotone curves

15 Lecture 3 Lower envelopes 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 S 1 and S 2 of size n/2. 2. Conquer: Compute the lower envelopes L 1 and L 2 for the two sets S 1 and S 2 of smaller size. 3. Merge: Use a sweep-line algorithm for merging the lower envelopes L 1 and L 2 of S 1 and S 2 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)

16 Lecture 3 Lower envelopes 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-monotone curves 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 ).

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

18 Lecture 3 Lower envelopes 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?

19 Lecture 3 Lower envelopes 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.

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

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

22 Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 22 Proof part 2: Given a DSS w of order s over 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 A B C

23 Lecture 3 Lower envelopes 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, DSS 3 = ABAB n= 4, that is, choose alphabet {A,B,C,D} ABABCDCD is a DSS of order 3 and double length.

24 Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 24 Properties of λ s (n) 1.λ 1 (n) = n 2.λ 2 (n) = 2n -1 3.λ s (n) ≤ s (n – 1) n / 2 + 1 4.λ 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 log 2 (log 2 (...(log 2 (n))...)) yields a value ≤ 1: Note: For realistic values of n, the value log*n can be considered as constant! Example: For all n ≤10 20000, log*n ≤5

25 Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 25 Lower Envelope of n Linesegments A B C D CuCu 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

26 Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 26 A B C D A A B B D Lower envelope of an arrangement of line segments in general position 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).

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

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

29 Lecture 3 Lower envelopes 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).

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


Download ppt "Lecture 3 Lower envelopes Computational Geometry, 2005/06 Prof.Dr.Th.Ottmann 1 The Lower Envelope The Pointwise Minimum of a Set of Functions."

Similar presentations


Ads by Google