Turing Machines

San Skulrattanakulchai

April 8, 2019

Anatomy of Deterministic Turing Machines (DTMs)

TM Computation

  1. Changing to a new state (or staying in the same state)
  2. Erasing the old symbol and then writing a new symbol on the current cell (or leaving it untouched)
  3. Moving the read/write head into the left or right neighboring cell

Formal Definition

TM Diagram

Definitions

Definitions continued

TM variants

Multitape TMs

Formal Definition

Power of computation

Theorem. Every language that is recognized by some \(k\)-DTM can be recognized by some 1-DTM.
Proof idea. Simulation.

Non-deterministic TM

Definitions

Non-deterministic TM continued

TM Enumerators

Enumerators continued

Why TR is called Recursively Enumerable

Theorem. A language is Turing-recognizable if and only if it is the language of some enumerator.

Proof. First let \(A\) be a TR language with TM \(M\) recognizing it. Let’s called the strings of \(\Sigma^*\) in string order \(w_1\), \(w_2\), \(w_3\), … Construct an enumerator \(E\), where

E = "for i = 1, 2, 3, ... do {
       for j = 1 to i do {
         erase tape, write w_j, and simulate M on w_j for i steps;
         if M accepts w_j within these i steps then {
           erase tape, write w_j, and enter q_{print};
         }
       }
     }"

We see that any string \(w\) is printed by \(E\) iff \(w\in A\).

Now let \(A\) be the language of an enumerator \(E\). Construct a TM \(M\) that works like this

M = "On input w:
       simulate E on a blank tape,
       each time E enters q_{print}, with say x on the tape,
       we compare x with w, if they are equal then accept."

We see that a string \(w\) is printed by \(E\) iff \(w\in A\). \[\tag*{$\Box$}\]

Church-Turing Thesis

Encoding