by: er. sukhwinder kaur. computation computation algorithm algorithm objectives objectives what...
TRANSCRIPT
by: Er. Sukhwinder kaur
Computation Algorithm Objectives What do we study in Theory of Computation ? What do we study in Complexity Theory ? History of Theory of Computation
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. …
•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
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
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
•What is computable, and what is not ?
•Basis of•Algorithm analysis•Complexity theory
What a computer can and cannot doAre you trying to write a non-existing program?
Can you make your program more efficient?
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
Analysis of algorithmsComplexity TheoryCryptography
CompilersCircuit design
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.
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
Thank You