0% found this document useful (0 votes)
7 views

Variants of TM & Undecidability

Uploaded by

mmmotwani0501
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Variants of TM & Undecidability

Uploaded by

mmmotwani0501
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Variants of Turing Machines

Universal Turing Machine


A universal Turing Machine (UTM) is a Turing Machine ™ which is a powerful or universal in the sense that it is
capable of doing anything that any other TM can do.
• In other words, the UTM should have the capability of imitating any Turing machine ‘T’ given the following
information in its tape:
• The description of ‘T’ in terms if its operation or program area of the tape (i.e. the transaction table).
• The initial configuration of the TM i.e. starting state or the current state and the symbol scanned. The processing
data to be fed to ‘T’ (data area of the tape).
• This obviously means that the UTM should have an algorithm to interpret correctly the rules of operation given
about the TM ‘T’.
• The behavior of the UTM is simple, namely, simulating ‘T’ one step at a time as follows:
• A marker to indicate the point at which the description of ‘T’ begins, and it keeps a complete account of
how the tape of ‘T’ looks likes at every instant guides it.
• Also, it remembers the state ‘T’ is in, and the symbol ‘T’ is reading. Then it simply looks at the description
of ‘T; to carry out what ‘T’ is supposed to do.
• In order to exhibit this behavior, the UTM should have a lookup facility and should perform the following
steps:
Step 1: Scan the square on the state area of the tape and read the symbol that ‘T’ reads and
initial state of ‘T’.
Step 2: Find the triplet which corresponds to the initial state and the input symbol read in step1.
(Triplet: new state, new symbol to be replaced and direction of move).
Step 3: Move the tape to reach the appropriate square in the data area, replace the symbol,
move the tape in the required direction, read the next symbol and finally reach state area and
replace the state and scanned symbols. Goto step 1.

The UTM laid the foundation for:


● Stored program computers and
● Interpretative implementation of programming languages.
Why should you study unsolvability?
• Two reasons:
• First, knowing when a problem is algorithmically unsolvable is useful
because then you realize that the problem must be simplified or
altered before you can find an algorithmic solution.
• Like any tool, computers have capabilities and limitations that must
be appreciated if they are to be used well.
• The second reason is cultural. Even if you deal with problems that
clearly are solvable, a glimpse of the unsolvable can stimulate your
imagination and help you gain an important perspective on
computation
DECIDABLE PROBLEMS CONCERNING
REGULAR LANGUAGES
• the acceptance problem for DFAs of testing whether a particular deterministic
finite automaton accepts a given string can be expressed as a language, A DFA.
• This language contains the encodings of all DFAs together with strings that the
DFAs accept. Let

• The problem of testing whether a DFA B accepts an input w is the same as the
problem of testing whether (B, w) is a member of the language ADFA.
• Similarly, we can formulate other computational problems in terms of testing
membership in a language.
• Showing that the language is decidable is the same as showing that the
computational problem is decidable.
DECIDABLE PROBLEMS CONCERNING
CONTEXT-FREE LANGUAGES
• Here, we describe algorithms to determine whether a CFG generates
a particular string and to determine whether the language of a CFG is
empty. Let

• Every context-free language is decidable.



THE HALTING PROBLEM:
• For a give configuration of a TM case can arise:
• The machine starting at this configuration will halt after a finite number of
steps.
• The machine starting at this configuration never no matter how long it runs.
• Given any TM, problem of determining whether it halts ever or not,
is called as halting problem.
• To solve the halting problem, we should have some mechanism to
which given any functional matrix, input data type and initial
configuration of the TM for which we want to detect, determines
whether the process will ever halt or not.
• Let us prove the halting problem by contradiction. Suppose that
there exists a TM ‘A’ which decides whether or not any computation
by a TM ‘T’ will ever halt, given the description ‘dT’ of ‘T’ and the tape
‘t’ of ‘T’.
• Then for every input (t, dT) to ‘A’, if ‘T’ halts for the input ‘t’, ‘A’ reaches an
“accept halt”;
• If ‘T’ does not halt for the input ‘t’, then ‘A’ reaches an “reject halt”.
• We can now construct another TM ‘B’ which takes ‘dT’ as the input
and proceed as follows:
• First it copies the input ‘dT’ and duplicates ‘dT’ on its input tape and then
takes this duplicated information tape as the input to ‘A’ with one
modification namely, whenever ‘A’ is supposed to reach an “accept halt”, ‘B’
will loop forever.
• Considering the original behavior of ‘A’, we find that ‘B’ acts as
follows. It loops if ‘T’ halts for input t = dT and halts if ‘T’ does not halt
for the input t = dT.
• Since ‘B’ itself is a TM, let us set T=B. Thus replacing ‘T’ by ‘B’ we get
that, ‘B’ halts for the input ‘dB’ if and only if ‘B’ halts for the input ‘dB’.
This is a contradiction.
• Hence we conclude that machine ‘A’ which can decide whether any
other TM will ever halt, does not exist. Therefore, halting problem is
unsolvable.
Rice‘s Theorem,

• Every nontrivial property of


the RE languages is
undecidable
Post Correspondence Problem

You might also like