Models of Computation 1 Outline of the course

  • Slides: 17
Download presentation
Models of Computation 1

Models of Computation 1

Outline of the course contents Computation CPU memory 2

Outline of the course contents Computation CPU memory 2

temporary memory input CPU output Program memory 3

temporary memory input CPU output Program memory 3

Example: temporary memory input CPU Program memory output compute 4

Example: temporary memory input CPU Program memory output compute 4

temporary memory input CPU Program memory output compute 5

temporary memory input CPU Program memory output compute 5

temporary memory input CPU Program memory output compute 6

temporary memory input CPU Program memory output compute 6

temporary memory input CPU Program memory output compute 7

temporary memory input CPU Program memory output compute 7

Automaton temporary memory Automaton input CPU output Program memory 8

Automaton temporary memory Automaton input CPU output Program memory 8

Automaton temporary memory Automaton input output transition state 9

Automaton temporary memory Automaton input output transition state 9

Different Kinds of Automata are distinguished by the temporary memory • Finite Automata: no

Different Kinds of Automata are distinguished by the temporary memory • Finite Automata: no temporary memory • Pushdown Automata: stack • Turing Machines: random access memory 10

Finite Automaton temporary memory Finite Automaton input output Example: Elevators, Vending Machines (small computing

Finite Automaton temporary memory Finite Automaton input output Example: Elevators, Vending Machines (small computing power) 11

Pushdown Automaton Temp. memory Stack Pushdown Push, Pop input Automaton output Example: Compilers for

Pushdown Automaton Temp. memory Stack Pushdown Push, Pop input Automaton output Example: Compilers for Programming Languages (medium computing power) 12

Turing Machine Temp. memory Random Access Memory input Turing Machine output Examples: Any Algorithm

Turing Machine Temp. memory Random Access Memory input Turing Machine output Examples: Any Algorithm (highest computing power) 13

Power of Automata Simple problems More complex problems Hardest problems Finite Pushdown Automata Turing

Power of Automata Simple problems More complex problems Hardest problems Finite Pushdown Automata Turing Automata Machine Less power More power Solve more computational problems 14

Turing Machine is the most powerful computational model known Question: Are there computational problems

Turing Machine is the most powerful computational model known Question: Are there computational problems that a Turing Machine cannot solve? Answer: Yes (unsolvable problems) 15

Time Complexity of Computational Problems: NP-complete problems Believed to take exponential time to be

Time Complexity of Computational Problems: NP-complete problems Believed to take exponential time to be solved P problems Solved in polynomial time 16

 ﺍﻟﻤﻤﻠﻜﺔ ﺍﻟﻌﺮﺑﻴﺔ ﺍﻟﺴﻌﻮﺩﻳﺔ ﻭﺯﺍﺭﺓ ﺍﻟﺘﻌﻠﻴﻢ ﺟﺎﻣﻌﺔ ﺃﻢ ﺍﻟﻘﺮﻯ ﺍﻟﻜﻠﻴﺔ ﺍﻟﺠﺎﻣﻌﻴﺔ ﺃﻀﻢ ﻗﺴﻢ ﺍﻟﺤﺎﺳﺐ

ﺍﻟﻤﻤﻠﻜﺔ ﺍﻟﻌﺮﺑﻴﺔ ﺍﻟﺴﻌﻮﺩﻳﺔ ﻭﺯﺍﺭﺓ ﺍﻟﺘﻌﻠﻴﻢ ﺟﺎﻣﻌﺔ ﺃﻢ ﺍﻟﻘﺮﻯ ﺍﻟﻜﻠﻴﺔ ﺍﻟﺠﺎﻣﻌﻴﺔ ﺃﻀﻢ ﻗﺴﻢ ﺍﻟﺤﺎﺳﺐ ﺍﻵﻠﻲ Kingdom of Saudi Arabia Ministry of Education Umm Al. Qura University Adam University College Computer Science Department This Summary is an Online Content from this Book: Michael Sipser, Introduction to the Theory of Computation, 2 nd. Edition It is edited for Computation Theory Course 68034153 by: T. Mariah Sami Khayat Teacher Assistant @ Adam University College For Contacting: mskhayat@uqu. edu. sa 17