A Basis for Theoretical Computer Science


Book Description

Computer science seeks to provide a scientific basis for the study of inform a tion processing, the solution of problems by algorithms, and the design and programming of computers. The last forty years have seen increasing sophistication in the science, in the microelectronics which has made machines of staggering complexity economically feasible, in the advances in programming methodology which allow immense programs to be designed with increasing speed and reduced error, and in the development of mathematical techniques to allow the rigorous specification of program, process, and machine. The present volume is one of a series, The AKM Series in Theoretical Computer Science, designed to make key mathe matical developments in computer science readily accessible to under graduate and beginning graduate students. Specifically, this volume takes readers with little or no mathematical background beyond high school algebra, and gives them a taste of a number of topics in theoretical computer science while laying the mathematical foundation for the later, more detailed, study of such topics as formal language theory, computability theory, programming language semantics, and the study of program verification and correctness. Chapter 1 introduces the basic concepts of set theory, with special emphasis on functions and relations, using a simple algorithm to provide motivation. Chapter 2 presents the notion of inductive proof and gives the reader a good grasp on one of the most important notions of computer science: the recursive definition of functions and data structures.




The Nature of Computation


Book Description

Computational complexity is one of the most beautiful fields of modern mathematics, and it is increasingly relevant to other sciences ranging from physics to biology. But this beauty is often buried underneath layers of unnecessary formalism, and exciting recent results like interactive proofs, phase transitions, and quantum computing are usually considered too advanced for the typical student. This book bridges these gaps by explaining the deep ideas of theoretical computer science in a clear and enjoyable fashion, making them accessible to non-computer scientists and to computer scientists who finally want to appreciate their field from a new point of view. The authors start with a lucid and playful explanation of the P vs. NP problem, explaining why it is so fundamental, and so hard to resolve. They then lead the reader through the complexity of mazes and games; optimization in theory and practice; randomized algorithms, interactive proofs, and pseudorandomness; Markov chains and phase transitions; and the outer reaches of quantum computing. At every turn, they use a minimum of formalism, providing explanations that are both deep and accessible. The book is intended for graduate and undergraduate students, scientists from other areas who have long wanted to understand this subject, and experts who want to fall in love with this field all over again.




Computational Complexity


Book Description

New and classical results in computational complexity, including interactive proofs, PCP, derandomization, and quantum computation. Ideal for graduate students.




Physics and Theoretical Computer Science


Book Description

Aims to reinforce the interface between physical sciences, theoretical computer science, and discrete mathematics. This book assembles theoretical physicists and specialists of theoretical informatics and discrete mathematics in order to learn about developments in cryptography, algorithmics, and more.




Funding a Revolution


Book Description

The past 50 years have witnessed a revolution in computing and related communications technologies. The contributions of industry and university researchers to this revolution are manifest; less widely recognized is the major role the federal government played in launching the computing revolution and sustaining its momentum. Funding a Revolution examines the history of computing since World War II to elucidate the federal government's role in funding computing research, supporting the education of computer scientists and engineers, and equipping university research labs. It reviews the economic rationale for government support of research, characterizes federal support for computing research, and summarizes key historical advances in which government-sponsored research played an important role. Funding a Revolution contains a series of case studies in relational databases, the Internet, theoretical computer science, artificial intelligence, and virtual reality that demonstrate the complex interactions among government, universities, and industry that have driven the field. It offers a series of lessons that identify factors contributing to the success of the nation's computing enterprise and the government's role within it.







Algorithms and Complexity


Book Description

This first part presents chapters on models of computation, complexity theory, data structures, and efficient computation in many recognized sub-disciplines of Theoretical Computer Science.




Computability, Complexity, and Languages


Book Description

This introductory text covers the key areas of computer science, including recursive function theory, formal languages, and automata. Additions to the second edition include: extended exercise sets, which vary in difficulty; expanded section on recursion theory; new chapters on program verification and logic programming; updated references and examples throughout.




Advanced Topics in Bisimulation and Coinduction


Book Description

Coinduction is a method for specifying and reasoning about infinite data types and automata with infinite behaviour. In recent years, it has come to play an ever more important role in the theory of computing. It is studied in many disciplines, including process theory and concurrency, modal logic and automata theory. Typically, coinductive proofs demonstrate the equivalence of two objects by constructing a suitable bisimulation relation between them. This collection of surveys is aimed at both researchers and Master's students in computer science and mathematics and deals with various aspects of bisimulation and coinduction, with an emphasis on process theory. Seven chapters cover the following topics: history, algebra and coalgebra, algorithmics, logic, higher-order languages, enhancements of the bisimulation proof method, and probabilities. Exercises are also included to help the reader master new material.




Universal Algebra and Applications in Theoretical Computer Science


Book Description

Over the past 20 years, the emergence of clone theory, hyperequational theory, commutator theory and tame congruence theory has led to a growth of universal algebra both in richness and in applications, especially in computer science. Yet most of the classic books on the subject are long out of print and, to date, no other book has integrated these theories with the long-established work that supports them. Universal Algebra and Applications in Theoretical Computer Science introduces the basic concepts of universal algebra and surveys some of the newer developments in the field. The first half of the book provides a solid grounding in the core material. A leisurely pace, careful exposition, numerous examples, and exercises combine to form an introduction to the subject ideal for beginning graduate students or researchers from other areas. The second half of the book focuses on applications in theoretical computer science and advanced topics, including Mal'cev conditions, tame congruence theory, clones, and commutators. The impact of the advances in universal algebra on computer science is just beginning to be realized, and the field will undoubtedly continue to grow and mature. Universal Algebra and Applications in Theoretical Computer Science forms an outstanding text and offers a unique opportunity to build the foundation needed for further developments in its theory and in its computer science applications.