undecidable problems about turing machines
TRANSCRIPT
UNDECIDABLE PROBLEMS ABOUT TURING MACHINES
halting problem
Introduction
How to decide a problem if it is undecided ?
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.
Turing Machine Model
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.
Turing machine undecidable problem
They are several problems, that a Turing Machine cannot solve such as Halting problem P=NP Membership etc.
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.
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.
Issue
HOW TO DETERMINE THAT THE HALTING PROBLEM IS UNDECIDEBLE
Contradiction theory
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.
(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
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)
M
w
YES M halts oninputw
Mdoesn’t halt on inputwNO
Suppose that is decidableTMHALT
Decider for
TMHALT
wM,
Input string
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
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
The answer THERE IS NO MATHEMATIC TO DO IT ,
THAT’S WHY IS CALL UNDECIDEBLE