Decidability

Overview

A Turing machine that halts on all inputs is called a decider. A decider that recognizes some language is said to decide that language. A language is Turing-decidable (or decidable or recursive) if a Turing machine decides it.

regular-cfl-decidable-recognizable.png

Closure Operations

Let A and B be decidable languages. Such languages are closed under the following:

Furthermore, a language is decidable if and only if both it and its complement are Turing-recognizable.

Undecidability

A language is undecidable if no Turing machine can decide it. Proving undecidability is usually done by performing a reduction on an undecidable language.

Halting Problem

The halting problem refers to the problem of determining, from a description of an arbitrary computer program and an input, whether the program will eventually halt. In particular, it refers to the decidability of language

A={M,wM is a Turing machine and M halts on w}.

It is the classic example of an undecidable problem.

Post Correspondence Problem

Define a finite collection of dominos P as:

P={[t1b1],[t2b2],,[tnbn]}

A match is a sequence of dominos i1,i2,ik such that the strings generated by concatenating all the top symbols and all the bottom symbols are equal:

ti1ti2tik=bi1bi2bik

The post correspondence problem is the problem of determining whether such a set of dominos has a match.

Rice's Theorem

Let P be a language consisting of Turing machine descriptions. Suppose that P is:

  1. Nontrivial. It is neither empty nor the set of all TM descriptions.
  2. Extensional. If L(M1)=L(M2), then M1PM2P.

Then P is undecidable.

Powered by Forestry.md