Bibliography

Total Page:16

File Type:pdf, Size:1020Kb

Bibliography Bibliography [1] G. M. Adel’son-Vel’ski˘ıand E. M. Landis. An algorithm for the or- ganization of information. Soviet Mathematics Doklady, 3:1259–1263, 1962. [2] Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. The Design and Analysis of Computer Algorithms. Addison Wesley, 1974. [3] Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Prin- ciples, Techniques, and Tools. Addison Wesley, 1986. [4] Martin Aigner. Combinatorial Search. Wiley-Teubner, 1988. [5] Arne Andersson. Balanced search trees made simple. In Proceedings of the Third Workshop on Algorithms and Data Structures, number 709 in Lecture Notes in Computer Science, pages 60–71. Springer-Verlag, 1993. [6] K. R. Apt and E.-R. Olderog. Verification of Sequential and Concur- rent Programs. Springer-Verlag, 1991. [7] Paul G. H. Bachmann. Analytische Zahlentheorie, Bd 2: Die Analy- sische Zahlentheorie. Teubner, Leipzig, Germany, 1894. [8] R. Bayer. Symmetric binary B-trees: Data structure and maintenance algorithms. Acta Informatica, 1:290–306, 1972. [9] R. Bayer and E. M. McCreight. Organization and maintenance of large ordered indexes. Acta Informatica, 1:173–189, 1972. [10] Richard E. Bellman. Dynamic Programming. Princeton University Press, 1957. [11] Jon L. Bentley. Multidimensional divide-and-conquer. Communica- tions of the ACM, 23:214–229, 1980. 588 BIBLIOGRAPHY 589 [12] Jon L. Bentley. Programming Pearls. Addison-Wesley, Reading, MA, 1986. [13] Jon L. Bentley and M. Douglas McIlroy. Engineering a sort function. Software — Practice and Experience, 23:1249–1265, 1993. [14] C. Berge. Two theorems in graph theory. Proceedings of the National Academy of Sciences, 43:842–844, 1957. [15] Manuel Blum, Robert W. Floyd, Vaughan R. Pratt, Ronald L. Rivest, and Robert E. Tarjan. Time bounds for selection. Journal of Computer and System Sciences, 7:448–461, 1972. [16] Otokar Bor ˙uvka. O jist´em probl´emu minim´alnim. Pr´ace Moravsk´e Pˇr´ırodovˇed Spolecnosti, 3:37–58, 1926. [17] Gilles Brassard. Crusade for a better notation. ACM SIGACT News, 17:60–64, 1985. [18] Gilles Brassard and Paul Bratley. Fundamentals of Algorithmics. Pren- tice Hall, 1996. [19] Christoph Burnikel and Joachim Ziegler. Fast recursive division. Re- search Report MPI-I-98-1-022, Max-Planck-Institut f¨ur Informatik, 1998. [20] J. Lawrence Carter and Mark N. Wegman. Universal classes of hash functions. Journal of Computer and System Sciences, 18:143–154, 1979. [21] David Cheriton and Robert E. Tarjan. Finding minimum spanning trees. SIAM Journal on Computing, 5:724–742, 1976. [22] V. Chvatal, D. A. Klarner, and D. E. Knuth. Selected combinato- rial research problems. Technical Report STAN-CS-72-292, Stanford University, 1972. [23] Steven A. Cook. The complexity of theorem-proving procedures. In Proceedings of the 3rd Annual ACM Symposium on Theory of Com- puting, pages 151–158, 1971. [24] James W. Cooley and John W. Tukey. An algorithm for the machine calculation of complex Fourier series. Mathematics of Computation, 19:297–301, 1965. BIBLIOGRAPHY 590 [25] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clif- ford Stein. Introduction to Algorithms. McGraw-Hill, 2nd edition, 2001. [26] C. A. Crane. Linear lists and priority queues as balanced binary trees. Technical Report STAN-CS-72-259, Computer Science Department, Stanford University, Stanford, CA, 1972. [27] Edsger W. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1:269–271, 1959. [28] Edsger W. Dijkstra. The structure of “THE”-multiprogramming sys- tem. Communications of the ACM, 11:341–346, 1968. [29] Edsger W. Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, NJ, 1976. [30] E. A. Dinic. Algorithm for solution of a problem of maximum flow in a network with power estimation. Soviet Mathematics Doklady, 11:1277–1280, 1970. [31] Arnold I. Dumey. Indexing for rapid random access memory systems. Computers and Automation, 5:6–9, 1956. [32] J. P. Eckert and J. W. Mauchly. Progress report on the edvac, Septem- ber 1945. [33] Jack Edmonds. Paths, trees, and flowers. Canadian Journal of Math- ematics, 17:449–467, 1965. [34] Jack Edmonds. Matroids and the greedy algorithm. Mathematical Programming, 1:127–136, 1971. [35] Jack Edmonds and Richard M. Karp. Theoretical improvements in algorithmic efficiency for network flow problems. Journal of the ACM, 19:248–264, 1972. [36] Leohard Euler. Solutio problematis ad geometriam situs pertinentis. Commetarii Academiae Scientiarum Imperialis Petropolitanae, 8:128– 140, 1736. [37] Shimon Even. Graph Algorithms. Computer Science Press, 1979. [38] Robert W. Floyd. Algorithm 97: Shortest path. Communications of hte ACM, 5:345, 1962. BIBLIOGRAPHY 591 [39] Robert W. Floyd. Algorithm 245: Treesort. Communications of the ACM, 7:701, 1964. [40] L. R. Ford and D. R. Fulkerson. Maximal flow through a network. Canadian Journal of Mathematics, 8:399–404, 1956. [41] L. R. Ford and D. R. Fulkerson. Flows in Networks. Princeton Uni- versity Press, 1962. [42] N. Francez. Program Verification. Addison-Wesley, 1992. [43] Michael L. Fredman, J´anos Koml´os, and Endre Szermer´edi. Storing a sparse table with O(1) worst case access time. Journal of the ACM, 31:538–544, 1984. [44] Michael L. Fredman and Robert E. Tarjan. Fibonacci heaps and their use in improved network optimization algorithms. Journal of the ACM, 34:596–615, 1987. [45] Bernard A. Galler and Michael J. Fisher. An improved equivalence algorithm. Communications of the ACM, 7:301–303, 1964. [46] Anna Gambin and Adam Malinowski. Randomized meldable priority queues. In Conference on Current Trends in Theory and Practice of Informatics, pages 344–349, 1998. [47] M. R. Garey, R. L. Graham, D. S. Johnson, and A. C. Yao. Resource constrained scheduling as generalized bin packing. Journal of Combi- natorial Theory, Series A, 21:257–298, 1976. [48] Michael R. Garey, R. L. Graham, and J. D. Ullman. Worst-case anal- ysis of memory allocation algorithms. In Proceedings of the Fourth ACM Symposium on Theory of Computing, pages 143–150, 1972. [49] Michael R. Garey and David S. Johnson. Complexity results for mul- tiprocessor scheduling under resource constraints. SIAM Journal on Computing, 4:397–411, 1975. [50] Michael R. Garey and David S. Johnson. Two-processor scheduling with start-times and deadlines. SIAM Journal on Computing, 6:416– 426, 1977. [51] Michael R. Garey and David S. Johnson. “Strong” NP-Completeness results: Motivation, examples, and implications. Journal of the ACM, 25:499–508, 1978. BIBLIOGRAPHY 592 [52] Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman and Company, New York, 1979. [53] Edgard N. Gilbert and Edward F. Moore. Variable length encodings. Bell System Technical Journal, 38:933–968, 1959. [54] Sadashiva S. Godbole. On efficient computation of matrix chain prod- ucts. IEEE Transactions on Computers, C-22:864–866, 1973. [55] Andrew V. Goldberg and Satish Rao. Beyond the flow decomposition barrier. Journal of the ACM, 45:783–797, 1998. [56] Ronald L. Graham, Donald E. Knuth, and Oren Patashnik. Concrete Mathematics. Addison-Wesley, Reading, Massachusetts, 2nd edition, 1994. [57] Leo J. Gubias and Robert Sedgewick. A dichromatic framework for balanced trees. In Porceedings of the 19th Annual Symposium on Foun- dations of Computer Science, pages 8–21. IEEE Computer Society, 1978. [58] Machael T. Heideman, Don H. Johnson, and C. Sidney Burrus. Gauss and the history of the Fast Fourier Transform. IEEE ASSP Magazine, pages 14–21, 1984. [59] C. A. R. Hoare. Quicksort. Computer Journal, 5:10–15, 1962. [60] C. A. R. Hoare. An axiomatic basis for computer programming. Com- munications of the ACM, 12:576–580, 1969. [61] John E. Hopcroft and Richard M. Karp. An n5/2 algorithm for max- imum matchings in bipartite graphs. SIAM Journal on Computing, 2:225–231, 1973. [62] John E. Hopcroft and Robert E. Tarjan. Efficient algorithms for graph manipulation. Communications of the ACM, 16:372–378, 1973. [63] John E. Hopcroft and Jeffrey D. Ullman. Set merging algorithms. SIAM Journal on Computing, 2:294–303, 1973. [64] Rodney R. Howell. On asymptotic notation with multiple variables. Technical Report 2007-4, Kansas State University, 2007. http:// people.cis.ksu.edu/∼rhowell/asymptotic.pdf. BIBLIOGRAPHY 593 [65] David A. Huffman. A method for the construction of minimum- redundancy codes. Proceedings of the IRE, 40:1098–1101, 1952. [66] Oscar H. Ibarra and Chul E. Kim. Fast approximation algorithms for the knapsack and sum of subset problems. Journal of the Association for Computing Machinery, 22:463–468, 1975. [67] V. Jarn´ık. O jist´em probl´emu minim´alnim. Pr´ace Moravsk´ePˇr´ırodovˇed Spolecnosti, 6:57–63, 1930. [68] D. S. Johnson, A. Demers, J. D. Ullman, M. R. Garey, and R. L. Graham. Worst-case performance bounds for simple one-dimensional packing algorithms. SIAM Journal on Computing, 3:299–325, 1974. [69] David S. Johnson. Near-Optimal Bin Packing Algorithms. Doctoral thesis, dept. of mathematics, Massachusetts Institute of Technology, Cambridge, MA, 1973. [70] David S. Johnson. Approximation algorithms for combinatorial prob- lems. Journal of Computer and System Sciences, 9:256–278, 1974. [71] Donald B. Johnson. Priority queues with update and finding minimum spanning trees. Information Processing Letters, 4:53–57, 1975. [72] Donald B. Johnson. Efficient algorithms for shortest paths in sparse networks. Journal of the ACM, 24:1–13, 1977. [73] Anatoli˘ı A. Karatsuba and Y. Ofman. Multiplication of multidigit numbers on automata. Doklady Akademii Nauk SSSR, 145:293–294, 1962. [74] Richard M. Karp. Reducibility among combinatorial problems. In R. E. Miller and J. W. Thatcher, editors, Complexity of Computer Computations, pages 85–103. Plenum Press, 1972. [75] D. G. Kirkpatrick and P. Hell. On the complexity of a generalized matching problem. In Proceedings of the 10th Annual ACM Sympo- sium on Theory of Computing, pages 240–245.
Recommended publications
  • Average-Case Analysis of Algorithms and Data Structures L’Analyse En Moyenne Des Algorithmes Et Des Structures De DonnEes
    (page i) Average-Case Analysis of Algorithms and Data Structures L'analyse en moyenne des algorithmes et des structures de donn¶ees Je®rey Scott Vitter 1 and Philippe Flajolet 2 Abstract. This report is a contributed chapter to the Handbook of Theoretical Computer Science (North-Holland, 1990). Its aim is to describe the main mathematical methods and applications in the average-case analysis of algorithms and data structures. It comprises two parts: First, we present basic combinatorial enumerations based on symbolic methods and asymptotic methods with emphasis on complex analysis techniques (such as singularity analysis, saddle point, Mellin transforms). Next, we show how to apply these general methods to the analysis of sorting, searching, tree data structures, hashing, and dynamic algorithms. The emphasis is on algorithms for which exact \analytic models" can be derived. R¶esum¶e. Ce rapport est un chapitre qui para^³t dans le Handbook of Theoretical Com- puter Science (North-Holland, 1990). Son but est de d¶ecrire les principales m¶ethodes et applications de l'analyse de complexit¶e en moyenne des algorithmes. Il comprend deux parties. Tout d'abord, nous donnons une pr¶esentation des m¶ethodes de d¶enombrements combinatoires qui repose sur l'utilisation de m¶ethodes symboliques, ainsi que des tech- niques asymptotiques fond¶ees sur l'analyse complexe (analyse de singularit¶es, m¶ethode du col, transformation de Mellin). Ensuite, nous d¶ecrivons l'application de ces m¶ethodes g¶enerales a l'analyse du tri, de la recherche, de la manipulation d'arbres, du hachage et des algorithmes dynamiques.
    [Show full text]
  • Low-Power Computing
    LOW-POWER COMPUTING Safa Alsalman a, Raihan ur Rasool b, Rizwan Mian c a King Faisal University, Alhsa, Saudi Arabia b Victoria University, Melbourne, Australia c Data++, Toronto, Canada Corresponding email: [email protected] Abstract With the abundance of mobile electronics, demand for Low-Power Computing is pressing more than ever. Achieving a reduction in power consumption requires gigantic efforts from electrical and electronic engineers, computer scientists and software developers. During the past decade, various techniques and methodologies for designing low-power solutions have been proposed. These methods are aimed at small mobile devices as well as large datacenters. There are techniques that consider design paradigms and techniques including run-time issues. This paper summarizes the main approaches adopted by the IT community to promote Low-power computing. Keywords: Computing, Energy-efficient, Low power, Power-efficiency. Introduction In the past two decades, technology has evolved rapidly affecting every aspect of our daily lives. The fact that we study, work, communicate and entertain ourselves using all different types of devices and gadgets is an evidence that technology is a revolutionary event in the human history. The technology is here to stay but with big responsibilities comes bigger challenges. As digital devices shrink in size and become more portable, power consumption and energy efficiency become a critical issue. On one end, circuits designed for portable devices must target increasing battery life. On the other end, the more complex high-end circuits available at data centers have to consider power costs, cooling requirements, and reliability issues. Low-power computing is the field dedicated to the design and manufacturing of low-power consumption circuits, programming power-aware software and applying techniques for power-efficiency [1][2].
    [Show full text]
  • Design and Analysis of Algorithms Credits and Contact Hours: 3 Credits
    Course number and name: CS 07340: Design and Analysis of Algorithms Credits and contact hours: 3 credits. / 3 contact hours Faculty Coordinator: Andrea Lobo Text book, title, author, and year: The Design and Analysis of Algorithms, Anany Levitin, 2012. Specific course information Catalog description: In this course, students will learn to design and analyze efficient algorithms for sorting, searching, graphs, sets, matrices, and other applications. Students will also learn to recognize and prove NP- Completeness. Prerequisites: CS07210 Foundations of Computer Science and CS04222 Data Structures and Algorithms Type of Course: ☒ Required ☐ Elective ☐ Selected Elective Specific goals for the course 1. algorithm complexity. Students have analyzed the worst-case runtime complexity of algorithms including the quantification of resources required for computation of basic problems. o ABET (j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices 2. algorithm design. Students have applied multiple algorithm design strategies. o ABET (j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices 3. classic algorithms. Students have demonstrated understanding of algorithms for several well-known computer science problems o ABET (j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices and are able to implement these algorithms.
    [Show full text]
  • 1 Introduction and Contents
    University of Padova - DEI Course “Introduction to Natural Language Processing”, Academic Year 2002-2003 Term paper Fast Matrix Multiplication PhD Student: Carlo Fantozzi, XVI ciclo 1 Introduction and Contents This term paper illustrates some results concerning the fast multiplication of n × n matrices: we use the adjective “fast” as a synonym of “in time asymptotically lower than n3”. This subject is relevant to natural language processing since, in 1975, Valiant showed [27] that Boolean matrix multiplication can be used to parse context-free grammars (or CFGs, for short): as a consequence, a fast boolean matrix multiplication algorithm yields a fast CFG parsing algorithm. Indeed, Valiant’s algorithm parses a string of length n in time proportional to TBOOL(n), i.e. the time required to multiply two n × n boolean matrices. Although impractical because of its high constants, Valiant’s algorithm is the asymptotically fastest CFG parsing solution known to date. A simpler (hence nearer to practicality) version of Valiant’s algorithm has been devised by Rytter [20]. One might hope to find a fast, practical parsing scheme which do not rely on matrix multiplica- tion: however, some results seem to suggest that this is a hard quest. Satta has demonstrated [21] that tree-adjoining grammar (TAG) parsing can be reduced to boolean matrix multiplication. Subsequently, Lee has proved [18] that any CFG parser running in time O gn3−, with g the size of the context-free grammar, can be converted into an O m3−/3 boolean matrix multiplication algorithm∗; the constants involved in the translation process are small. Since canonical parsing schemes exhibit a linear depen- dence on g, it can be reasonably stated that fast, practical CFG parsing algorithms can be translated into fast matrix multiplication algorithms.
    [Show full text]
  • Introduction to Computer System
    Chapter 1 INTRODUCTION TO COMPUTER SYSTEM 1.0 Objectives 1.1 Introduction –Computer? 1.2 Evolution of Computers 1.3 Classification of Computers 1.4 Applications of Computers 1.5 Advantages and Disadvantages of Computers 1.6 Similarities Difference between computer and Human 1.7 A Computer System 1.8 Components of a Computer System 1.9 Summary 1.10 Check your Progress - Answers 1.11 Questions for Self – Study 1.12 Suggested Readings 1.0 OBJECTIVES After studying this chapter you will be able to: Learn the concept of a system in general and the computer system in specific. Learn and understand how the computers have evolved dramatically within a very short span, from very huge machines of the past, to very compact designs of the present with tremendous advances in technology. Understand the general classifications of computers. Study computer applications. Understand the typical characteristics of computers which are speed, accuracy, efficiency, storage capacity, versatility. Understand limitations of the computer. Discuss the similarities and differences between the human and the computer. Understand the Component of the computer. 1.1 INTRODUCTION- Computer Today, almost all of us in the world make use of computers in one way or the other. It finds applications in various fields of engineering, medicine, commercial, research and others. Not only in these sophisticated areas, but also in our daily lives, computers have become indispensable. They are present everywhere, in all the dev ices that we use daily like cars, games, washing machines, microwaves etc. and in day to day computations like banking, reservations, electronic mails, internet and many more.
    [Show full text]
  • The Strange Birth and Long Life of Unix - IEEE Spectrum Page 1 of 6
    The Strange Birth and Long Life of Unix - IEEE Spectrum Page 1 of 6 COMPUTING / SOFTWARE FEATURE The Strange Birth and Long Life of Unix The classic operating system turns 40, and its progeny abound By WARREN TOOMEY / DECEMBER 2011 They say that when one door closes on you, another opens. People generally offer this bit of wisdom just to lend some solace after a misfortune. But sometimes it's actually true. It certainly was for Ken Thompson and the late Dennis Ritchie, two of the greats of 20th-century information technology, when they created the Unix operating system, now considered one of the most inspiring and influential pieces of software ever written. A door had slammed shut for Thompson and Ritchie in March of 1969, when their employer, the American Telephone & Telegraph Co., withdrew from a collaborative project with the Photo: Alcatel-Lucent Massachusetts Institute of KEY FIGURES: Ken Thompson [seated] types as Dennis Ritchie looks on in 1972, shortly Technology and General Electric after they and their Bell Labs colleagues invented Unix. to create an interactive time- sharing system called Multics, which stood for "Multiplexed Information and Computing Service." Time-sharing, a technique that lets multiple people use a single computer simultaneously, had been invented only a decade earlier. Multics was to combine time-sharing with other technological advances of the era, allowing users to phone a computer from remote terminals and then read e -mail, edit documents, run calculations, and so forth. It was to be a great leap forward from the way computers were mostly being used, with people tediously preparing and submitting batch jobs on punch cards to be run one by one.
    [Show full text]
  • The Strange Birth and Long Life of Unix - IEEE Spectrum
    The Strange Birth and Long Life of Unix - IEEE Spectrum http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-li... COMPUTING / SOFTWARE FEATURE The Strange Birth and Long Life of Unix The classic operating system turns 40, and its progeny abound By WARREN TOOMEY / DECEMBER 2011 They say that when one door closes on you, another opens. People generally offer this bit of wisdom just to lend some solace after a misfortune. But sometimes it's actually true. It certainly was for Ken Thompson and the late Dennis Ritchie, two of the greats of 20th-century information technology, when they created the Unix operating system, now considered one of the most inspiring and influential pieces of software ever written. A door had slammed shut for Thompson and Ritchie in March of 1969, when their employer, the American Telephone & Telegraph Co., withdrew from a collaborative project with the Photo: Alcatel-Lucent Massachusetts Institute of KEY FIGURES: Ken Thompson [seated] types as Dennis Ritchie looks on in 1972, shortly Technology and General Electric after they and their Bell Labs colleagues invented Unix. to create an interactive time-sharing system called Multics, which stood for "Multiplexed Information and Computing Service." Time-sharing, a technique that lets multiple people use a single computer simultaneously, had been invented only a decade earlier. Multics was to combine time-sharing with other technological advances of the era, allowing users to phone a computer from remote terminals and then read e-mail, edit documents, run calculations, and so forth. It was to be a great leap forward from the way computers were mostly being used, with people tediously preparing and submitting batch jobs on punch cards to be run one by one.
    [Show full text]
  • Mathematics People
    Mathematics People Srinivas Receives TWAS Prize Strassen Awarded ACM Knuth in Mathematics Prize Vasudevan Srinivas of the Tata Institute of Fundamental Volker Strassen of the University of Konstanz has been Research, Mumbai, has been named the winner of the 2008 awarded the 2008 Knuth Prize of the Association for TWAS Prize in Mathematics, awarded by the Academy of Computing Machinery (ACM) Special Interest Group on Sciences for the Developing World (TWAS). He was hon- Algorithms and Computation Theory (SIGACT). He was ored “for his basic contributions to algebraic geometry honored for his contributions to the theory and practice that have helped deepen our understanding of cycles, of algorithm design. The award carries a cash prize of motives, and K-theory.” Srinivas will receive a cash prize US$5,000. of US$15,000 and will deliver a lecture at the academy’s According to the prize citation, “Strassen’s innovations twentieth general meeting, to be held in South Africa in enabled fast and efficient computer algorithms, the se- September 2009. quence of instructions that tells a computer how to solve a particular problem. His discoveries resulted in some of the —From a TWAS announcement most important algorithms used today on millions if not billions of computers around the world and fundamentally altered the field of cryptography, which uses secret codes Pujals Awarded ICTP/IMU to protect data from theft or alteration.” Ramanujan Prize His algorithms include fast matrix multiplication, inte- ger multiplication, and a test for the primality
    [Show full text]
  • Introduction to the Design and Analysis of Algorithms
    This page intentionally left blank Vice President and Editorial Director, ECS Marcia Horton Editor-in-Chief Michael Hirsch Acquisitions Editor Matt Goldstein Editorial Assistant Chelsea Bell Vice President, Marketing Patrice Jones Marketing Manager Yezan Alayan Senior Marketing Coordinator Kathryn Ferranti Marketing Assistant Emma Snider Vice President, Production Vince O’Brien Managing Editor Jeff Holcomb Production Project Manager Kayla Smith-Tarbox Senior Operations Supervisor Alan Fischer Manufacturing Buyer Lisa McDowell Art Director Anthony Gemmellaro Text Designer Sandra Rigney Cover Designer Anthony Gemmellaro Cover Illustration Jennifer Kohnke Media Editor Daniel Sandin Full-Service Project Management Windfall Software Composition Windfall Software, using ZzTEX Printer/Binder Courier Westford Cover Printer Courier Westford Text Font Times Ten Copyright © 2012, 2007, 2003 Pearson Education, Inc., publishing as Addison-Wesley. All rights reserved. Printed in the United States of America. This publication is protected by Copyright, and permission should be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. To obtain permission(s) to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to 201-236-3290. This is the eBook of the printed book and may not include any media, Website access codes or print supplements that may come packaged with the bound book. Many of the designations by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed in initial caps or all caps.
    [Show full text]
  • Algorithms and Computational Complexity: an Overview
    Algorithms and Computational Complexity: an Overview Winter 2011 Larry Ruzzo Thanks to Paul Beame, James Lee, Kevin Wayne for some slides 1 goals Design of Algorithms – a taste design methods common or important types of problems analysis of algorithms - efficiency 2 goals Complexity & intractability – a taste solving problems in principle is not enough algorithms must be efficient some problems have no efficient solution NP-complete problems important & useful class of problems whose solutions (seemingly) cannot be found efficiently 3 complexity example Cryptography (e.g. RSA, SSL in browsers) Secret: p,q prime, say 512 bits each Public: n which equals p x q, 1024 bits In principle there is an algorithm that given n will find p and q:" try all 2512 possible p’s, but an astronomical number In practice no fast algorithm known for this problem (on non-quantum computers) security of RSA depends on this fact (and research in “quantum computing” is strongly driven by the possibility of changing this) 4 algorithms versus machines Moore’s Law and the exponential improvements in hardware... Ex: sparse linear equations over 25 years 10 orders of magnitude improvement! 5 algorithms or hardware? 107 25 years G.E. / CDC 3600 progress solving CDC 6600 G.E. = Gaussian Elimination 106 sparse linear CDC 7600 Cray 1 systems 105 Cray 2 Hardware " 104 alone: 4 orders Seconds Cray 3 (Est.) 103 of magnitude 102 101 Source: Sandia, via M. Schultz! 100 1960 1970 1980 1990 6 2000 algorithms or hardware? 107 25 years G.E. / CDC 3600 CDC 6600 G.E. = Gaussian Elimination progress solving SOR = Successive OverRelaxation 106 CG = Conjugate Gradient sparse linear CDC 7600 Cray 1 systems 105 Cray 2 Hardware " 104 alone: 4 orders Seconds Cray 3 (Est.) 103 of magnitude Sparse G.E.
    [Show full text]
  • HOW MODERATE-SIZED RISC-BASED Smps CAN OUTPERFORM MUCH LARGER DISTRIBUTED MEMORY Mpps
    HOW MODERATE-SIZED RISC-BASED SMPs CAN OUTPERFORM MUCH LARGER DISTRIBUTED MEMORY MPPs D. M. Pressel Walter B. Sturek Corporate Information and Computing Center Corporate Information and Computing Center U.S. Army Research Laboratory U.S. Army Research Laboratory Aberdeen Proving Ground, Maryland 21005-5067 Aberdeen Proving Ground, Maryland 21005-5067 Email: [email protected] Email: sturek@arlmil J. Sahu K. R. Heavey Weapons and Materials Research Directorate Weapons and Materials Research Directorate U.S. Army Research Laboratory U.S. Army Research Laboratory Aberdeen Proving Ground, Maryland 21005-5066 Aberdeen Proving Ground, Maryland 21005-5066 Email: [email protected] Email: [email protected] ABSTRACT: Historically, comparison of computer systems was based primarily on theoretical peak performance. Today, based on delivered levels of performance, comparisons are frequently used. This of course raises a whole host of questions about how to do this. However, even this approach has a fundamental problem. It assumes that all FLOPS are of equal value. As long as one is only using either vector or large distributed memory MIMD MPPs, this is probably a reasonable assumption. However, when comparing the algorithms of choice used on these two classes of platforms, one frequently finds a significant difference in the number of FLOPS required to obtain a solution with the desired level of precision. While troubling, this dichotomy has been largely unavoidable. Recent advances involving moderate-sized RISC-based SMPs have allowed us to solve this problem.
    [Show full text]
  • From Analysis of Algorithms to Analytic Combinatorics a Journey with Philippe Flajolet
    From Analysis of Algorithms to Analytic Combinatorics a journey with Philippe Flajolet Robert Sedgewick Princeton University This talk is dedicated to the memory of Philippe Flajolet Philippe Flajolet 1948-2011 From Analysis of Algorithms to Analytic Combinatorics 47. PF. Elements of a general theory of combinatorial structures. 1985. 69. PF. Mathematical methods in the analysis of algorithms and data structures. 1988. 70. PF L'analyse d'algorithmes ou le risque calculé. 1986. 72. PF. Random tree models in the analysis of algorithms. 1988. 88. PF and Michèle Soria. Gaussian limiting distributions for the number of components in combinatorial structures. 1990. 91. Jeffrey Scott Vitter and PF. Average-case analysis of algorithms and data structures. 1990. 95. PF and Michèle Soria. The cycle construction.1991. 97. PF. Analytic analysis of algorithms. 1992. 99. PF. Introduction à l'analyse d'algorithmes. 1992. 112. PF and Michèle Soria. General combinatorial schemas: Gaussian limit distributions and exponential tails. 1993. 130. RS and PF. An Introduction to the Analysis of Algorithms. 1996. 131. RS and PF. Introduction à l'analyse des algorithmes. 1996. 171. PF. Singular combinatorics. 2002. 175. Philippe Chassaing and PF. Hachage, arbres, chemins & graphes. 2003. 189. PF, Éric Fusy, Xavier Gourdon, Daniel Panario, and Nicolas Pouyanne. A hybrid of Darboux's method and singularity analysis in combinatorial asymptotics. 2006. 192. PF. Analytic combinatorics—a calculus of discrete structures. 2007. 201. PF and RS. Analytic Combinatorics. 2009. Analysis of Algorithms Pioneering research by Knuth put the study of the performance of computer programs on a scientific basis. “As soon as an Analytic Engine exists, it will necessarily guide the future course of the science.
    [Show full text]