xq-reductions - Algorithms Non-Lecture Q Reductions Reduce...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Algorithms Non-Lecture Q: Reductions Reduce big troubles to small ones, and small ones to nothing. — Chinese proverb I have yet to see any problem, however complicated, which, when you looked at it in the right way, did not become still more complicated. — Poul Anderson, New Scientist (September 25, 1969) Q Reductions Q.1 Introduction An extremely common technique for deriving algorithms is reduction —instead of solving a problem directly, we use an algorithm for some other related problem as a subroutine or black box. For example, when we talked about nuts and bolts, we argued that once the nuts and bolts are sorted, we can match each nut to its bolt in linear time. Thus, since we can sort nuts and bolts in O ( n log n ) expected time, then we can also match them in O ( n log n ) expected time: T match ( n ) ≤ T sort ( n ) + O ( n ) = O ( n log n ) + O ( n ) = O ( n log n ) . Let’s consider (as we did in the previous lecture) a decision tree model of computation, where every query is a comparison between a nut and a bolt—too big, too small, or just right? The output to the matching problem is a permutation π , where for all i , the i th nut matches the π ( i ) th bolt. Since there are n ! permutations of n items, any nut / bolt comparison tree that matches n nuts and bolts has at least n ! leaves, and thus has depth at least d log 3 ( n ! ) e = Ω( n log n ) . Now the same reduction from matching to sorting can be used to prove a lower bound for sorting nuts and bolts, just by reversing the inequality: T sort ( n ) ≥ T match ( n )- O ( n ) = Ω( n log n )- O ( n ) = Ω( n log n ) . Thus, any nut-bolt comparison tree that sorts n nuts and bolts has depth Ω( n log n ) , and our randomized quicksort algorithm is optimal. 1 The rest of this lecture assumes some familiarity with computational geometry. Q.2 Sorting to Convex Hulls Here’s a slightly less trivial example. Suppose we want to prove a lower bound for the problem of computing the convex hull of a set of n points in the plane. To do this, we demonstrate a reduction from sorting to convex hulls. To sort a list of n numbers { a , b , c ,... } , we first transform it into a set of n points { ( a , a 2 ) , ( b , b 2 ) , ( c , c 2 ) ,... } . You can think of the original numbers as a set of points on a horizontal real number line, and the transformation as lifting those point up to the parabola y = x 2 . Then we compute the convex hull of the parabola points. Finally, to get the final sorted list of numbers, we output the first coordinate of every convex vertex, starting from the leftmost vertex and going in counterclockwise order. 1 We could have proved this lower bound directly. The output to the sorting problem is two permutations, so there are n !...
View Full Document

This note was uploaded on 12/15/2009 for the course 942 cs taught by Professor A during the Spring '09 term at University of Illinois at Urbana–Champaign.

Page1 / 6

xq-reductions - Algorithms Non-Lecture Q Reductions Reduce...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online