xvi Preface useful and up-to-date tool linking the text of this expository book with the accepted archival scientific literature. Now that the revision is done,if hard-pressed to give my list of the most significant developments in pure,"classical"algorithmics(i.e.,excluding software and systems engineering)in the last dozen or so years,it would probably contain three:the non- approximability results for NP-complete problems,Shor's quantum polynomial time factoring algorithm,and the AKS polynomial-time primality test.And all I can say about these is this:wouldn't it be wonderful if the bulk of the work on the next edition of this book-if and when,of course-will be spent on results of similar caliber and importance. David Harel Rehovot,Israel August,2003 a threefold cord is not quickly broken ECCLESIASTES 4:12 Write the vision,and make it plain upon tablets that he who reads it may run HABAKKUK 2:2P1: GIG PE002-FM PE002-Harel PE002-Harel-FM-v1.cls March 19, 2004 19:35 xvi Preface useful and up-to-date tool linking the text of this expository book with the accepted archival scientific literature. Now that the revision is done, if hard-pressed to give my list of the most significant developments in pure, “classical” algorithmics (i.e., excluding software and systems engineering) in the last dozen or so years, it would probably contain three: the nonapproximability results for NP-complete problems, Shor’s quantum polynomial time factoring algorithm, and the AKS polynomial-time primality test. And all I can say about these is this: wouldn’t it be wonderful if the bulk of the work on the next edition of this book—if and when, of course—will be spent on results of similar caliber and importance. David Harel Rehovot, Israel August, 2003 a threefold cord is not quickly broken ECCLESIASTES 4: 12 Write the vision, and make it plain upon tablets, that he who reads it may run HABAKKUK 2: 2