Vous êtes sur la page 1sur 22

CSE-309

Theory of Automata

1/16/2017 Prof. Busch - LSU 1


Pragmatics
Pre-Requisites
No Pre-Requisite

Text book
Introduction to Computer Theory, Daniel
I.A. Cohen

Introduction to the Theory of Computation,


Michael Sipser

8/23/2016 Prof. Busch - LSU 2


Quizzes
3 Quizez (n-1)

Marks Distribution
30 % Term exams, 30% Final, 10 % Quizzes,
10% Assignments, 10% Project, 10% Reading
Assignments

8/23/2016 Prof. Busch - LSU 3


Automata, Computability & Complexity

Complexity Theory: Is problem easy or


hard?

Computation Theory: Is problem computable


or not?

Automata Theory: Definitions & properties


of mathematical models of computation.

8/23/2016 Prof. Busch - LSU 4


Theory of Automata
Automata is plural of Automaton (Greek
work) means Something which works
automatically or Self-operating machine.

8/23/2016 Prof. Busch - LSU


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?
8/23/2016 Prof. Busch - LSU 6
A widely accepted model of computation

CPU memory

8/23/2016 Prof. Busch - LSU 7


The different components of memory

temporary memory

input
CPU
output

Program memory

8/23/2016 Prof. Busch - LSU 8


3
Example: f ( x) x

temporary memory

input
CPU
output
Program memory
compute xx
2
compute x x
8/23/2016 Prof. Busch - LSU 9
3
f ( x) x

temporary memory
input
x2
CPU
output
Program memory
compute xx
2
compute x x
8/23/2016 Prof. Busch - LSU 10
3
temporary memory f ( x) x
z 2*2 4
f ( x) z * 2 8
input
x2
CPU
output
Program memory
compute xx
2
compute x x
8/23/2016 Prof. Busch - LSU 11
3
temporary memory f ( x) x
z 2*2 4
f ( x) z * 2 8
input
x2
CPU
f ( x) 8
Program memory output
compute xx
2
compute x x
8/23/2016 Prof. Busch - LSU 12
Automaton
temporary memory

Automaton
input
CPU
output

Program memory

8/23/2016 Prof. Busch - LSU 13


Automaton
temporary memory

Automaton
input

output
transition

state

CPU+ProgramMem = States + Transitions


8/23/2016 Prof. Busch - LSU 14
Different Kinds of Automata
Automata are distinguished by the temporary memory

Finite Automata: no temporary memory

Pushdown Automata: stack

Turing Machines: random access memory

8/23/2016 Prof. Busch - LSU 15


Memory affects computational power:

More flexible memory

results to
The solution of more computational
problems

8/23/2016 Prof. Busch - LSU 16


Finite Automaton

temporary memory

input
Finite
Automaton
output
Example: Elevators, Vending Machines,
Lexical Analyzers
(small computing power)
8/23/2016 Prof. Busch - LSU 17
Pushdown Automaton
Temp.
memory Stack Push, Pop

Pushdown input

Automaton
output

Example: Parsers for Programming Languages


(medium computing power)
8/23/2016 Prof. Busch - LSU 18
Turing Machine

Temp.
memory Random Access Memory

input
Turing
Machine
output

Examples: Any Algorithm


(highest known computing power)
8/23/2016 Prof. Busch - LSU 19
Power of Automata
Simple More complex Hardest
problems problems problems

Finite Pushdown Turing


Automata Automata Machine

Less power More power


Solve more
computational problems
8/23/2016 Prof. Busch - LSU 20
Turing Machine is the most powerful
known computational model

Question: can Turing Machines solve


all computational problems?

Answer: NO
(there are unsolvable problems)
8/23/2016 Prof. Busch - LSU 21
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

8/23/2016 Prof. Busch - LSU 22

Vous aimerez peut-être aussi