notesonly.in

One notebook for every subject — open it anywhere.

Log in

Turing Machines: Complete Beginner's Guide For students.

A Turing machine is a simple mathematical model of a computer. It has an infinitely long tape divided into cells, each holding one symbol, and a read-write head that moves left or right one cell at a time. A small control unit with finitely many states tells the head what to do: read the current symbol, write a new one, move left or right, and change state.

They matter because of the Church-Turing thesis: anything computable by any reasonable device can be computed by a Turing machine. They define "algorithm" precisely and prove some problems can never be solved by any program.

Key Concepts

  • Tape: a one-dimensional, unbounded sequence of cells; only finitely many hold non-blank symbols at any moment.
  • Head: sits over one cell; reads the symbol, optionally overwrites it, and moves one step left or right.
  • Transition function: given the current state and the symbol being read, it specifies the symbol to write, the direction to move, and the next state.
  • Accept, reject, loop: the machine halts in an accept or reject state, or runs forever — looping is a real, meaningful outcome.
  • Universal Turing machine: one machine that can simulate any other given its description — the theoretical ancestor of the stored-program computer.

How It Works

  1. Start in the start state with the input on the tape and the head over the leftmost input cell.
  2. Read the symbol under the head and consult the transition table for the current state and symbol.
  3. Write a symbol (possibly the same one), move the head one cell left or right, and switch state — one atomic step.
  4. Repeat until a halting state is reached. Accept means the input is in the language; reject means it is not. No halting state means it loops forever.

Worked Example

A Turing machine deciding the language of strings with an even number of 1s, run on "1011" (three 1s — odd, so it should reject):

  1. even, head on '1': switch to odd, move right. 1s seen: 1.
  2. odd, head on '0': stay odd, move right. 1s seen: 1.
  3. odd, head on '1': switch to even, move right. 1s seen: 2.
  4. even, head on '1': switch to odd, move right. 1s seen: 3.
  5. odd, head on blank: count is odd, so halt and reject.

5 steps for 4 symbols plus the blank check, with 3 state flips — one per 1. On "101" the same machine halts in the even state and accepts.

Common Misconceptions

  • A Turing machine is computer hardware. It is a mathematical abstraction; real computers have finite memory, while the model's tape is unbounded.
  • Every Turing machine halts. Non-halting is built into the model — the halting problem asks whether a machine stops on a given input, and no algorithm answers that for all machines.
  • The tape works like RAM. The head moves one cell per step, so distant cells cost linear time to reach — why data-structure choices affect complexity.

Real-World Applications

  • Computability theory: the standard yardstick for what programs can and cannot do.
  • Complexity theory: P, NP, and lower bounds are defined via Turing machine running time.
  • Language design: a language is Turing-complete when it can express any Turing machine computation — true of Python, C, and Java.
  • Verification: undecidability results prove perfect bug detection impossible.

A Turing machine reduces computing to its essentials: a tape, a head, and a finite set of rules. From this tiny model come the definition of an algorithm, the idea of a universal computer, and the proof that some problems lie beyond any program ever written.