kota's memex

The man most commonly regarded as the 'father' of computer science is the English mathematician, Alan Turing. Turing did a lot of work in World War II helping the Allies break the German military ciphers. To reward him, the British Government convicted him of gross indecency after the war (he was homosexual), took away his security clearance and put him on hormone therapy. His death not long after is generally accepted as suicide.

The magical thing about a turing machine is that any procudure which can be computed can be computed on the simplest turing machine. Any procudure which can be solved on a quantum computer can also be solved on a turing machine.

alternatives

lambda calculus

combinator calculus

notable proofs

oracle problem

halting problem

tape machine

Here's one helpful way to describe a turing machine. There are others, but this one is quite easy to imagine:

Imagine an abritrarily long tape which just has 1s and 0s on it. The end of the tape just has 0s off forever on both sides.

...00000001101101010000000...

A turing machine has a cursor which points at one position on the tape (like the read/write head on a VCR). The cursor also always has some state. We could represent it with a for example.

...00000001101101010000000...
             ^
             a

Finally, there's a table of rules which tell the turing machine what to do in various situations it might be in.

state | tape | write | new state | go
a     | 0    | 1     | b         | >
      | 1    | 0     | a         | <
------|------|-------|-----------|---
b     | 0    | 0     | b         | >
      | 1    | 0     | b         | >

The table contains all the states. For each state the cursor could be pointing at a 0 or 1 so we have to list both cases. Then we say what happens in that situation. For example in state a if the cursor is pointed at a 0 it becomes a 1 and if it's pointed at a 1 it becomes a 0. Then you have to say which new state you would be in and which direction the cursor should move.