Consider the following problems: (i) Whether a finite automaton halts on all inputs? (ii) Whether a given Context Free Language is Regular? (iii) Whether a Turing Machine computes the product of two numbers?
Only (ii) and (iii) are undecidable problems
In the realm of computer science, particularly in the theory of computation, problems are classified as either decidable or undecidable. A problem is said to be decidable if there exists an algorithm (a Turing Machine that halts on all inputs) that can determine the answer (yes or no) for any instance of the problem. Conversely, a problem is undecidable if no such algorithm exists. Let's analyze each of the given problems:
A finite automaton (FA) is a very simple model of computation. When a finite automaton processes an input string, it reads the symbols one by one and transitions between states. Since the input string is finite, the FA will always finish reading the string and reach a final state (which determines if the string is accepted or rejected). A finite automaton does not have the ability to loop indefinitely on a finite input string or perform computations that would prevent it from finishing processing the input. Therefore, a finite automaton always finishes processing any given finite input string. The question "halts on all inputs" can be interpreted as "does it always finish processing any input?". For a finite automaton, the answer is always yes.
Thus, the problem of determining whether a finite automaton halts on all inputs is decidable. An algorithm simply needs to confirm that the given machine is indeed a finite automaton (which is clear from its definition); if it is, the answer is yes.
Context Free Languages (CFLs) are a class of languages that are more powerful than Regular Languages. Every regular language is also a context-free language, but the reverse is not true (e.g., $\text{L} = \{a^n b^n \mid n \ge 0\}$ is CFL but not regular). The question asks if, given a description of a Context Free Language (like a Context Free Grammar or a Pushdown Automaton), there is an algorithm to determine if this language is also a Regular Language.
This problem is a classic example of an undecidable problem in formal language theory. There is no general algorithm that can take any Context Free Grammar or Pushdown Automaton and definitively tell you whether the language it generates is regular or not.
A Turing Machine (TM) is a universal model of computation. The Halting Problem for Turing Machines (determining if a given TM halts on a given input) is famously undecidable. Problem (iii) is asking about the specific function that a Turing Machine computes. Given a Turing Machine, can we determine if it computes the multiplication function for all valid inputs?
This problem falls into the category of problems asking about the non-trivial functional behavior of a Turing Machine. According to Rice's Theorem (which states that any non-trivial property of the language accepted by a Turing Machine is undecidable), properties about the function computed by a Turing Machine are generally undecidable. Determining whether a TM computes the product of two numbers is a non-trivial property of the function it computes.
Therefore, the problem of determining whether a Turing Machine computes the product of two numbers is undecidable.
Let's summarize the decidability of each problem:
| Problem | Model | Decidability |
|---|---|---|
| (i) Whether a finite automaton halts on all inputs? | Finite Automaton (FA) | Decidable |
| (ii) Whether a given Context Free Language is Regular? | Context Free Language (CFL) | Undecidable |
| (iii) Whether a Turing Machine computes the product of two numbers? | Turing Machine (TM) | Undecidable |
Based on this analysis, problems (ii) and (iii) are undecidable, while problem (i) is decidable.
From our analysis:
Therefore, only problems (ii) and (iii) are undecidable.
| Concept | Description | Example (Decidable/Undecidable) |
|---|---|---|
| Decidable Problem | A problem for which an algorithm exists that always halts and gives a yes/no answer for any input instance. | Is a string accepted by a DFA? (Decidable) |
| Undecidable Problem | A problem for which no such algorithm exists. | The Halting Problem for Turing Machines (Undecidable) |
| Finite Automaton (FA) | Simple model, limited memory, always halts on finite input. | Membership problem for FA (Decidable) |
| Context Free Language (CFL) | Recognized by Pushdown Automata, generated by CFGs. More powerful than Regular Languages. | Is a CFL empty? (Decidable) |
| Turing Machine (TM) | Universal model of computation, can simulate any algorithm. Can potentially loop infinitely. | Halting Problem for TM (Undecidable) |
| Rice's Theorem | Any non-trivial property of the language recognized by a Turing Machine is undecidable. (Related to functional properties too). | Does a TM accept a finite language? (Undecidable) |
Understanding decidability is central to the theory of computation. Here are some additional points:
Consider two lists A and B of three strings on {0, 1}
X:
List A | List B |
1 | 111 |
10111 | 10 |
10 | 0 |
Y:
List A | List B |
10 | 101 |
011 | 11 |
101 | 011 |
Which of the following is true?
Consider the following statements:
S 1: These exists no algorithm for deciding if any two Turing machines M 1and M 2accept the same language.
S 2: Let M 1and M 2be arbitrary Turing machines. The problem to determine L(M 1) ⊆ L(M 2) is undecidable.
Which of the statements is (are) correct?Which of the following problems is/are decidable problem(s) (recursively enumerable) on a Turing machine M?
(a) G is a CFG with L(G) = ϕ
(b) There exist two TMs M1 and M2 such that L(M) ⊆{L(M1) U L(M2)} = language of all TMs
(c) M is a TM that accepts w using at most 2 |w| cells of tape
Given below are two statements:
Statement I: The problem "Is L 1∧ L 2 = ϕ?" is undecidable for context sensitive languages L 1 and L 2.
Statement II: The problem "Is WϵL?" is decidable for context sensitive language L, (where W is a string).
In the light of the above statements, choose the correct answer from the options given below
Let G 1and G 2be arbitrary context free languages and R an arbitrary regular language.
Consider the following problems:
(A) Is L(G 1) = L(G 2)?
(B) Is L(G 2) ≤ L(G 1)?
(C) Is L(G 1) = R?
Which of the problems are undecidable ?
Choose the correct answer from the options given below: