Theoretical Computer Science


Book Description

Juraj Hromkovic takes the reader on an elegant route through the theoretical fundamentals of computer science. The author shows that theoretical computer science is a fascinating discipline, full of spectacular contributions and miracles. The book also presents the development of the computer scientist's way of thinking as well as fundamental concepts such as approximation and randomization in algorithmics, and the basic ideas of cryptography and interconnection network design.




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.




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







Basic Category Theory for Computer Scientists


Book Description

Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories. Category theory is a branch of pure mathematics that is becoming an increasingly important tool in theoretical computer science, especially in programming language semantics, domain theory, and concurrency, where it is already a standard language of discourse. Assuming a minimum of mathematical preparation, Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories. Four case studies illustrate applications of category theory to programming language design, semantics, and the solution of recursive domain equations. A brief literature survey offers suggestions for further study in more advanced texts. Contents Tutorial • Applications • Further Reading




Handbook of Theoretical Computer Science


Book Description

"Of all the books I have covered in the Forum to date, this set is the most unique and possibly the most useful to the SIGACT community, in support both of teaching and research.... The books can be used by anyone wanting simply to gain an understanding of one of these areas, or by someone desiring to be in research in a topic, or by instructors wishing to find timely information on a subject they are teaching outside their major areas of expertise." -- Rocky Ross, "SIGACT News" "This is a reference which has a place in every computer science library." -- Raymond Lauzzana, "Languages of Design" The Handbook of Theoretical Computer Science provides professionals and students with a comprehensive overview of the main results and developments in this rapidly evolving field. Volume A covers models of computation, complexity theory, data structures, and efficient computation in many recognized subdisciplines of theoretical computer science. Volume B takes up the theory of automata and rewriting systems, the foundations of modern programming languages, and logics for program specification and verification, and presents several studies on the theoretic modeling of advanced information processing. The two volumes contain thirty-seven chapters, with extensive chapter references and individual tables of contents for each chapter. There are 5,387 entry subject indexes that include notational symbols, and a list of contributors and affiliations in each volume.




Design Theory and Computer Science


Book Description

The author examines logic and methodology of design from the perspective of computer science. Computers provide the context for this examination both by discussion of the design process for hardware and software systems and by consideration of the role of computers in design in general. The central question posed by the author is whether or not we can construct a theory of design.




Theoretical Computer Science for the Working Category Theorist


Book Description

Using basic category theory, this Element describes all the central concepts and proves the main theorems of theoretical computer science. Category theory, which works with functions, processes, and structures, is uniquely qualified to present the fundamental results of theoretical computer science. In this Element, readers will meet some of the deepest ideas and theorems of modern computers and mathematics, such as Turing machines, unsolvable problems, the P=NP question, Kurt Gödel's incompleteness theorem, intractable problems, cryptographic protocols, Alan Turing's Halting problem, and much more. The concepts come alive with many examples and exercises.