CS-300 Theory of Computation 2nd Sem 2017 Lecture 1 1 General Info for the Course Instructor: Dr.Mohammad El-Bashir Syllabus: tentative class schedule can be found in course web page Book: Introduction to the Theory of Computation Michael Sipser, 3rd edition 2nd Sem 2017 Lecture 1 2 Outline of the course contents Computation CPU 2nd Sem 2017 Lecture 1 memory 3 temporary memory input CPU output Program memory 2nd Sem 2017 Lecture 1 4 Example: f ( x) x 3 temporary memory input CPU output Program memory 2nd Sem 2017 compute xx compute x x 2 Lecture 1 5 f ( x) x temporary memory 3 input x2 CPU output Program memory 2nd Sem 2017 compute xx compute x x 2 Lecture 1 6 temporary memory z 2*2 4 f ( x) z * 2 8 f ( x) x 3 input x2 CPU output Program memory 2nd Sem 2017 compute xx compute x x 2 Lecture 1 7 temporary memory z 2*2 4 f ( x) z * 2 8 f ( x) x 3 input x2 CPU f ( x) 8 Program memory 2nd Sem 2017 compute xx compute x x output 2 Lecture 1 8 Automaton temporary memory Automaton input CPU output Program memory 2nd Sem 2017 Lecture 1 9 Automaton temporary memory Automaton input output transition state 2nd Sem 2017 Lecture 1 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 2nd Sem 2017 Lecture 1 11 Finite Automaton temporary memory input Finite Automaton output Example: Elevators, Vending Machines (small computing power) 2nd Sem 2017 Lecture 1 12 Pushdown Automaton Temp. memory Stack Push, Pop input Pushdown Automaton output Example: Compilers for Programming Languages (medium computing power) 2nd Sem 2017 Lecture 1 13 Turing Machine Temp. memory Random Access Memory input Turing Machine output Examples: Any Algorithm (highest computing power) 2nd Sem 2017 Lecture 1 14 Power of Automata Simple problems More complex problems Hardest problems Finite Pushdown Automata Turing Automata Machine Less power More power Solve more computational problems 2nd Sem 2017 Lecture 1 15 Turing Machine is the most powerful computational model known Question: Are there computational problems that a Turing Machine cannot solve? Answer: Yes 2nd Sem 2017 (unsolvable problems) Lecture 1 16 Time Complexity of Computational Problems: NP-complete problems Believed to take exponential time to be solved P problems Solved in polynomial time 2nd Sem 2017 Lecture 1 17
© Copyright 2026 Paperzz