Automata and Computability: A Programmer's Perspective
Autor Ganesh Gopalakrishnanen Limba Engleză Hardback – 22 feb 2019
Features
- Uses illustrations, engaging examples, and historical remarks to make the material accessible
- Incorporates modern/handy ideas, such as derivative-based parsing and a Lambda reducer showing the universality of Lambda calculus
- Shows how to "sculpt" automata by making the regular language conversion pipeline available through simple command interface
- Uses a mini functional programming (FP) notation consisting of lambdas, maps, filters, and set comprehension (supported in Python) to convey math through PL constructs that are succinct and resemble math
- Provides all concepts are encoded in a compact Functional Programming code that will tesselate with Latex markup and Jupyter widgets in a document that will accompany the books. Students can run code effortlessly href="https://github.com/ganeshutah/Jove.git/"here.
Preț: 498.53 lei
Preț vechi: 642.26 lei
-22% Nou
Puncte Express: 748
Preț estimativ în valută:
95.44€ • 103.41$ • 79.70£
95.44€ • 103.41$ • 79.70£
Carte tipărită la comandă
Livrare economică 12-26 decembrie
Preluare comenzi: 021 569.72.76
Specificații
ISBN-13: 9781138552425
ISBN-10: 1138552429
Pagini: 348
Ilustrații: 11 Tables, black and white; 114 Illustrations, black and white
Dimensiuni: 210 x 280 x 26 mm
Greutate: 1.1 kg
Ediția:1
Editura: CRC Press
Colecția Chapman and Hall/CRC
Locul publicării:Boca Raton, United States
ISBN-10: 1138552429
Pagini: 348
Ilustrații: 11 Tables, black and white; 114 Illustrations, black and white
Dimensiuni: 210 x 280 x 26 mm
Greutate: 1.1 kg
Ediția:1
Editura: CRC Press
Colecția Chapman and Hall/CRC
Locul publicării:Boca Raton, United States
Cuprins
I Foundations
1 What Machines Think
2 Defining Languages: Patterns in Sets of Strings
3 Kleene Star: Basic Method of defining Repetitious Patterns
II Machines
4 Basics of DFAs
5 Designing DFA
6 Operations on DFA
7 Nondeterministic Finite Automata
8 Regular Expressions and NFA
9 NFA to RE conversion
10 Derivative-based Regular Expression Matching
11 Context-Free Languages and Grammars
12 Pushdown Automata
13 Turing Machines
III Concepts
14 Interplay Between Formal Languages
15 Post Correspondence, and Other Undecidability Proofs
16 NP-Completeness
17 Binary Decision Diagrams as Minimal DFA
18 Computability using Lambdas
1 What Machines Think
2 Defining Languages: Patterns in Sets of Strings
3 Kleene Star: Basic Method of defining Repetitious Patterns
II Machines
4 Basics of DFAs
5 Designing DFA
6 Operations on DFA
7 Nondeterministic Finite Automata
8 Regular Expressions and NFA
9 NFA to RE conversion
10 Derivative-based Regular Expression Matching
11 Context-Free Languages and Grammars
12 Pushdown Automata
13 Turing Machines
III Concepts
14 Interplay Between Formal Languages
15 Post Correspondence, and Other Undecidability Proofs
16 NP-Completeness
17 Binary Decision Diagrams as Minimal DFA
18 Computability using Lambdas
Notă biografică
Ganesh Gopalakrishnan is a professor in the Computer Science Department at the University of Utah.
Recenzii
"I have taught formal languages and automata theory for decades, and I have seen many, perhaps most, students struggle with the material because it is so abstract. I've often thought that computer science students would learn it better by programming it. Indeed, that's how I really learned these topics -- by implementing constructions directly in practical compiler generation and formal verification tools to do my research. Prof. Gopalakrishnan's approach is to have students learn by doing, while still going into greater depth than some purely pencil-and-paper courses."
-Prof. David L. Dill, Donald E. Knuth Professor, Emeritus, in the School of Engineering, Stanford University
"It is probably a safe assumption to make these days that many, if not most, computer science undergraduates have had programming experience, but few of them know the language of mathematics. Professor Gopalakrishnan’s book builds on the student’s experience in programming and animates the theory of automata, formal languages, and computability with actual programs which the student can easily modify and play with. Doing is the best way of learning. This book should enable the typical computer science student to acquire a more visceral, and therefore in the long run more useful, understanding of the theory."
-Dr. Ching-Tsun Chou, Silicon Architecture Engineer, Intel Corporation
"As a long-time researcher in programming languages and high-performance computing, I find the coverage of Automata and Computability in this book illuminating from a foundational perspective as well as timely from a practical perspective. In addition to classical topics such as automata theory and parsing, it allows a student to interactively study via Jupyter notebooks a wide range of topics including grammar disambiguation, Boolean satisfiability, Post Correspondence and Lambda Calculus --- all important topics for students who aspire to become proficient in c
-Prof. David L. Dill, Donald E. Knuth Professor, Emeritus, in the School of Engineering, Stanford University
"It is probably a safe assumption to make these days that many, if not most, computer science undergraduates have had programming experience, but few of them know the language of mathematics. Professor Gopalakrishnan’s book builds on the student’s experience in programming and animates the theory of automata, formal languages, and computability with actual programs which the student can easily modify and play with. Doing is the best way of learning. This book should enable the typical computer science student to acquire a more visceral, and therefore in the long run more useful, understanding of the theory."
-Dr. Ching-Tsun Chou, Silicon Architecture Engineer, Intel Corporation
"As a long-time researcher in programming languages and high-performance computing, I find the coverage of Automata and Computability in this book illuminating from a foundational perspective as well as timely from a practical perspective. In addition to classical topics such as automata theory and parsing, it allows a student to interactively study via Jupyter notebooks a wide range of topics including grammar disambiguation, Boolean satisfiability, Post Correspondence and Lambda Calculus --- all important topics for students who aspire to become proficient in c
Descriere
This class-tested textbook provides a comprehensive and accessible introduction to the theory of automata and computation. It incorporates modern/handy ideas, such as derivative-based parsing and a Lambda reducer showing the universality of Lambda calculus.