Introduction
Introduction
Theory of Computation
1
Outline of the course contents
Computation
CPU memory
2
temporary memory
input
CPU
output
Program memory
3
Example:
temporary memory
input
CPU
output
Program memory
compute
compute
4
temporary memory
input
CPU
output
Program memory
compute
compute
5
temporary memory
input
CPU
output
Program memory
compute
compute
6
temporary memory
input
CPU
compute
7
Automaton
temporary memory
Automaton
input
CPU
output
Program memory
8
Automaton
temporary memory
Automaton
input
output
transition
state
9
Different Kinds of Automata
Automata are distinguished by the temporary memory
10
Finite Automaton
temporary memory
input
Finite
Automaton
output
Pushdown input
Automaton
output
Temp.
memory Random Access Memory
input
Turing
Machine
output
14
Power of Automata
Simple More complex Hardest
problems problems problems
16
Time Complexity of Computational Problems:
NP-complete problems
Believed to take exponential
time to be solved
P problems
Solved in polynomial time
17
Some Questions
Q1: How do you prove that a language is
regular?
A1: By presenting an FA, , satisfying
.
Q2: Why is it important?
A2: Recognition of a regular language requires a
controller with bounded Memory.
Q3: How do you prove that a language is not
regular?
A3: Hard! to be answered on Week3 of the
course.
18
Wrap up
In this talk we:
1. Motivated the course.
2. Know different type of Automata
3. Learned how to deal with construction of
automata and how to come up with a
correctness argument.
19