My Account Log in

1 option

What can be computed? : a practical guide to the theory of computation / John MacCormick.

De Gruyter Princeton University Press Complete eBook-Package 2018 Available online

View online
Format:
Book
Author/Creator:
MacCormick, John, 1972- author.
Language:
English
Subjects (All):
Informática.
Informática--Historia.
Informática--Filosofía.
Programación de ordenadores.
Local Subjects:
Informática.
Informática--Historia.
Informática--Filosofía.
Programación de ordenadores.
Physical Description:
1 recurso en línea (405 páginas)
Place of Publication:
Princeton, New Jersey : Princeton University Press, [2018]
Summary:
What Can Be Computed? is a uniquely accessible yet rigorous introduction to the most profound ideas at the heart of computer science. Crafted specifically for undergraduates who are studying the subject for the first time, and requiring minimal prerequisites, the book focuses on the essential fundamentals of computer science theory and features a practical approach that uses real computer programs (Python and Java) and encourages active experimentation. It is also ideal for self-study and reference. The book covers the standard topics in the theory of computation, including Turing machines and finite automata, universal computation, nondeterminism, Turing and Karp reductions, undecidability, time-complexity classes such as P and NP, and NP-completeness, including the Cook-Levin Theorem. But the book also provides a broader view of computer science and its historical development, with discussions of Turing's original 1936 computing machines, the connections between undecidability and Gödel's incompleteness theorem, and Karp's famous set of twenty-one NP-complete problems. Throughout, the book recasts traditional computer science concepts by considering how computer programs are used to solve real problems. Standard theorems are stated and proven with full mathematical rigor, but motivation and understanding are enhanced by considering concrete implementations. The book's examples and other content allow readers to view demonstrations of--and to experiment with--a wide selection of the topics it covers. The result is an ideal text for an introduction to the theory of computation.
Contents:
Overview
1. Introduction: what can and cannot be computed?
Part I: computability theory
2. What is a computer program?
3. Some impossible python programs
4. What is a computational problem?
5. Turing machines: the simplest computers
6. Universal computer programs: programs that can do anything
7. Reductions: how to prove a problem is hard
8. Nondeterminism: magic or reality?
9. Finite automata: computing with limited resources
Part II: computational complexity theory
10. Complexity theory: when efficiency does matter
11. Poly and expo: the two most fundamental complexity classes
12. PolyCheck and NPoly: hard problems that are easy to identify
13. Polynomial-time mapping reductions: proving x is as easy as proving y
14. NP-completeness: most hard problems are equally hard
Part III: origins and applications
15. The original Turing machine
16. You can't prove everything that's true
17. Karp's 21 problems
18. Conclusion: what will be computed?.
Notes:
Incluye referencias bibliográficas (páginas [373]-374) e índice
OCLC:
1354949427

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account