by: er. sukhwinder kaur. computation computation algorithm algorithm objectives objectives what...

12
by: Er. Sukhwinder kaur

Upload: hilda-day

Post on 26-Dec-2015

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

by: Er. Sukhwinder kaur

Page 2: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

Computation Algorithm Objectives What do we study in Theory of Computation ? What do we study in Complexity Theory ? History of Theory of Computation

Page 3: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

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. …

Page 4: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

•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

Page 5: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

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

Page 6: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

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

Page 7: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

•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?

Page 8: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

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

Page 9: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

Analysis of algorithmsComplexity TheoryCryptography

CompilersCircuit design

Page 10: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

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.

Page 11: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

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

Page 12: By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do

Thank You