Download presentation
Presentation is loading. Please wait.
Published byArnold Waters Modified over 8 years ago
1
Computation Theory Asia Mahdi
2
Textbooks Programs, Machines and Computation: An Introduction to the Theory of Computing - Authors: Keith Clark and Don Cowell – Publisher: McGraw-Hill Companies Elements of the Theory of Computation, 2/E – Authors: Harry R. Lewis, Christos H. Papadimitriou and Christos Papadimitriou – Publisher: Prentice Hall Introduction to Automata Theory, Languages, and Computation, 2/E – Authors: John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman – Publisher: Addison-Wesley An Introduction to Formal Languages and Automata, 3/E – Author: Peter Linz – Publisher: Jones and Bartlett 2
3
Syllabus of computation theory 3 1.Introduction to the Theory of Computation 2.Finite Automata 3.Regular Languages and Regular Grammars 4.Properties of Regular Languages 5.Context-Free Languages 6.Simplification of Context-Free Grammars 7.Pushdown Automata 8.Properties of Context-Free Languages 9.Turing Machines 10.An Introduction to Computational Complexity 11. NP-Complete theory
4
What is Computation? Computation can be actually defined as finding a solution to a problem from given inputs by means of an algorithm(mathematically). We study this course in order to answer the following questions: We study this course in order to answer the following questions: – What are the fundamental capabilities and limitations of computers??? – Can any problem be solved and computed by computers??? 4
5
Areas of the theory of computation Areas of the theory of computation 5
6
Classify problems as being Easy or Hard. Hard Easy 6 Which answers - What can be efficiently computed?
7
Examples of “easy” problems are Converting a decimal number to its binary presentation or vise versa. sorting a sequence of, say, 1,000,000 numbers. searching for a name in a telephone directory. computing the fastest way to drive from a place to another. Informally Informally, a problem is called “easy”, if it is efficiently solvable. 7
8
Examples of “hard” problems are time table scheduling for all courses. factoring a 300-digit integer into its prime factors. Molecular Computation Theory Quantum Computation Theory cannot be solved efficiently On the other hand, a problem is called “hard”, if it cannot be solved efficiently, 8
9
What computers can?What computers can't? UnsolvableSolvable Classify problems as being solvable or unsolvable. Time ComplexitySpace Complexity 9 Which answers - What can be computed by computers?
10
Consider a mathematical models of real computations BATERYBATERY SWITCH off on start f f input: battery, output: light bulb actions: f for “flip switch”, states: on, off bulb is on if and only if there was an odd number of flips 10 Ex1: Ex2:
11
Applications of computation theory the theory of computation provides us with many good applications. the theory of computation provides us with many good applications. Finite state machines are used in string searching algorithms, compiler design, control unit design in computer architecture, and many other modeling applications. Context free grammars and their restricted forms are the basis of compilers and parsing. NP-Complete theory helps us distinguish the tractable from the intractable. 11
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.