Professional Documents
Culture Documents
Complexity Theory Chapter Three 3 Undecidability
Complexity Theory Chapter Three 3 Undecidability
UN-DECIDABILITY
Introduction
Un-decidability is the non-existence of an algorithm or the
impossibility of proving or disproving a statement within a formal
system.
Both aspects will be considered below.
The non-existence of an algorithm for settling a given problem is often
referred to as the un-solvability of the problem.
In computability theory and computational complexity theory, an
undecidable problem is a decision problem for which it is proved to
be impossible to construct an algorithm that always leads to a correct
yes-or-no answer.
Consequence of Church-Turing thesis:
If a problem cannot be solved by a Turing machine then it cannot be
proving)
Decision Problem
A decision problem is a restricted type of an algorithmic problem where for each input
there are only two possible outputs.
A decision problem is a function that associates with each input instance of the
problem a truth value true or false.
A decision algorithm is an algorithm that computes the correct truth value for each
input instance of a decision problem.
The algorithm has to terminate on all inputs!
Otherwise it is undecidable.
Halt and Loop Problems
The problem is classifying Turing computations that do not obviously halt or
loop.
Regular Languages:
Regular Languages are the most restricted types of languages and are
Here we are asking not a simple question about a prime number or a palindrome, but we
are instead turning the tables and asking a Turing machine to answer a question about
another Turing machine.
The only general way to know for sure if a given program will halt on a particular
If it doesn't halt, however, you may never know if it will eventually halt.
The language consisting of all Turing machine descriptions paired with all possible
input streams on which those Turing machines will eventually halt, is not
recursive.