Download presentation
Presentation is loading. Please wait.
Published byHilda Day Modified over 9 years ago
1
by: Er. Sukhwinder kaur
2
Computation Computation Algorithm Algorithm Objectives Objectives What do we study in Theory of Computation ? What do we study in Theory of Computation ? What do we study in Complexity Theory ? What do we study in Complexity Theory ? History of Theory of Computation History of Theory of Computation
3
Computation is a general term for any type of information processing that can be represented as an algorithm precisely (mathematically). Examples: Adding two numbers in our brains, on a piece of paper or using a calculator. Converting a decimal number to its binary presentation or vise versa. Finding the greatest common divisors of two numbers. …
4
A very fundamental and traditional branch of Theory of Computation seeks: 1. A more tangible definition for the intuitive notion of algorithm which results in a more concrete definition for computation. 2. Finding the boundaries (limitations) of computation. back
5
A finite sequence of simple instructions that is guaranteed to halt in a finite amount of time. This is a very abstract definition, since: ◦ We didn’t specify the nature of this simple instructions. For example an instruction can be “increment a number by one” or “Calculate the triple integral” ◦ We didn’t specify the entity which can execute these instructions. For example is this entity a person, a computer, … If it is a computer what is the processor type? How much memory does it have? …. ? back
6
Introduce concepts in automata theory and theory of computation Identify different formal language classes and their relationships Design grammars and recognizers for different formal languages Prove or disprove theorems in automata theory using its properties Determine the decidability and intractability of computational problems back
7
What is computable, and what is not ? Basis of Algorithm analysis Complexity theory What a computer can and cannot do Are you trying to write a non-existing program? Can you make your program more efficient? back
8
What is easy, and what is difficult, to compute ? What is easy, and what is hard for computers to do? Is your cryptographic scheme safe? back
9
Analysis of algorithms Complexity Theory Cryptography Compilers Circuit design
10
1936 Alan Turing invented the Turing machine, and proved that there exists an unsolvable problem. 1940’s Stored-program computers were built. 1943 McCulloch and Pitts invented finite automata. 1956 Kleene invented regular expressions and proved the equivalence of regular expression and finite automata.
11
1956 Chomsky defined Chomsky hierarchy, which organized languages recognized by different automata into hierarchical classes. 1959 Rabin and Scott introduced nondeterministic finite automata and proved its equivalence to (deterministic) finite automata. 1950’s-1960’s More works on languages, grammars, and compilers back
12
Thank You
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.