Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

CHAPTER THREE

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

solved by a human using a precisely defined sequence of instructions,


either
 Knowing a problem is undecidable helps avoid wasted work

 Can extend Church-Turing thesis to semidecidability (e.g. theorem

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!

 A decision problem is decidable if there exists a decision algorithm for it.

 Otherwise it is undecidable.
Halt and Loop Problems
 The problem is classifying Turing computations that do not obviously halt or

loop.

 This will forever be impossible to do unless some computing device is more

powerful than a Turing machine.

 The behavior of Turing machines is too subtle for us to fully understand.

 There is no easy way to distinguish the beginning of a halting computation from

the beginning of a looping computation.


Halt State in Turing Machine
 The machine halts in a state if there is no transition.

 Accepting states have no outgoing transitions,

 The machine halts and accept

Regular Languages:

 A language is regular if it can be expressed in terms of regular expression.

 Regular Languages are the most restricted types of languages and are

accepted by finite automata.


The halting problem
 The halting problem is one of the most famous problems in computer science, because it
has profound implications on the theory of computability and on how we use computers in
every day practice. The problem can be phrased:
 Given a description of a Turing machine and its initial input, determine whether the
program, when executed on this input, ever halts (completes).
 The alternative is that it runs forever without halting.

 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

input in all cases is simply to run it and see if it halts.

 If it does halt, then you know it halts.

 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.

 The halting problem is therefore called non-computable or undecidable.


Unsolvable Problems
Definition
 A computational problem that cannot be solved by a Turing Machine
 The associated function is called un-computable function.
 In simple word, if it is impossible to develop an algorithm for a given problem, then such
problem is unsolvable problem.
 A problem in computer science is considered as unsolved when no solution is known;
or when experts in the field disagree about the proposed solution.
For example: natural language processing algorithms, ….
One of the well known unsolvable problems is the halting problem.
Church’s thesis estimates as the problem that can be solved by human can also solved with
Turing machine
Context Free Languages (CLF)
 In formal language theory, a context free language is a language which is generated
by a context free grammar (CFG).
In short,
Undividable problems
If the problem cannot be divided
into some small problems, it is
undividable problem.
Take as a Reading assignment to detail it.

You might also like