Fact-checked by Grok 2 weeks ago

Universal Turing machine

A universal Turing machine (UTM), also known as a universal computing machine, is a theoretical introduced by British mathematician in his 1936 paper "On Computable Numbers, with an Application to the ," capable of simulating the behavior of any other given its formal description as input. The UTM operates by taking as input an encoded representation of a target —referred to as its "standard description"—along with the input data for that machine, and then executing the simulated step by step on its own tape. This design allows the UTM to mimic the exact sequence of states, tape manipulations, and head movements of the target machine, effectively universalizing the concept of mechanical . Turing's UTM builds on his earlier definition of a standard Turing machine, which consists of an infinite tape, a read-write head, and a of states with transition rules, but extends it to demonstrate that no specialized is needed for different computations—a single, fixed machine suffices if programmable. The input to the UTM is structured such that the standard description includes the machine's states (m-configurations), symbols, and instructions, often delimited by markers like double colons, enabling the UTM to interpret and apply these rules iteratively. This process involves the UTM maintaining a representation of the target machine's tape and configuration on its own tape, updating them according to the encoded transitions until the computation halts or continues indefinitely. The significance of the UTM lies in its proof that a general-purpose device can perform any algorithmic task that is computable, provided it receives the appropriate , which underpins the of modern computers and the Church-Turing thesis asserting the equivalence of mechanical computation models. By showing the existence of such a simulator, Turing resolved key questions in the foundations of mathematics, including the undecidability of the , while establishing as a field. Furthermore, the UTM's fixed set of instructions—independent of the tasks it simulates—highlights the power of programmability, influencing subsequent developments in , such as the and register machines.

Introduction and History

Definition and Overview

A is an abstract consisting of an infinite tape divided into cells that can hold symbols from a , a read/write head that moves left or right along the tape, a of internal states including a start state and halting states, and a transition function that specifies the next state, symbol to write, and head movement based on the current state and symbol read. This model, introduced by , provides a formal for understanding the limits of mechanical computation. The (UTM) is a specific capable of simulating the behavior of any other , given an encoded description of that target machine and its input as on the UTM's . In operation, the UTM reads the encoded description—typically a sequence representing the target machine's states, symbols, and transition rules—along with the input for the target machine, then systematically interprets and executes these instructions to replicate the exact sequence of configurations and output that the target machine would produce. This simulation process treats the target machine's program as interchangeable , allowing the UTM to mimic arbitrary computations without modification to its own structure. The UTM embodies the concept of , demonstrating that a single fixed can perform any that is describable by a , thereby establishing the universality of the model in . proposed the UTM in his paper "On Computable Numbers, with an Application to the ," where it served as the first formal model of a general-purpose computer capable of executing any algorithmic process through programmable instructions.

Historical Development

The concept of the Universal Turing Machine (UTM) originated in Alan Turing's seminal 1936 paper, "On Computable Numbers, with an Application to the ," where he introduced a theoretical device capable of simulating the behavior of any other given its description as input, thereby addressing Hilbert's by demonstrating the limits of mechanical computation. Independently, Emil Post in 1936 formulated a similar universal system based on general recursive functions, which was shown to be equivalent to Turing's model. Turing's UTM formalized the idea of a general-purpose computing device, encoding both the machine's state transitions and tape symbols into a single tape, allowing it to execute arbitrary computations through a fixed set of instructions. This work built on earlier efforts in , including Alonzo Church's , introduced in 1932 as part of a foundational system for logic and further developed in 1936 as a foundation for effective calculability, with Stephen Kleene demonstrating its equivalence to Turing machines by showing that lambda-definable functions align with Turing-computable ones. In 1937, Turing issued a correction to his original paper, rectifying minor errors in the UTM's construction, such as adjustments to the encoding scheme for machine descriptions to ensure precise simulation without ambiguity in state transitions. These refinements solidified the UTM's role in proving key undecidability results, like the non-existence of an to solve the for all inputs. The UTM's influence extended to practical computing architecture during and after . , aware of Turing's ideas through wartime collaborations including a 1943 visit to , developed the stored-program concept—conceptually akin to the UTM—in his 1945 "First of a Report on the ," which outlined a design where instructions and data reside in the same memory, enabling flexible reconfiguration, though without direct incorporation of the UTM simulator. Postwar developments further echoed this universality: in 1951, proposed microprogramming as a method to implement complex instructions via simpler, stored sequences, effectively layering a universal interpreter over hardware much like the UTM. This approach anticipated reduced instruction set computing (RISC) designs, as Turing's own 1940s (ACE) blueprint emphasized minimal, high-speed instructions that prefigured RISC principles of simplicity and efficiency. By 1956, advanced the by constructing a UTM with only two internal states, posing the challenge of minimizing universal machines while preserving their generality.

