Decidability refers to the ability to algorithmically determine the truth or falsehood of a problem or decision. In formal language theory and computational theory, a problem is said to be decidable if there exists an algorithm (a Turing machine, for instance) that can always provide an answer in a finite amount of time. Conversely, a problem is undecidable if no such algorithm exists.
In the context of formal languages, decidability typically deals with questions about the properties of languages, grammars, and automata—whether these questions can be answered algorithmically.
Here are several key problems related to formal languages and automata that have been classified as either decidable or undecidable:
Problem: Given a string and a grammar (or automaton), is the string a member of the language generated by the grammar (or accepted by the automaton)?
Decidability:
Problem: Does a given language (generated by a grammar or accepted by an automaton) contain any strings? In other words, is the language non-empty?
Decidability:
Problem: Given two grammars (or automata), are they equivalent, i.e., do they generate the same language or accept the same set of strings?
Decidability:
Problem: Does a given grammar or automaton generate/accept only a finite number of strings? In other words, is the language finite?
Decidability:
Problem: Given an automaton, is there a path from the start state to some accepting state? This is similar to checking if a state in a graph is reachable from another state.
Decidability:
Problem: Given two languages, is one language a subset of the other? In other words, does the language accepted/generated by one automaton/grammar contain the language accepted/generated by another?
Decidability:
Problem: Given two lists of strings, is there a sequence of indices such that the concatenation of strings from the first list is equal to the concatenation of strings from the second list?
Decidability: The Post Correspondence Problem is undecidable. This is a well-known example of an undecidable problem. It is closely related to the halting problem and other undecidable problems in computation.
Some problems are undecidable for general types of automata and grammars. These problems involve decision-making processes that, due to their inherent complexity, cannot always be solved algorithmically. Here are a few of the key undecidable problems:
As previously mentioned, the Post Correspondence Problem (PCP) is undecidable. It involves matching sequences of strings from two lists and is known to be undecidable in the general case.
The study of decidability is closely related to computability. A problem is considered computable (or decidable) if there exists an algorithm (or equivalently, a Turing machine) that can always decide the problem in a finite amount of time. In contrast, an undecidable problem is one for which no algorithm exists that can always give the correct answer in finite time for all possible inputs.
In computational theory:
Open this section to load past papers