- 106 Views
- Uploaded on
- Presentation posted in: General

Turing Machine

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Turing Machine

CSE-501

Formal Language & Automata Theory

Aug-Dec,2010

ALAK ROY.

Assistant Professor

Dept. of CSE

NIT Agartala

?

?

Context-Free Languages

Regular Languages

Languages accepted by

Turing Machines

Context-Free Languages

Regular Languages

Tape

......

......

Read-Write head

Control Unit

No boundaries -- infinite length

......

......

Read-Write head

The head moves Left or Right

......

......

Read-Write head

The head at each time step:

1. Reads a symbol

2. Writes a symbol

3. Moves Left or Right

Example:

Time 0

......

......

Time 1

......

......

1. Reads

2. Writes

3. Moves Left

Time 1

......

......

Time 2

......

......

1. Reads

2. Writes

3. Moves Right

Input string

Blank symbol

......

......

head

Head starts at the leftmost position

of the input string

Input string

Blank symbol

......

......

head

Remark: the input string is never empty

Write

Read

Move Left

Move Right

Example:

Time 1

......

......

current state

Time 1

......

......

Time 2

......

......

Example:

Time 1

......

......

Time 2

......

......

Example:

Time 1

......

......

Time 2

......

......

Turing Machines are deterministic

Not Allowed

Allowed

No lambda transitions allowed

Example:

......

......

Allowed:

No transition

for input symbol

The machine haltsif there are

no possible transitions to follow

Example:

......

......

No possible transition

HALT!!!

Allowed

Not Allowed

- Final states have no outgoing transitions
- In a final state the machine halts

If machine halts

in a final state

Accept Input

If machine halts

in a non-final state

or

If machine enters

an infinite loop

Reject Input

A Turing machine that accepts the language:

Time 0

Time 1

Time 2

Time 3

Time 4

Halt & Accept

Rejection Example

Time 0

Time 1

No possible Transition

Halt & Reject

A Turing machine

for language

Time 0

Time 1

Time 2

Time 2

Time 3

Infinite loop

Time 4

Time 5

- Because of the infinite loop:
- The final state cannot be reached
- The machine never halts
- The input is not accepted

Formal Definitionsfor Turing Machines

Transition Function

Transition Function

Turing Machine:

Input

alphabet

Tape

alphabet

States

Transition

function

Final

states

Initial

state

blank

Instantaneous description:

Time 4

Time 5

A Move:

Time 4

Time 5

Time 6

Time 7

Equivalent notation:

Initial configuration:

Input string

For any Turing Machine

Initial state

Final state

The machine we described is the standard:

- Deterministic
- Infinite tape in both directions
- Tape is the input/output file

Computing FunctionswithTuring Machines

A function

has:

Result Region:

Domain:

A function may have many parameters:

Example:

Addition function

We prefer unary representation:

easier to manipulate with Turing machines

Integer Domain

Decimal:

5

Binary:

101

Unary:

11111

Definition:

A function is computable if

there is a Turing Machine such that:

Initial configuration

Final configuration

initial state

final state

For all

Domain

In other words:

A function is computable if

there is a Turing Machine such that:

Initial

Configuration

Final

Configuration

For all

Domain

is computable

The function

are integers

Turing Machine:

Input string:

unary

Output string:

unary

Start

initial state

The 0 is the delimiter that

separates the two numbers

Start

initial state

Finish

final state

The 0 helps when we use

the result for other operations

Finish

final state

Turing machine for function

Execution Example:

Time 0

(2)

(2)

Final Result

Time 0

Time 1

Time 2

Time 3

Time 4

Time 5

Time 6

Time 7

Time 8

Time 9

Time 10

Time 11

Time 12

HALT & accept

is computable

The function

is integer

Turing Machine:

Input string:

unary

Output string:

unary

Start

initial state

Finish

final state

Turing Machine Pseudocode for

- Replace every 1 with $

- Repeat:

- Find rightmost $, replace it with 1
- Go to right end, insert 1

Until no more $ remain

Turing Machine for

Example

Start

Finish

Block Diagram

Turing

Machine

input

output

Turing’s Thesis

Turing’s thesis:

Any computation carried out

by mechanical means

can be performed by a Turing Machine

(1930)

Computer Science Law:

A computation is mechanical

if and only if

it can be performed by a Turing Machine

There is no known model of computation

more powerful than Turing Machines

Definition of Algorithm:

An algorithm for function

is a

Turing Machine which computes

Algorithms are Turing Machines

When we say:

There exists an algorithm

We mean:

There exists a Turing Machine

that executes the algorithm

- Construct a TM to accept the set L of all strings over {0,1} ending with 010.

Yes, obviously.

Can one TM simulate every TM?

Input: < Description of some TM m, w >

Output: result of running m on w

Universal

Turing

Machine

m

Output Tape

for running

TM- m starting on tape w

w

- functional notation of UTM:
U(“m”“w”) = “m(w)”

- takes 2 arguments:
- m : a description of a Turing Machine TM
- w : description of an input string w

- have 2 properties:
- UTM halts on input “m” “w” if & only if TM halts on input “w”.

Thank you