Lei Bu [email protected] Preliminary Introduction to the Theory of Computation.
-
Upload
griffin-price -
Category
Documents
-
view
217 -
download
0
Transcript of Lei Bu [email protected] Preliminary Introduction to the Theory of Computation.
• This course: A study of
abstract models of computers and computation.
• Why theory, when computer field is so practical?
• Theory provides concepts and principles, for both hardware and software that help us understand the general nature of the field.
3
Why Study Automata?
A survey of Stanford grads 5 years out asked which of their courses did they use in their job.
Basics like intro-programming took the top spots, of course.
But among optional courses, formal language and automata stood remarkably high.
4
How Could That Be?
Regular expressions are used in many systems. E.g., UNIX a.*b. E.g., DTD’s describe XML tags with a RE format like
person (name, addr, child*). Finite automata model protocols, electronic circuits.
5
How? – (2)
Context-free grammars are used to describe the syntax of essentially every programming language. Not to forget their important role in describing natural
languages.
6
How? – (3)
When developing solutions to real problems, we often confront the limitations of what software can do. Undecidable things – no program whatever can do it. Intractable things – there are programs, but no fast
programs. Automata theory gives you the tools.
Outline
Part 1: Preliminaries Mathematical Knowledge String and Language
Part 2: Finite Automata and Regular Expression
Context Free Grammar and Pushdown Automata
Turing Automata
Part 3 Modeling: Transition System Petri Net Timed and Hybrid Automata Message Sequence Chart
Part 4: Tutorials Computability Model Checking Trustworthy Software
Textbook John E. Hopcroft, Rajeev Motwani, Jeffery D.Ullman. Introduction to Automata
Theory, Languages, and Computation, 3/E. Pearson Education India, 2008. (The Cinderella Book)
Referred Reading Michael Sipser. Introduction to the Theory of Computation, 2nd Edition,Course
Technology, 2005. Derick Wood. Theory of Computation. HAPPER & ROW, 1987. Doron Peled. Software Reliability Methods. Springer, 2011
WEB http://cs.nju.edu.cn/bulei/PTC15.html
Grading
Assignment 30% Distributed in Class, due in next week.
Final Exam 70%