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

Turing machine has multiple tapes, each with its read write head.

It uses basic concept of Turing


machine with the modification of transition function as follows.
Q x ∑n=Q , ┌n, {L, R}n
For example, if n = 2, with a current configuration shown in Figure 6.8, then
δ(q0, 0, 1) = (q1, X, Y, L, R)

In 1936, A method named as lambda-calculus was created by Alonzo Church


in which the Church numerals are well defined, i.e. the encoding of natural
numbers. Also in 1936, Turing machines (earlier called theoretical model for
machines) was created by Alan Turing, that is used for manipulating the
symbols of string with the help of tape.
Church Turing Thesis :
Turing machine is defined as an abstract representation of a computing device
such as hardware in computers. Alan Turing proposed Logical Computing
Machines (LCMs), i.e. Turing’s expressions for Turing Machines. This was
done to define algorithms properly. So, Church made a mechanical method
named as ‘M’ for manipulation of strings by using logic and mathematics.
This method M must pass the following statements:
● Number of instructions in M must be finite.
● Output should be produced after performing finite number of steps.
● It should not be imaginary, i.e. can be made in real life.
● It should not require any complex understanding.
Using these statements Church proposed a hypothesis called Church’s
Turing thesis that can be stated as: “The assumption that the intuitive notion
of computable functions can be identified with partial recursive functions.”
In 1930, this statement was first formulated by Alonzo Church and is usually
referred to as Church’s thesis, or the Church-Turing thesis. However, this
hypothesis cannot be proved.
The recursive functions can be computable after taking following assumptions:
1. Each and every function must be computable.
2. Let ‘F’ be the computable function and after performing some
elementary operations to ‘F’, it will transform a new function ‘G’ then
this function ‘G’ automatically becomes the computable function.
3. If any functions that follow above two assumptions must be states as
computable function.
Turing Machine Halting Problem
Does the Turing machine finish computing of the string w in a finite number of steps?
The answer must be either yes or no.
At first, we will assume that such a Turing machine exists to solve this problem and then
we will show it is contradicting itself. We will call this Turing machine as a Halting
machine that produces a ‘yes’ or ‘no’ in a finite amount of time. If the halting machine
finishes in a finite amount of time, the output comes as ‘yes’, otherwise as ‘no’. The
following is the block diagram of a Halting machine

Now we will design an inverted halting machine (HM)’ as −


● If H returns YES, then loop forever.
● If H returns NO, then halt.
Language Decidability

A decision problem P is decidable if the language L of all yes instances to P is


decidable.
For a decidable language, for each input string, the TM halts either at the accept or
the reject state

Find out whether the following problem is decidable or not −


Is a number ‘m’ prime?

Solution
Prime numbers = {2, 3, 5, 7, 11, 13, …………..}
Divide the number ‘m’ by all the numbers between ‘2’ and ‘√m’ starting from ‘2’.
If any of these numbers produce a remainder zero, then it goes to the “Rejected
state”, otherwise it goes to the “Accepted state”. So, here the answer could be
made by ‘Yes’ or ‘No’.
Hence, it is a decidable problem.
Given a regular language L and string w, how can we check if w ∈ L?
Take the DFA that accepts L and check if w is accepted

Undecidable Languages
For an undecidable language, there is no Turing Machine which accepts the
language and makes a decision for every input string w (TM can make decision for
some input string though). A decision problem P is called “undecidable” if the
language L of all yes instances to P is not decidable. Undecidable languages are
not recursive languages, but sometimes, they may be recursively enumerable
languages.
Turing Machines with Stay Option Allow the tape head to stay in place after writing. Modify
Jump Turing machine
The standard Turing machine’s head can move only one step to the right or
left, but in case of jumping Turing machine the head can move not only just
one step to the left or right but it can move more the one, i.e., 2, 3, 4, 5, 6, …
so on, or it can jump to any cell to the right or left of the input tape.
f: Q × X --> Q × X × {Left_shift, Right_shift} x {n}
n, is the number of steps that we wish to move to the right or left. But still the
languages accepted by Turing machine remains the same.

Turing Machine with Semi-infinite tape:


We know that Turing machine has an infinite input tape with extends in both
the directions (left and right) infinitely. So now if we restrict it to extend only in
one direction and not in both the directions, i.e., we make the tape to be semi
infinite, then also the number of languages accepted by the Turing machine
remains same.
P class and NP class
P-Class
● The class P consists of those problems that are solvable in polynomial time,
i.e. these problems can be solved in time O(n k) in the worst-case, where k is
constant.
● These types of problems are called tractable and others are called intractable
or super polynomial.
● Generally, an algorithm is a polynomial time algorithm, if there exists a
polynomial p(n) such that the algorithm can solve any instance of size n in a
time O(p(n)).
● Problems requiring Ω(n 50) time to solve are essentially intractable for large n.
Most known polynomial time algorithms run in time O(n^k) for a fairly low
value of k.
● The advantage in the class of polynomial-time algorithms is that all
reasonable deterministic single processor models of computation can be
simulated on each other with at most a polynomial slow-d.
NP-Class
● The class NP consists of problems that are verifiable in polynomial time. NP is
a class of decision problems for which it is easy to check the correctness of a
given answer, with the aid of a little extra information. Hence, we are not
asking for a way to find a solution, but only to verify that a solution really is
correct.
● Every problem in the given class can be solved in exponential time using
exhaustive search.
Example
Consider an example to check if a problem is in P class or NP class
Step 1 − If a problem is in class P, it is nothing but we can find a solution to that type
of problem in polynomial time.
Step 2 − If a problem is in class NP, it is nothing but that we can verify a possible
solution in polynomial time.
Step 3 − Consider another way, NP means that a problem is Nondeterministically
Polynomial. Specifically, that means that if you could build a machine that had the
ability to try all the possible solutions of your problem at once, it could finish in
polynomial time.
We know this to be true because we know that we can verify a possible solution in
polynomial time, and what that machine is basically doing is trying to verify (test) all
of the potential answers to the problem at the same time.
Step 4 − So, if you can solve a problem in polynomial time, you can certainly verify
that your answer is correct in polynomial time, can't you? Sure, if you can prove that
your algorithm is correct and that it can find an answer in polynomial time, which it
must to be in P.

Quantum computers
are machines that use the properties of quantum physics to store data and perform computations. This
can be extremely advantageous for certain tasks where they could vastly outperform even our best
supercomputers.

Classical computers, which include smartphones and laptops, encode information in binary “bits” that
can either be 0s or 1s. In a quantum computer, the basic unit of memory is a quantum bit or qubit.

Qubits are made using physical systems, such as the spin of an electron or the orientation of a photon.
These systems can be in many different arrangements all at once, a property known as
quantum superposition. Qubits can also be inextricably linked  together using a phenomenon
called quantum entanglement. The result is that a series of qubits can represent different things
simultaneously.

For instance, eight bits is enough for a classical computer to represent any number between 0 and 255.
But eight qubits is enough for a quantum computer to represent every number between 0 and 255 at
the same time. A few hundred entangled qubits would be enough to represent more numbers than
there are atoms in the universe.
Post Correspondence Problem is a popular undecidable problem that was introduced by Emil Leon
Post in 1946. It is simpler than Halting Problem.
In this problem we have N number of Dominos (tiles). The aim is to arrange tiles in such order that
string made by Numerators is same as string made by Denominators.
In simple words, lets assume we have two lists both containing N words, aim is to find out
concatenation of these words in some sequence such that both lists yield same result.

You might also like