This preview shows pages 1–4. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 81 5. And finally, notice that the FFT circuit is a natural for parallel computation and direct implementation in hardware. Figure 2.10 The fast Fourier transform circuit. a a 4 a 2 a 6 a 1 a 5 a 7 A ( ω 1 ) A ( ω 2 ) A ( ω 3 ) A ( ω 4 ) A ( ω 5 ) A ( ω 6 ) A ( ω 7 ) a 3 A ( ω ) 1 4 4 4 4 6 6 7 4 4 2 2 6 3 2 5 4 000 100 010 110 001 101 011 111 111 110 101 100 011 010 001 000 82 Algorithms The slow spread of a fast algorithm In 1963, during a meeting of President Kennedy’s scientific advisors, John Tukey, a math ematician from Princeton, explained to IBM’s Dick Garwin a fast method for computing Fourier transforms. Garwin listened carefully, because he was at the time working on ways to detect nuclear explosions from seismographic data, and Fourier transforms were the bot tleneck of his method. When he went back to IBM, he asked John Cooley to implement Tukey’s algorithm; they decided that a paper should be published so that the idea could not be patented. Tukey was not very keen to write a paper on the subject, so Cooley took the initiative. And this is how one of the most famous and most cited scientific papers was published in 1965, coauthored by Cooley and Tukey. The reason Tukey was reluctant to publish the FFT was not secretiveness or pursuit of profit via patents. He just felt that this was a simple observation that was probably already known. This was typical of the period: back then (and for some time later) algorithms were considered secondclass mathematical objects, devoid of depth and elegance, and unworthy of serious attention. But Tukey was right about one thing: it was later discovered that British engineers had used the FFT for hand calculations during the late 1930s. And—to end this chapter with the same great mathematician who started it—a paper by Gauss in the early 1800s on (what else?) interpolation contained essentially the same idea in it! Gauss’s paper had remained a secret for so long because it was protected by an oldfashioned cryptographic technique: like most scientific papers of its era, it was written in Latin. S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 83 Exercises 2.1. Use the divideandconquer integer multiplication algorithm to multiply the two binary integers 10011011 and 10111010 . 2.2. Show that for any positive integers n and any base b , there must some power of b lying in the range [ n, bn ] . 2.3. Section 2.2 describes a method for solving recurrence relations which is based on analyzing the recursion tree and deriving a formula for the work done at each level. Another (closely related) method is to expand out the recurrence a few times, until a pattern emerges. For instance, let’s start with the familiar T ( n ) = 2 T ( n/ 2) + O ( n ) . Think of O ( n ) as being ≤ cn for some constant c , so: T ( n ) ≤ 2 T ( n/ 2) + cn . By repeatedly applying this rule, we can bound T ( n ) in terms of T ( n/ 2) , then T ( n/ 4) , then...
View
Full
Document
This document was uploaded on 08/10/2011.
 Spring '11
 Algorithms

Click to edit the document details