undecidable problems about turing machines

16
UNDECIDABLE PROBLEMS ABOUT TURING MACHINES halting problem

Upload: norazizan-muhamad

Post on 26-Aug-2014

186 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Undecidable Problems About Turing Machines

UNDECIDABLE PROBLEMS ABOUT TURING MACHINES

halting problem

Page 2: Undecidable Problems About Turing Machines

Introduction

How to decide a problem if it is undecided ?

Page 3: Undecidable Problems About Turing Machines

Turing machine A Turing machine is a primitive, yet

general, computer with an infinite tape. In each “cycle”:• the control unit reads the current tape

symbol,• writes a symbol on the tape,• moves one position to the left or right,

and• switches to the next state.

The last three actions depend on the current state and tape symbol.

Page 4: Undecidable Problems About Turing Machines

Turing Machine Model

Page 5: Undecidable Problems About Turing Machines

Turing machine undecidable problem

Turing machine is a 7-tuple [1]: (Q, , , , q0, B, F), where Q, , , are all finite sets and:

 Q is the set of states. is the input alphabet not containing the special blank symbol. is the tape alphabet not containing the special blank symbol,

where . : Q x Q x x {L, R} is the transition function.q0 Q is the start or initial state.B is the special blank symbol ( if nothing else is specified),

B .F Q is the set of final, halt or accepting state.

Page 6: Undecidable Problems About Turing Machines

Turing machine undecidable problem

They are several problems, that a Turing Machine cannot solve such as Halting problem P=NP Membership etc.

Page 7: Undecidable Problems About Turing Machines

Halting Problem Difficulty with the Turing Machine

Not guaranteed to terminate Don’t know when it will terminate

Still an unsolved problem Is there a method for analyzing a Turing

machine to determine if and when it will terminate its computation?

It is a famous problem because it, became the first problem that proof to be undecideble through an algorithm.

Page 8: Undecidable Problems About Turing Machines

Halting Problem (Introduction) The Halting Problem for Turing machines is to decide

whether an arbitrary Turing machine M eventually halts on an arbitrary input x.

As a Turing machine M can be coded by a finite string—say, code(M)—one can ask whether there is a Turing machine Mhalt which, given code(M) and the input x, eventually stops and produces 1 if M(x)stops, and 0 if M(x) does not stop.

Turing’s famous result states that this problem cannot be solved by any Turing machine, i.e. there is no such Mhalt. Halting computations can be recognised by simply running them; the main difficulty is to detect non-halting programs.

Page 9: Undecidable Problems About Turing Machines

Issue

HOW TO DETERMINE THAT THE HALTING PROBLEM IS UNDECIDEBLE

Contradiction theory

Page 10: Undecidable Problems About Turing Machines

Theorem 1: The Halting problem of Turing machine is unsolvable.  Proof: The proof is by contradiction, that is,

assume that the Halting problem is solvable and then find a contradiction.

 If the Halting problem is solvable, then there must be a Turing machine to decide the Halting problem (Church thesis), that is, the Turing machine H exists.

 Then, if H can solve the Halting problem for input e(M)&x it should be able to solve the Halting problem for input e(M)&e(M).

 Then, it should be possible to construct another Turing machine H’ that accepts as input e(M) but behaves like H.

Page 11: Undecidable Problems About Turing Machines

(The halting problem is unsolvable) Theorem: is undecidable

Basic idea Suppose that is decidable; we

will prove that every decidable language is also Turing-Acceptable

A contradiction!

TMHALT

TMHALT

Page 12: Undecidable Problems About Turing Machines

Halting Problem Statement Is this machine(program) when it is

given an input it will STOP and say YES or it doesn’t STOP (infinite loop)

Input {any string} TM Output STOP and yes I accept that input DON’T STOP and it go into and

infinite loop

HOW TO DETERMINE THAT THE MECHINE WILL GO INTO THE INFINITE LOOP (in advance)

Page 13: Undecidable Problems About Turing Machines

M

w

YES M halts oninputw

Mdoesn’t halt on inputwNO

Suppose that is decidableTMHALT

Decider for

TMHALT

wM,

Input string

Page 14: Undecidable Problems About Turing Machines

haltsand accepts

LM halts on ?sYES

NOLM

Run with input

LM

reject s

accept

reject

LDecider for

s

s

sInputstring

Decider forTMHALT

s

LM

and halt

haltsand rejects

LM

and halt

and halt

Page 15: Undecidable Problems About Turing Machines

Contradiction!!!!END OF PROOF

Therefore, L is decidable

But there is a Turing-Acceptable languagewhich is undecidable.

Since is chosen arbitrarily, every Turing-Acceptable language is decidable

L

Page 16: Undecidable Problems About Turing Machines

The answer THERE IS NO MATHEMATIC TO DO IT ,

THAT’S WHY IS CALL UNDECIDEBLE