| A series of audio-taped lectures given at the Californian Institute of Technology (CalTech) from 1984 to 1986, supplemented by Feynman's own notebooks and contemporaneous lecture notes, provides the source material from which this book derives. Its title, which could equally accurately have been rendered "Lectures on the limits of Computation", hints at the interdisciplinary nature of the book (covering Physics, Mathematics, Quantum Mechanics, Electronics... etc.!). The interesting Forewords provided by the Editors (detailing the book's progeny) and by Feynman himself (hinting at his often iconoclastic approach: e.g. "Computer Science" isn't really a Science - it's more closely related to Engineering) preface some fascinating Chapters which follow. Since Feynman's modus operandi is to think things through for oneself, he urges his students to do the same: in many Chapters there are Problems (which are indeed non-trivial exercises for the reader); but beware, no 'solutions' are provided! The first Chapter is a short 'low-key' Introduction to Computers which introduces logical operations such as AND, XOR and NOT. The second Chapter, Computer Organization (sic) develops these primitive ideas and presents generic (wiring-diagram) implementations of these logical operations or gates. Feynman identifies a minimum, sufficient, set of logic diagrams - labelling them as AND, NOT, FANOUT and EXCHANGE. Using these primitives alone, any logic operation can be generated. The interesting concept of 'reversibility of a computation' is introduced here and dealt with more fully in Chapters five and six (q.v.). The heart of the book (and the three Chapters which this reviewer most enjoyed) follow: Chapter three, The Theory of Computation (in which Feynman talks about Turing Machines - or, as Feynman has it, 'Mr. Turing's machine' - and analyses the so-called 'Halting' Problem. It includes an interesting discussion too about the differences between TMs and Finite State Machines). Chapter four is Coding and Information Theory: the premise being, echoing the (understated) theme of the book, what happens when computer components fail randomly? How can internal computation signals survive intact to allow a calculation to proceed? Chapter five Reversible Computation and the Thermodynamics of Computing is a fascinating, if at times anti-intuitive, lecture on what computation actually is in terms of the entropy of the system. Chapter six (reprinted in full from 'Optics News', February 1985) requires the reader to have some pre-knowledge of Quantum Mechanics: it's entitled Quantum Mechanical Computers and draws further on the theme of computational reversibility, among other related topics. Chapter seven on the Physical Aspects of Computers has been somewhat overtaken by technology (as the editors' opening Caveat explains); Feynman here discusses nMOS chips which, since the mid-nineteen eighties, have been superseded by CMOS technology. This is a chapter that describes the physics of semi-conductors and indeed touches on their manufacture. An Afterword: Memories of Richard Feynman, written by co-editor Tony Hey, relates some illuminating personal anecdotes about "Dick" Feynman whilst the former was at CalTech as a postgraduate student fresh from Oxford. With numerous clear labelled diagrams and equations, and many helpful footnotes, concluding with a Suggested Reading section and a full Index, this enjoyable book can be recommended to those involved in any aspect of "Computer Science". The editors have done a stalwart job in bringing to the public domain, in a well-presented and readable way, the 'limits of computation' as viewed with the clarity of a "Feynmanesque" lens. |