17. Decidability
Mar 1/3, 2022
Turing-acceptable
Language
-
Turing-acceptable == Turing-recognizable == recursively enumerable
-
for any input string
: then halts in accept state then halts in non-accept state or loops forever
-
For Turing-acceptable language it is possible, for some input, the machine enters an infinite loop
Decidability
Definition. A language
Also known as recursive languages.
Decidable means there exists an algorithm that always terminates on any input.
Turing-decidable, for any input
Observation: every decidable language is Turing-acceptable.
Sometimes it is convenient to have Turing machines with single accept or reject states:
- These are the only halting states that result to possible halting configurations
- We can convert any TM to have single accept and reject states (similar to NFA)
- in a decider, in finite time, either accept/reject will eventually be reached
A computational problem is decidable (solvable) if the corresponding language is decidable.
Decidable Examples
Show that the following are decidable.
Example: is number
Decider for primes: on input number
The decider TM can be designed based on the algorithm.
Example: Does DFA
Corresponding language: v = {
Decider for Empty
Example: Does DFA
Corresponding language: Finite
Decider for Finite
Example: Does DFA
Corresponding language: A
Decider for A
Example: Do DFAs
Corresponding language: Equal
Decider for Equal
Reduce the problem to emptyset problem:
When the machines accept the same language:
- Show that
=> - show that
=> - Then
.
Also show opposite:
- Show that
=> - show that
=> - Then
.
Therefore we only need to determine
Complement
Theorem. If language
Proof: build a Turing machine
Alternative proof: build Turing machine