Universal Turing machine
Adapted from Wikipedia · Discoverer experience
In computer science, a universal Turing machine (UTM) is a special kind of machine that can perform any calculation that any other computer can. This idea was first described by Alan Turing in his important paper titled "On Computable Numbers, with an Application to the Entscheidungsproblem". Turing showed that such a machine is possible, even though it might seem unlikely at first.
Turing compared the work of a person solving math problems to a machine that can only be in a limited number of states. He called these states "m-configurations". He explained how this machine would work and why it could handle any computing task.
Turing introduced the concept of the universal Turing machine in the years 1936–1937, laying the groundwork for modern computing. This idea helps us understand the limits of what machines can do and how different types of computers are related to each other.
Introduction
Further information: Register machine § Historical development of the register machine model
The idea of a machine that can simulate any other machine was first described by Alan Turing. This idea helped shape early computers and computer science.
Martin Davis argues that Turing's ideas about storing both instructions and data in memory influenced John von Neumann's design of early computers like the EDVAC. Davis also suggests that Turing's work on the ACE computer included early ideas about how computers can manage tasks more efficiently. Donald Knuth notes that Turing's work helped develop ways for computers to handle programs and tasks smoothly.
Mathematical theory
A universal Turing machine can solve any problem that can be solved by an algorithm. This makes it a key idea in understanding what computers can and cannot do.
Because of this, scientists use the universal Turing machine to test how powerful different computing systems are. If a system can act like a universal Turing machine, it is called Turing complete.
Efficiency
Every Turing machine can be written as a special string of 0s and 1s. This helps us study how these machines work.
In 1966, two scientists showed that a special kind of Turing machine can copy the work of any other Turing machine. If a machine finishes its task in N steps, this special machine can do the same task in about N times the logarithm of N steps. This is a smart way to copy the work of other machines quickly.
Smallest machines
Alan Turing imagined a very simple machine that could perform any calculation. Later, scientists tried to find the smallest such machine. They discovered that just two symbols or a few states could be enough. For example, one scientist made a machine with 7 states and 4 symbols that could do everything a bigger machine could.
Researchers have since found even smaller machines. Some use only 2 states and 18 symbols, while others need more states but fewer symbols. These tiny machines follow strict rules to work like bigger universal machines. Scientists also found ways to make machines even smaller by changing some rules slightly.
Machines with no internal states
Some special kinds of machines don’t need extra memory spots to work—they can use the tape itself to remember what to do next. For example, imagine a tape with six different colors of squares. By moving several reading heads at once across these colored squares, the machine can act like one with extra memory spots, even though it doesn’t have any built-in ones.
With just two reading heads and six colors, such a machine can act like a very powerful computer. We still don’t know the smallest number of colors needed for this kind of machine or if it’s possible to do this with only two colors. These ideas also show that certain rule-based systems can act like powerful computers too. If the space between the two reading heads can change, the machine can mimic other types of universal systems as well.
Example of coding
Alan Turing showed how to design a special kind of machine that can follow any set of rules. He used simple symbols to represent these rules and put them in order on a tape.
The rules were written using symbols like “;” and letters such as A, D, and C. These symbols were placed on every other space on the tape, with special marks at the start and end. This setup lets the machine read and follow the rules step by step.
| Current m‑configuration | Tape symbol | Print-operation | Tape-motion | Final m‑configuration | Current m‑configuration code | Tape symbol code | Print-operation code | Tape-motion code | Final m‑configuration code | 5-tuple assembled code |
|---|---|---|---|---|---|---|---|---|---|---|
| q1 | blank | P0 | R | q2 | DA | D | DC | R | DAA | DADDCRDAA |
| q2 | blank | E | R | q3 | DAA | D | D | R | DAAA | DAADDRDAAA |
| q3 | blank | P1 | R | q4 | DAAA | D | DCC | R | DAAAA | DAAADDCCRDAAAA |
| q4 | blank | E | R | q1 | DAAAA | D | D | R | DA | DAAAADDRDA |
Related articles
This article is a child-friendly adaptation of the Wikipedia article on Universal Turing machine, available under CC BY-SA 4.0.
Safekipedia