0% found this document useful (0 votes)
48 views17 pages

Introduction (Autosaved)

This document provides an overview of the Models of Computation course. It discusses the different types of automata including finite automata, pushdown automata, and Turing machines. Turing machines are the most powerful as they can solve more computational problems than finite automata or pushdown automata due to having random access memory. The document also notes there are some computational problems that are believed to require exponential time even for Turing machines.

Uploaded by

Hashem Amareen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views17 pages

Introduction (Autosaved)

This document provides an overview of the Models of Computation course. It discusses the different types of automata including finite automata, pushdown automata, and Turing machines. Turing machines are the most powerful as they can solve more computational problems than finite automata or pushdown automata due to having random access memory. The document also notes there are some computational problems that are believed to require exponential time even for Turing machines.

Uploaded by

Hashem Amareen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

CSCI-2400

Models of Computation

Fall 2006 Costas Busch - RPI 1


General Info for the Course

Instructor: Moorthy

Syllabus: tentative class schedule


can be found in course web page
http://www.cs.rpi.edu/~moorthy/Courses/CSCI2400

Book: Introduction to the


Theory of Computation
Michael Sipser, 2nd edition
Fall 2006 Costas Busch - RPI 2
Outline of the course contents

Computation

CPU memory

Fall 2006 Costas Busch - RPI 3


temporary memory

input
External CPU
Memory
output

Program memory

Fall 2006 Costas Busch - RPI 4


Example: f ( x)  x
3

temporary memory

input
CPU
output
Program memory
compute xx
compute x x
2
Fall 2006 Costas Busch - RPI 5
f ( x)  x 3

temporary memory
input
x2
CPU
output
Program memory
compute xx
compute x x
2
Fall 2006 Costas Busch - RPI 6
temporary memory f ( x)  x 3
z  2*2  4
f ( x)  z * 2  8
input
x2
CPU
output
Program memory
compute xx
compute x x
2
Fall 2006 Costas Busch - RPI 7
temporary memory f ( x)  x 3
z  2*2  4
f ( x)  z * 2  8
input
x2
CPU
f ( x)  8
Program memory output
compute xx
compute x x
2
Fall 2006 Costas Busch - RPI 8
Automaton
temporary memory

Automaton
input
CPU
output

Program memory

Fall 2006 Costas Busch - RPI 9


Automaton
temporary memory

Automaton
input

output
transition

state

Fall 2006 Costas Busch - RPI 10


Different Kinds of Automata
Automata are distinguished by the temporary memory

• Finite Automata: no temporary memory

• Pushdown Automata: stack

• Turing Machines: random access memory

Fall 2006 Costas Busch - RPI 11


Finite Automaton

temporary memory

input
Finite
Automaton
output

Example: Elevators, Vending Machines


(small computing power)
Fall 2006 Costas Busch - RPI 12
Pushdown Automaton
Temp.
memory Stack Push, Pop

Pushdown input

Automaton
output

Example: Compilers for Programming Languages


(medium computing power)
Fall 2006 Costas Busch - RPI 13
Turing Machine

Temp.
memory Random Access Memory

input
Turing
Machine
output

Examples: Any Algorithm


(highest computing power)
Fall 2006 Costas Busch - RPI 14
Power of Automata
Simple More complex Hardest
problems problems problems

Finite Pushdown Turing


Automata Automata Machine

Less power More power


Solve more
computational problems
Fall 2006 Costas Busch - RPI 15
Turing Machine is the most powerful
computational model known

Question: Are there computational


problems that a Turing Machine
cannot solve?

Answer: Yes (unsolvable problems)

Fall 2006 Costas Busch - RPI 16


Time Complexity of Computational Problems:

NP-complete problems
Believed to take exponential
time to be solved

P problems
Solved in polynomial time

Fall 2006 Costas Busch - RPI 17

You might also like