theory of computation assgnment help

17
THEORY OF COMPUTATION ASSIGNMENT HELP http://www.myassignmenthelpers.com/ [email protected]

Upload: jacob-william

Post on 13-Apr-2017

274 views

Category:

Education


6 download

TRANSCRIPT

Page 1: Theory of computation Assgnment Help

THEORY OF COMPUTATION ASSIGNMENT HELP

http://www.myassignmenthelpers.com/[email protected]

Page 2: Theory of computation Assgnment Help

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.

Page 3: Theory of computation Assgnment Help

Theory of Computation• 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.

Page 4: Theory of computation Assgnment Help

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

Page 5: Theory of computation Assgnment Help

An Abstract Machine To make a more solid definition of algorithm

we need to define an abstract (general) machine which can perform any algorithm that can be executed by any computer.

Then, We need to show that indeed this machine can run any algorithm that can be executed by any other computer. Then, We can associate the notion of algorithm with this

abstract machine. We can study this machine to find the limitations of

computations. (Problems with no computation available to solve.)

Page 6: Theory of computation Assgnment Help

Turing Machine

A conceptual model for general purpose computers proposed by Alan Turing in 1936.

A Turing machine has an unlimited and unrestricted amount of memory.

A Turing machine can do everything a real computer can do.

Nevertheless there are problems that a Turing machine cannot solve.

In a real sense, these problems are beyond the theoretical limits of computations.

Page 7: Theory of computation Assgnment Help

Turing Machine SpecificationComponents of Turing Machine:

1. An unlimited length tape of discrete cells.2. A head which reads and writes on tape.3. A control device with a finite number of

states which cana) Instruct the head to read the symbol on the

tape currently under head.b) Instruct the head to write a symbol on the

cell of the tape currently under tape.c) Move the head one cell to left or right.d) Change its current state.

Page 8: Theory of computation Assgnment Help

A Turning Machine

Page 9: Theory of computation Assgnment Help

Turing Machine Instructions Instructions of Turing Machine have the

following format: (Current State, Current Symbol, Write, Move L/R or No

move, New State) Ex: (2, 0, 1, L, 3) (3, 1, blank, N, 4) (1, #, 0, R, 7)

Page 10: Theory of computation Assgnment Help

Turing Machine Instructions The interpretation of the TM (Turing

Machine) instructions: (2, 0, 1, L, 3) When Turing machine (the control unit

of TM) is at state 2 and the current tape symbol is 0, write symbol 1 at current tape cell and go to state 3.

Page 11: Theory of computation Assgnment Help

TM Conventions We always use state 1 as the initial state.

(That is the execution of the algorithm or program begins with stating of the TM being 1.

The tape is used for recording input and output, one symbol per cell. Initially, the string to serve as input to our computation is recorded beginning from the leftmost tape cell.

Initially, the position of head is at left most cell.

Page 12: Theory of computation Assgnment Help

Initial Configuration of TM

Page 13: Theory of computation Assgnment Help

The Output of TM The output of a TM program or algorithm

is the sequence of symbols on the tape when the TM halts on that program.

Page 14: Theory of computation Assgnment Help

TM Programs A Turing machine program is a set of TM

instructions. Turing machine halts on a program if

there is no instruction in the program which its current state is the current state of the machine and its current symbol is the current symbol of the tape of the machine (symbol under head of the machine).

Page 15: Theory of computation Assgnment Help

Example 1

{ (1, 1, 1, R, 2), (2, 1, 1, R, 2), (2, blank, blank, R, 3), (3, 1, blank, L, 4), (4, blank, 1, R, 2) } This program outputs the sum of two

integers m and n given as input. The numbers are in base 1 (unary notation). Examples of integers in unary notation: 1 = 1 2 = 11 3 = 111 4 = 1111 …. number n = n number of 1s.

Page 16: Theory of computation Assgnment Help

The definition of Algorithm We have reasons to believe (Although

we will not provide the reasoning here in this course) that for any algorithm (finite sequence of steps which stops in a finite amount of time) that can be executed on any machine, there is a TM algorithm (program) which can be executed on TM and performs the same action.

Page 17: Theory of computation Assgnment Help

Conclusion

Intuitive notion of Turing machine

algorithm equals algorithm

The Church-Turing Thesis