Alan Turing is often considered to be the pioneer of artificial intelligence and theoretical computer science. His 1936 paper “On Computable Numbers” is recognized as the foundation for computer science. In this paper, Turing outlined what he called a Universal Machine (now called a Turing Machine).
He described his conception as:
- infinite tape partitioned into squares (to represent infinite memory)
- a “head” that follows a set of instructions — either write symbol, move to next partition, etc.
- a table of instructions (to represent the algorithm)
A visualization (Source: Wikipedia) is shown to the right that depicts the “head” as a robot following a set of instructions. Despite being a simple model, this could theoretically implement any computer algorithm given infinite memory. In the next exercise, we will show an example program that follows this model!
If pioneering modern computing wasn’t enough, Alan Turing also played a pivotal role in World War II by creating a machine that could crack the thought to be unbreakable Enigma code used by the German naval communications. It is estimated that Turing’s influence on the war saved millions of lives and shortened the conflict by a whole two years.