Skip to article frontmatterSkip to article content

7.1Turing Machine Acceptance Problem

The University of Melbourne

The TM Acceptance problem is as follows: given an encoding M\langle M \rangle of a Turing machine MM and an input string ww, does MM accept ww?

Equivalently, we define the language ATMA_{TM} to consist of strings M,w\langle M, w \rangle such that MM is a Turing machine and MM accepts ww.

7.1.1Universal Turing machines

The fact that we can design a Turing machine that takes as input an encoding of another Turing machine and simulate it is referred to as the “universal” nature of Turing machines. In contrast, finite automata and pushdown automata do not have this feature: there is no universal finite automaton (pushdown automaton, resp.) that can take an encoding of a finite automaton (pushdown automaton, resp.) and simulate it.

Universality also has huge practical importance. For example, your mobile phone is not a single-purpose device: by loading different apps, it can take on other functionality. Without universality, you need one device to browse the Internet, a separate one to play music, and a separate one to make calls.

7.1.2Decider for TM Acceptance too good to be true

It turns out that TM Acceptance is undecidable. Before we show that, let’s build some intuition first by showing that a decider for TM acceptance is too good to be true: using such a decider, we can turn any recognizer into a decider.