Formal Foundations

Mathematical Definition

A Turing machine is formally defined as a 7-tuple M = (Q, \Sigma, \Gamma, \delta, q_0, B, F), where Q is a of states, \Sigma is the finite input , \Gamma is the finite tape with \Sigma \subseteq \Gamma and a blank symbol B \in \Gamma, \delta: Q \times \Gamma \to Q \times \Gamma \times \{L, R\} is the partial transition function specifying the next state, symbol to write, and head movement (left or right), q_0 \in Q is the initial state, and F \subseteq Q is the set of accepting (or halting) states. This standard model provides the foundation for the (UTM), which extends it by incorporating an input format that encodes both the description of an arbitrary and its input data. The universal U is itself a whose alphabet \Gamma_U is fixed and includes symbols sufficient to encode and represent the states, symbols, and directions of arbitrary target machines during , in addition to standard symbols. Its transition \delta_U: Q_U \times \Gamma_U \to Q_U \times \Gamma_U \times \{L, R, N\} (where N denotes no movement) is designed to interpret the encoded input on its , systematically simulating the behavior of any given M by decoding instructions and updating a simulated and head position. This interpretation occurs through a fixed set of rules that process the encoded machine description alongside the input, effectively treating the as a programmable medium for . The universality of U is captured by the theorem that for any M with encoded description \langle M \rangle (a or number representing M's ) and any input x \in \Sigma^*, the computation U(\langle M \rangle, x) halts and accepts M(x) does, producing the same output. A proof sketch proceeds by showing that U maintains and evolves a complete of M at each step: starting from the initial (q_0, B^{k} x B^{\infty}) for some k, U decodes the relevant transition from \langle M \rangle, applies it to the simulated tape symbols and state, and advances to the next , ensuring exact replication of M's execution until halting. This preserves the halting behavior since U's rules are deterministic and finite per step. Encoding Turing machines for input to U relies on a Gödel numbering scheme, where the finite description of M—including its , , and transitions—is mapped to a unique or string over a fixed , such as assigning numerical values to symbols (e.g., 1 for one state/symbol, 2 for another) and combining them via a computable . This representation allows any M to be treated as data on U's , enabling the universality without requiring U to have infinitely many states. Universal Turing machines compute precisely the class of partial recursive functions, which are the functions obtainable from basic functions (, , ) via , , and minimization; this equivalence establishes that the UTM model captures all effectively computable partial functions.

Encoding Turing Machines

To encode an arbitrary M for input to a universal Turing machine (UTM), its description must be represented as a finite over a fixed , typically {0, 1}, allowing the UTM to interpret and simulate M's behavior. This process begins with the action representation, where M's finite set of Q = \{q_1, \dots, q_n\} and tape \Gamma = \{S_0, S_1, \dots, S_m\} (with S_0 as the blank) are enumerated, and the transition function is specified as a of tuples. Each entry maps a current state-symbol pair (q_i, S_j) to an action: a symbol to print S_k, a head movement direction D \in \{L, R, N\} (left, right, or none), and a next state q_l, often denoted as (S_k, D, q_l). This tabular form ensures completeness by including entries for all possible pairs, with undefined transitions leading to a halting state. In Alan Turing's original scheme from 1936, transitions are formalized as quintuples q_i S_j S_k D q_l, where the machine scans symbol S_j in state q_i, prints S_k, moves the head in direction D, and enters state q_l, with "N" for no movement in some variants. These quintuples form the "standard description" (S.D.) of M, a sequence separated by semicolons, prefixed with the initial state and suffixed with the final (halting) state; for instance, a simple machine might yield an S.D. like "q_1 S_1 S_0 R q_2; q_2 S_0 S_1 L q_1". Turing further converts the S.D. to a "description number" (D.N.) by mapping symbols to digits—A for states (1), C for tape symbols (2), D for directions (3), L (4), R (5), N (6), and semicolon (7)—yielding a large integer that uniquely identifies M, such as 3133253117 for a basic transition sequence. For tape input to the UTM, which operates over a alphabet, the action table or S.D. is translated into a , often using a structured with and delimiters to handle finite but variable sizes. A common encoding prefixes the number of states n as $0^n 1, followed by the number of symbols m as $0^m 1, then lists initial and halting states (e.g., $0^{q_0} 1 for state q_0 = 1), and appends transitions as substrings like $0^p 1 0^a 1 0^q 1 0^b 1 D for \delta(p, a) = (q, b, D), where p, a, q, b are indices starting from 0, and D is encoded as 0 for L, 1 for R (for models without N; N would require additional encoding such as 2). Delimiters such as a special symbol (e.g., 11 or #, represented in ) separate the description \langle M \rangle from the input x, forming \langle M \rangle \# x; with leading zeros ensures uniform length where needed, while the overall structure \langle M \rangle = (state list)(symbol list)(initial/halting)(transition list) follows strict rules to preserve order. This allows the UTM to parse \langle M \rangle by scanning and matching patterns against its own fixed transitions. Encoding challenges arise primarily from variable-length descriptions, as machines differ in states, symbols, and transitions, requiring a prefix-free or self-delimiting to prevent misinterpretation during . is avoided by injecting length indicators (e.g., unary counts via $0^k 1) and validation rules in the UTM, ensuring it halts or rejects invalid encodings, though this adds overhead to the . Turing noted practical limits, such as human memory constraining the number of states and symbols to finite, describable sets, to maintain .

Operational Aspects

Simulation Process

The universal Turing machine (UTM) simulates an arbitrary M on an input x by processing the encoded description \langle M \rangle and x provided on its input , thereby replicating M's step by step. Upon starting, the UTM parses \langle M \rangle, which encodes M's of states, alphabet, transition function, initial state, blank symbol, and halting states, along with the initial input x. This parsing involves scanning the to identify and store these components in a workable form on the UTM's , often using a fixed encoding scheme that maps M's symbols and states to blocks or sequences on the UTM's . To simulate M's configuration, the UTM initializes a of M's by copying x onto a designated portion of its own , typically marking the simulated contents as a linear sequence of symbols with the head position indicated by a special marker (such as a pointer or ). The initial state of M is also encoded and placed adjacent to this simulated section, ensuring the UTM can track the current state, head location, and symbols collectively as the "." Throughout the simulation, the UTM maintains this by updating the symbols, shifting the head marker left or right as needed, and replacing the state encoding after each step, all while using additional for temporary computations like searching the transition . For each simulation step, the UTM locates the current and the under the simulated head, then scans its to search the encoded table of M for a matching entry. This search typically involves rewinding to the beginning of the , comparing the current - pair against each encoded (e.g., by marking and matching sequences), and identifying the corresponding action: the new to write, the direction to move the head (left or right), and the next . Once found, the UTM applies the by erasing the old and writing the new one at the head position, adjusting the head marker accordingly, and updating the state encoding; if no matching exists, it indicates a halt. This iterative process repeats, with the UTM returning to a standard "search" configuration after each update. The UTM handles input by initially reading \langle M, x \rangle from its tape, where x becomes the starting contents of the simulated tape, and processes \langle M \rangle to set up the transition rules. Output is produced when the simulated M reaches a halting state, at which point the UTM stops its iteration and leaves the final simulated tape contents (the result of M on x) on its F-squares or designated output area, effectively transferring M's output. If M halts in an accepting state, the UTM accepts; otherwise, it rejects or simply halts without acceptance. The high-level algorithm for the simulation can be outlined in pseudocode as follows:
Input: Tape containing <M, x>

1. Parse <M> to extract states Q, alphabet Γ, transition function δ, initial state q0, blank symbol B, halting states F.
2. Initialize simulated tape T with contents x (padded with blanks B), simulated head at leftmost position of x, current state q = q0.
3. While q ∉ F:
   a. Read current symbol s = T[head].
   b. Search encoded δ for entry matching (q, s) → (q', s', D), where D is direction (L or R).
   c. If no match, halt (simulating M's undefined behavior).
   d. Write s' to T[head].
   e. If D = R, move head right; else move head left (extend tape with B if needed).
   f. Set q = q'.
4. Halt with final T as output.
This abstracts the tape-scanning mechanics inherent in the UTM's single-tape .

Efficiency and Complexity

The of a M by a universal Turing machine U incurs computational overhead in both time and space, reflecting the resources required to and execute M's behavior. For a target machine M that runs in N steps, the standard single-tape requires O(N \log N) steps on U, primarily due to the logarithmic cost of searching and updating positions on the simulated . This bound arises from the need to manage tape movements efficiently, avoiding quadratic slowdowns in naive implementations. In terms of space complexity, the universal simulation uses O(N) additional space beyond the input, accounting for the encoding of M's description and the representation of the simulated tape contents. This linear overhead ensures that space-bounded computations of M can be preserved up to constant factors in the universal setting. Several factors influence the overall efficiency of the simulation, including the tape alphabet size |\Gamma| of M, the number of states |Q|, and the length of the encoding of M's transition function. Larger values increase the time needed to decode transitions and manage symbols during each simulated step. A more precise time bound for simulating M in time T is O(T \cdot |Q| \cdot |\Gamma| \cdot \log T), where the |Q| \cdot |\Gamma| term reflects the cost of table lookups in the encoded transition function, and \log T captures tape traversal overhead. Optimizations are possible with multi-tape universal Turing machines, which can simulate an arbitrary k-tape machine in O(T \log T) time, reducing the overhead by leveraging additional tapes for separate storage of the machine description, input, and simulated tape. This improvement is crucial for establishing tight hierarchies in .

Variants and Minimalism

Smallest Universal Machines

One of the earliest significant constructions of a small universal Turing machine was developed by in 1962, featuring 7 states and 4 symbols, resulting in a total of 28 state-symbol pairs. This machine simulates 2-tag systems, a method that reduces the complexity of encoding arbitrary Turing machines into a compact form. Minsky's design marked a milestone in minimizing the resources required for universality, demonstrating that universal computation could be achieved with relatively few components. In the , Yurii Rogozhin advanced this field by constructing several small universal Turing machines, including a notable 4-state, 6-symbol machine with 24 state-symbol pairs. Rogozhin's machines, detailed in his 1996 survey, primarily rely on simulations of tag systems or Post normal systems to establish universality, allowing for efficient encoding of target machines on the tape. These constructions further lowered the barriers for small universal devices, with the (4,6) machine using only 22 transition instructions. Construction techniques for minimal universal Turing machines often involve cyclic tag systems, where words are processed in a looping manner to mimic steps without excessive state overhead. A prominent example is the , proved weakly universal by in 2004 through its ability to simulate a cyclic tag system with production rule p=2. Weak universality here means the machine can perform universal given specific infinite patterns on the tape, differing slightly from strong universality that requires finite, blank-initial tapes. Proving universality for such small machines presents significant challenges, as it typically requires demonstrating simulation of a known universal system, like a tag system or another , while accounting for potential halting behaviors or undecidability issues. These proofs often involve intricate encodings and verification of polynomial-time simulation, making manual or computational exhaustive search impractical for even modest sizes. The metric of total state-symbol pairs provides a standard for comparison, highlighting progress in minimization. The table below summarizes key historical and notable small universal Turing machines, focusing on standard and weakly universal examples that establish scale.
YearConstructorStatesSymbolsProductNotes
1962Minsky7428Simulates 2-tag systems
1996Rogozhin462422 instructions; tag simulation
2004 (Rule 110)N/A2N/AWeakly universal CA equivalent
2007Neary & 6424Bi-tag system simulation
2007 (Wolfram)236Smallest known; compiler proof
No smaller standard universal Turing machines have been discovered since the 2007 proof of Wolfram's 2-state, 3-symbol machine, which remains the record for minimal product despite ongoing research into 2-state variants with expanded alphabets.

Stateless and Multi-Head Variants

Stateless variants of universal Turing machines deviate from the standard model by eliminating internal control states, instead encoding the machine's "state" information in the configuration of the tape symbols or the relative positions of multiple heads. In such constructions, the machine operates with a single internal state, relying on the current symbols under the heads or colored tape segments to determine the next action, such as writing a symbol or moving the heads. This approach demonstrates that internal states are not essential for universality, as the tape can serve as the memory for control flow. Equivalence to the standard Turing machine model is established through simulations where the stateless machine encodes the simulated machine's state as a special symbol or head position marker on the tape, allowing it to mimic any computation while incurring only polynomial time overhead. A notable early exploration of related minimal designs appears in Shannon's construction, where a 2-head Turing machine using 6 tape symbols achieves universality equivalent to the standard single-head model with arbitrary states and symbols. In this setup, the two heads scan the tape simultaneously, with the pair of symbols they read jointly determining the transition, effectively simulating state information through symbol combinations without additional internal states. The equivalence proof involves encoding the standard machine's transition table into the tape alphabet, allowing the 2-head machine to step through the simulation by moving heads to locate and update relevant tape segments, preserving the computability of all recursive functions. Multi-head constructions further illustrate this principle, where a universal 2-head can simulate any k-head machine by encoding head positions as markers on a single tape and synchronizing movements to replicate multi-head behavior. For example, universal 2-head machines have been constructed to simulate arbitrary , using the heads to scan and modify the encoded description of the target machine's . This variant computes the same class of functions as the , with the simulation process involving logarithmic space overhead for position tracking but maintaining . Equivalence is proven by reducing the k-head machine to a single-head simulation via tape marking, then applying the 2-head universal machine to that . Rule-based universality extends these ideas to models without explicit states or heads, such as cyclic systems, where a of rules iteratively deletes and appends symbols to a string, cycling through the rules deterministically. Minsky demonstrated that cyclic systems with two symbols and deletion number 2 are , capable of any through an encoding of the machine's states and into the string's structure. The follows from a direct simulation where the system's rules replicate the Turing machine's transitions, with halting conditions mapped to empty strings or cycles, thus all partial recursive functions. Similar universality holds for multi-dimensional variants, where computations on a grid simulate 1D tapes by serpentine traversal paths, preserving via linear-time unfolding constructions.

Significance and Applications

Theoretical Implications

The universal Turing machine (UTM) provides the foundational model for the , which asserts that every effectively calculable function is computable by a , thereby defining the scope of algorithmic computation. Formulated independently by and in 1936, the thesis equates the UTM's computational power with alternative formalisms, including Church's —where functions are expressed via abstraction and application—and the class of partial recursive functions defined by , Jacques Herbrand, and Stephen Kleene. This equivalence underscores the UTM's role as a universal standard for mechanical procedures, implying that no broader class of "computable" functions exists beyond what a UTM can simulate. Central to the UTM's theoretical implications are results on undecidability, beginning with the . Turing proved in that no UTM exists that can decide, for every pair of a description and input, whether the machine halts on that input. The proof proceeds by contradiction: assume such a halting UTM H exists; construct a new UTM D that, on input of a machine description e, simulates H(e, e) and behaves oppositely—halting if H says it loops, and looping if H says it halts. Then, D on its own description leads to a , as it cannot consistently halt or loop. This technique reveals inherent limits in self-referential computation. Rice's theorem extends this undecidability to a broad class of properties. In 1953, Henry Gordon Rice demonstrated that for any non-trivial P of partial recursive functions—meaning P holds for some but not all such functions—the set of indices computing functions satisfying P is undecidable. The proof reduces the to deciding the for P: given a machine e and input x, construct an index i (computably from e and x) such that the computed by the i-th machine equals some fixed f satisfying P if e halts on x, and equals the nowhere-defined g not satisfying P otherwise (achieved by dovetailing the simulation of e on x with the computation of f); then e halts on x if and only if i is in the for P. Thus, properties like "computes an even number" or "halts on all inputs" are generally undecidable. The UTM also delineates the recursively enumerable (RE) languages, which are exactly those accepted by some —possibly non-halting on non-members. Turing's 1936 analysis showed that RE sets correspond to the domains of partial recursive functions, enumerable via a UTM that outputs members sequentially without repetition. This class captures all "semi-decidable" problems, where membership can be verified but non-membership may require infinite search, forming the boundary between decidable and undecidable languages in the . These computability limits intersect with mathematical logic through Gödel's incompleteness theorems. Gödel's 1931 results established that any consistent formal system axiomatizing arithmetic is incomplete, containing true but unprovable statements. Turing's halting problem provides an arithmetic realization of this: the set of halting machine-input pairs is RE but not recursive, encoding unprovable sentences via Gödel numbering, where a machine's behavior translates to arithmetic statements. If such a system were complete, it would decide halting, contradicting Turing's result; thus, uncomputability implies incompleteness in sufficiently expressive logics.

Modern Relevance

In software verification, universal Turing machines (UTMs) serve as foundational models for proving program equivalence and correctness through . Theorem provers like enable the verified implementation of multi-tape Turing machines and UTMs with polynomial-time overhead, facilitating the certification of translations between machine variants and ensuring fidelity. Similarly, Isabelle/HOL supports the mechanization of semantics and results, including a certified UTM, which aids in for software systems by verifying behavioral properties against undecidability bounds. These tools bridge theoretical with practical , allowing developers to confirm that programs behave equivalently under UTM . In and , UTM concepts underpin Turing-complete architectures that extend neural networks beyond to algorithmic reasoning. The (NTM), introduced in 2014, augments recurrent neural networks with an external memory mechanism, enabling differentiable simulation of operations like copying, sorting, and associative recall from example data. This design demonstrates how neural systems can achieve universal computation, inspiring subsequent models that learn complex algorithms in environments modeled as Turing-complete state spaces. By emulating UTM-like memory access and control flow, NTMs highlight the potential for systems to perform any given sufficient resources. Quantum computing extends UTM principles through universal quantum Turing machines (UQTM), which generalize classical universality to quantum superpositions and entanglement. David Deutsch's 1985 formulation defines a UQTM as a device capable of simulating any quantum computation, compatible with the Church-Turing principle while enabling exponential speedups for specific problems via quantum parallelism. This model underpins oracle-based quantum algorithms, where oracles act as black-box subroutines that a UQTM can query in superposition, influencing complexity classes like . Modern quantum hardware prototypes, such as those using superconducting qubits, approximate UQTM behavior to explore these theoretical extensions in practice. Recent research since 2015 has advanced minimal UTMs for resource-constrained applications, including formal verification of small-scale machines suitable for embedded systems. The 2019 Coq formalization certifies a compact UTM with efficient simulation, supporting verification in low-power environments like IoT devices where computational overhead must be minimized. In blockchain technology, UTMs inform the design of Turing-complete smart contract platforms; for instance, self-reproducing coin models simulate UTM universality without loops, enabling secure, general-purpose computation on distributed ledgers while mitigating risks like infinite execution. These developments emphasize UTMs' role in ensuring verifiability and efficiency in decentralized systems. Practical implementations of UTMs persist in software emulators and esoteric languages that demonstrate theoretical limits accessibly. , a minimalist language with only eight instructions, is Turing-complete as proven by its ability to simulate a two-symbol through pointer arithmetic and conditional looping on an unbounded array. Interpreters for Brainfuck, widely available in multiple programming languages, serve as UTM emulators by executing encoded machine descriptions, fostering educational tools and experiments in . Hardware analogs, though less common in production, include FPGA-based realizations that mimic tape-head interactions for prototyping reversible or quantum-inspired computations.

Examples and Illustrations

Detailed Coding Example

To illustrate the operation of a universal Turing machine (UTM), consider Turing's original construction from , which uses approximately 23 states (m-configurations) and an alphabet including 0, 1, A, C, D, e (erased mark), f (final mark), L (left), N (no move), R (right), u, v, w, x, y, z (temporary marks), ; (instruction separator), and : (delimiter), among others (at least 18 symbols total). The following is an illustrative example of a simple target machine and its simulation using Turing's encoding scheme. This UTM simulates any M by interpreting its standard description (S.D.) encoded on the tape.

Target Machine

The example target machine M is a simple incrementer for unary numbers represented as strings of 1's followed by a # delimiter (e.g., 11# represents 2), with blanks denoted as 0. The tape alphabet is {0, 1, #}, states are Q = {q₀, q₁} where q₀ is initial and q₁ is halting, and the transition function δ is:
  • δ(q₀, 1) = (q₀, 1, R)
  • δ(q₀, #) = (q₁, 1, R)
  • δ(q₁, 0) = (q₁, 0, N)
This machine scans right over 1's in q₀, replaces # with 1 upon encountering it and shifts to q₁, then halts on the following 0 without moving. Missing transitions implicitly halt the machine. For input 1# (unary 1), it outputs 11 (unary 2).

Encoding

Turing's S.D. encodes M using symbols A (for state indexing), C (for symbol indexing), D (prefix for codes), R (right), N (no move), ; (instruction separator), and : (end delimiter). States and symbols are indexed starting from 1: qᵢ encodes as D followed by i A's (q₀ as DA, q₁ as DAA); symbols Sⱼ (0 as S₀ = D, 1 as S₁ = DC, # as S₂ = DCC). Each transition encodes as current-state-code + scanned-symbol-code + printed-symbol-code + direction + next-state-code, ordered by state then scanned symbol. The transitions encode as:
  • δ(q₀, 1): DA + DC + DC + R + DA = DADCDCRDA
  • δ(q₀, #): DA + DCC + DC + R + DAA = DADCCDCRDAA
  • δ(q₁, 0): DAA + D + D + N + DAA = DAADDNDAA
The full S.D. is ;DADCDCRDA;DADCCDCRDAA;DAADDNDAA:: (semicolon-separated, ends).

UTM Tape Setup

The UTM's initial places the S.D. in the "A-region" (program area), followed by :: as . The "B-region" (simulation area) then holds the initial complete of M: the initial state q₀ encoded as DA, followed by the input symbols starting from the head position (1#0...), with left tape (blanks) reversed after a marker if needed, but here assuming head at leftmost symbol with no left content. The full initial is approximately:
...0 [S.D. ;DADCDCRDA;DADCCDCRDAA;DAADDNDAA::] [DA 1 # 0 ...]
The UTM starts in its initial m-configuration (e.g., anf), head near the left of the S.D., with e and f marks available for temporary annotations during simulation.

Step-by-Step Simulation

The UTM simulates M by repeatedly: (1) marking the current simulated state and scanned symbol with x/y marks, (2) searching the S.D. for the matching instruction (comparing sequences via fmp m-configuration), (3) erasing marks and applying the printed symbol, direction, and new state to the B-region, (4) shifting the simulated head, and (5) printing output figures (0/1) if a complete configuration is reached. Below are the first 8 steps for input 1# (simulated TM takes 3 steps total; each UTM step is atomic). Tape shows A-region (abbreviated), ::, B-region (state + symbols from head right; head position underlined); m-configurations abbreviated. Blanks are 0; temporary marks (e, f, x, y) shown where active. Depictions are simplified for illustration.
  1. Initial (m-config: anf): UTM ensures :: is present, marks end of S.D. with y.
    Tape: ;DADCDCRDA;DADCCDCRDAA;DAADDNDAA:: DA 1 # 0 ...
    (Head on DA; no change yet.)
  2. Step (m-config: font): Finds relevant ; in S.D., marks it z, current state DA with x.
    Tape: ;DADCDCRDA z DAADDNDAA:: y DA x 1 # 0 ...
    (Head moves right to match scanned symbol 1 = DC.)
  3. Step (m-config: fmp): Compares x-marked DA (state) and scanned DC (from B: 1) against S.D. instructions; matches first: DADCDCRDA. Erases x/z if match.
    Tape: ;DADCDCR u DA;D ADCCDCRDAA;DAADDNDAA:: y DA 1 # 0 ...
    (u marks matched instruction; head returns to B.)
  4. Step (m-config: sim): Applies transition: prints DC (1) over scanned 1 (no change), direction R, new state q₀=. Shifts simulated head right to #; updates B-state to .
    Tape: ;DADCDCRDA;D ADCCDCRDAA;DAADDNDAA:: y 1 # 0 ...
    (Head on #; erases u/y temporary marks.)
  5. Step (m-config: anf again): Cycles to next simulation; marks current state (q₀) with x, scanned #=DCC with y.
    Tape: ;DADCDCRDA;D ADCCDCRDAA;DAADDNDAA:: x 1 y # 0 ...
    (Head scans S.D. for match on + DCC.)
  6. Step (m-config: font/fmp): Finds/matches second instruction DADCCDCRDAA; erases marks.
    Tape: ;DADCDCRDA;D ADCCDC u RDAA:: DA 1 1 y # 0 ...
    (u on match; prepares application.)
  7. Step (m-config: sim): Applies: prints DC (1) over # (replaces with 1), R, new state q₁=DAA. Shifts head right to 0; updates B to DAA.
    Tape: ;DADCDCRDA;D ADCCDCRDAA;DAADDNDAA:: DAA 1 1 0 ...
    (Head on 0; first simulated step complete, outputs no figure yet.)
  8. Step (m-config: anf): Marks state DAA (q₁) x, scanned 0=D y; matches third instruction DAADDNDAA.
    Tape: ;DADCDCRDA;D ADCCDCRDAA; u DAADDNDAA:: DAA x 1 1 y 0 ...
    (Match found; next step will apply N (no shift), print D (0, no change), stay q₁—halting as final configuration reached, UTM prints final output sequence from figures.)
Subsequent steps finalize the halt (m-config m! prints : after figures) and leave B-region as DAA 1 1 0 ..., representing the output 11. The full requires ~100 UTM steps for this short computation due to searching/comparing.

References

  1. [1]
    [PDF] ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE ...
    Detailed description of the universal machine. A table is given below of the behaviour of this universal machine. The. •m-configurations of which the machine ...
  2. [2]
    [PDF] Aug 31, 2021 1 Introduction 2 Universal Turing Machines (UTM)
    Aug 31, 2021 · A Universal Turing machine (UTM) is a Turing machine that simulates an arbitrary Turing machine on a given input.
  3. [3]
    [PDF] Lecture 2: Universality 1 Universal Turing Machine
    Jan 21, 2010 · A Turing machine (TM) U is called a universal Turing machine (UTM) if it is able to simulate all other TMs: for all TMs M and inputs x, ...
  4. [4]
    [PDF] Lecture 1 1 Turing Machines - UMD Computer Science
    As a powerful example, a universal Turing machine is one that can be used to simulate any other Turing machine. We define this next.
  5. [5]
    Turing machine - Stanford Encyclopedia of Philosophy
    Sep 24, 2018 · Turing machines, first described by Alan Turing in Turing 1936–7, are simple abstract computational devices intended to help investigate the extent and ...Definitions of the Turing Machine · Computing with Turing Machines
  6. [6]
    The Church-Turing Thesis (Stanford Encyclopedia of Philosophy)
    Jan 8, 1997 · ... Church, Kleene included computability by Turing machine ... –––, 1941, The Calculi of Lambda-Conversion, Princeton, NJ: Princeton University Press ...
  7. [7]
    [PDF] First draft report on the EDVAC by John von Neumann - MIT
    After having influenced the first generation of digital computer engineers, the von Neumann report fell out of ... The former must be stored in some way---.Missing: Universal | Show results with:Universal
  8. [8]
    Von Neumann Thought Turing's Universal Machine was 'Simple and ...
    Jan 1, 2020 · Its symbolic founding text is John von Neumann's 1945 “First Draft of a Report on the EDVAC,” though early computer builders relied more ...
  9. [9]
    Maurice V. Wilkes - Microprogramming - A.M. Turing Award - ACM
    Microprogramming was invented by MV Wilkes of Cambridge University in 1951. It was a means of simplifying the control circuits of a computing system.Missing: Universal | Show results with:Universal
  10. [10]
    The Modern History of Computing
    Dec 18, 2000 · Turing's design had much in common with today's RISC architectures and it called for a high-speed memory of roughly the same capacity as an ...
  11. [11]
    [PDF] a universal turing machine with two internal states - Wolfram Science
    Claude E. Shannon. INTRODUCTION. J ... An interesting unsolved problem is to find the minimum possible state-symbol product for a universal Turing machine.
  12. [12]
    [PDF] 1 Turing Machines and Effective Computability
    Apr 1, 2013 · In these notes we will introduce Turing machines (TMs), named after Alan Turing, who invented them in 1936. Turing machines can compute any ...
  13. [13]
    [PDF] Lecture 6: Universal Turing machine, and the Halting problem
    Sep 29, 2016 · The idea is to encode the states and the tape alphabet of the TM we want to simulate in some fixed alphabet (say, binary), so that, e.g., a ...
  14. [14]
    [PDF] 1.5 Universal Turing Machines - Search StFX.ca
    Turing described the process of constructing a machine U that is capable of simulating the computation of any other machine M, as long as we give an ...<|control11|><|separator|>
  15. [15]
    [PDF] Two-Tape Simulation of Multitape Turing Machines R. E. STEARNS
    Hennie [3] has shown that there are cases in which reducing the number of tapes from two to one actually requires a squaring of the computation time. Thus more ...Missing: universal | Show results with:universal<|control11|><|separator|>
  16. [16]
    [PDF] Complexity Theory: A Modern Approach
    Jan 8, 2007 · , M(x) = D(x). The time to simulate M by the universal Turing machine U on every input x is at most c0c|x|log |x| for some constant c0 ...
  17. [17]
    Small universal Turing machines - ScienceDirect.com
    Rogozhin. A universal Turing machine with 10 states and 3 symbols. Izvestiya Akademii Nauk Respubliki Moldova, Matematika, 4 (10) (1992), pp. 80-82. (Russian).
  18. [18]
    The complexity of small universal Turing machines: A survey
    Feb 17, 2009 · We survey some work concerned with small universal Turing machines, cellular automata, tag systems, and other simple models of computation.
  19. [19]
    The Prize Is Won; The Simplest Universal Turing Machine Is Proved
    Oct 24, 2007 · An award has been given by Stephen Wolfram and Wolfram Research for the solution proving the simplest universal Turing machine.
  20. [20]
  21. [21]
    [PDF] An Unsolvable Problem of Elementary Number Theory Alonzo ...
    Mar 3, 2008 · Observe that the formulas 1,2,3,. . . are all in principal normal form. Alonzo Church and J. B. Rosser, "Some properties of conversion,'? ...