Download presentation
Presentation is loading. Please wait.
1
Formal Foundations-II [Theory of Automata]
Dr. Malik Jahan Khan Assistant Professor (Computer Science)
2
Course Organization Text Book: Michael Sipser, “Introduction to
Theory of Computation”, Course Technology, MIT Weights: Homeworks Formative Quizzes Formative Midterm 15% Final Exam 75%
3
What we will do Automata = abstract computing devices
Turing studied Turing Machines (= computers) before there were any real computers We will also look at simpler devices than Turing machines (Finite State Automata, Pushdown Automata, ), and specification means, such as grammars and regular expressions. NP-hardness = what cannot be efficiently computed
4
Course Goals Provide computation Models Analyze power of Models
Answer Intractability questions: What computational problems can each model solve? Answer Time Complexity questions: How much time we need to solve the problems? Prof. Busch - LSU
5
A widely accepted model of computation
memory CPU Prof. Busch - LSU
6
The different components of memory
temporary memory input CPU output Program memory Prof. Busch - LSU
7
Example: temporary memory input CPU output Program memory compute
Prof. Busch - LSU
8
temporary memory input CPU output Program memory compute compute
Prof. Busch - LSU
9
temporary memory input CPU output Program memory compute compute
Prof. Busch - LSU
10
temporary memory input CPU Program memory output compute compute
Prof. Busch - LSU
11
Automaton temporary memory Automaton input CPU output Program memory
Prof. Busch - LSU
12
Automaton CPU+ProgramMem = States + Transitions temporary memory
input output transition state CPU+ProgramMem = States + Transitions Prof. Busch - LSU
13
Different Kinds of Automata
Automata are distinguished by the temporary memory Finite Automata: no temporary memory Pushdown Automata: stack Turing Machines: random access memory Prof. Busch - LSU
14
Memory affects computational power:
More flexible memory results to The solution of more computational problems Prof. Busch - LSU
15
Finite Automaton temporary memory input Finite Automaton output
Example: Elevators, Vending Machines, Lexical Analyzers (small computing power) Prof. Busch - LSU
16
Pushdown Automaton Stack Push, Pop input Pushdown Automaton output
Temp. memory Stack Push, Pop input Pushdown Automaton output Example: Parsers for Programming Languages (medium computing power) Prof. Busch - LSU
17
Turing Machine Random Access Memory input Turing Machine output
Temp. memory Random Access Memory input Turing Machine output Examples: Any Algorithm (highest known computing power) Prof. Busch - LSU
18
Power of Automata Finite Automata Pushdown Automata Turing Machine
Simple problems More complex problems Hardest problems Finite Automata Pushdown Automata Turing Machine Less power More power Solve more computational problems Prof. Busch - LSU
19
Turing Machine is the most powerful known computational model
Question: can Turing Machines solve all computational problems? Answer: NO (there are unsolvable problems) Prof. Busch - LSU
20
Time Complexity of Computational Problems:
P problems: (Polynomial time problems) Solved in polynomial time NP-complete problems: (Non-deterministic Polynomial time problems) Believed to take exponential time to be solved Prof. Busch - LSU
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.