Alan Turing, Computer Genius, Patriot, and Suicide: 6-23-1912 to 6-8-1954
Alan Turing was one of the giants of the 20th century. In 1999, Time Magazine listed him as one of the 100 Most Important People of the Century, along with Einstein, Gandhi, Salk, MLK, FDR, and 94 others I won’t bother to mention. I’ll now tell you why he’s one of the 100 Most Important People of the 20th Century.
I thought about waiting until the anniversary of his death, June 8, to post this, but what the heck.
Alan Turing invented computers in the 1930s, figured out how to beat Hitler in the 1940s, and then committed suicide in the 1950s because of England’s then-shameful attitudes about gay people. And Godwin’s Law doesn’t apply if I’m talking about the actual history of actual Nazis from actual WWII.
(If you want to learn more: An excellent biography of Turing is "Alan Turing: The Enigma" by Andrew Hodges; w/foreword by Douglas Hofstadter. I read it several years ago and highly recommend it. If you don’t feel like buying the book, look at the Wikipedia articles on "Alan Turing" or "Turing Machines" or look at the Amazon.com reviews of the Hodges book.)
In the 1930s, Alan Turing Invented Computers (pretty much all by himself)
Alan Turing came up with the ideas and principles that all modern computers use. He is generally acknowledged as the Father of Computing. Before Turing there were machines that could do specific tasks (like, say, adding numbers on an abacus or a cash register), but he came up with the idea of a Turing Machine.
In the early 20th century, philosophers, mathematicians, and logicians were hotly discussing whether a formal system of math (or logic or anything else) could be complete, consistent, and decidable. Godel proved that a system can’t be both complete and consistent at the same time, but the third part was unknown. Here’s a description of this third (decidability) part, from Wikipedia:
In mathematics, the Entscheidungsproblem (German for 'decision problem') is a challenge posed by David Hilbert in 1928. The Entscheidungsproblem asks for an algorithm that will take as input a description of a formal language and a mathematical statement in the language and produce as output either "True" or "False" according to whether the statement is true or false. The algorithm need not justify its answer, nor provide a proof, so long as it is always correct.
Alonzo Church and Alan Turing came up with two independent solutions in the 1930s. They approached the question from different directions, but Turing’s solution was more comprehensive and generally better. Turing used a thought-experiment to imagine a machine that would answer (or not answer) this problem.
Here’s a really simple (and admittedly simplistic) explanation of a Turing machine:
Imagine a long strip of paper divided into boxes – not necessarily infinitely long, but as long as it needs to be. Nowadays, you’d call this computer memory. Each box contains a symbol that represents information (a piece of data) or a symbol that causes you to do something (an instruction). There’s also a symbol that means "end-program." Your left finger starts at the beginning and moves one by one through the symbols (some of the symbols can also make you jump forward to the right or back to the left). In your brain, you have a certain state of mind (like, say, thinking of the number "1" (we’d now call that a computer register)) and your right hand holds a pencil for output. So an extremely simple Turing machine might do something like this:
[[ start-program,
put this number in your brain, 0,
add, 1,
add, 2,
add, 3,
write down the number in your brain,
end-program ]]
This very simple Turing machine adds the numbers 1, 2, and 3, and prints the result, 6. If you’ve ever written a computer program, especially in assembly language, this might look familiar.
Next, Turing extrapolated his theory to something called a Universal Turing Machine, which could be programmed to act exactly like any particular Turing machine. Nowadays, we’d call this a programmable computer.
In the 1930s, it was not possible to actually build a sophisticated Universal Turing Machine, so the UTM remained in the realm of a "thought experiment." All calculations were done with pencil and paper. Turing even imagined a machine that would play chess.
What astounds me is reading Turing’s writings and thinking to myself, "Oh, he just invented the subroutine." Or he just invented the loop. He just invented variables and constants. He just came up with the IF-THEN statement. He just invented the branch instruction. He just invented the carry bit. He just invented the stack. And so on. Almost every basic concept of modern programming was invented by Turing in the 1930s on an imaginary machine that existed in his head.
His work in the 1930s earned Alan Turing a solid place in history as the father of computer science. That alone would be sufficient to secure his place in history.
But, wait there’s more! In the next decade, he won World War II. Not singlehandedly, of course, but pretty close.
In the 1940s, He Helped Defeat Hitler
The Nazis had a diabolically ingenious code machine called "Enigma," which was used to encode/decode morse code messages to commanders in the field and ships at sea. Think of Enigma as a typewriter.
Imagine a normal typewriter. You press the letter T and it types a T. You type the word "HELLO" and it prints "HELLO". A standard typewriter.
Next, imagine a typewriter that if you type A, it prints B. If you type B, it prints C, and so on (a substitution cipher). On the other end, the decoding goes the other way. So you type HELLO, the encoding typewriter prints IFMMP, then you send IFMMP by Morse code, then the people on the other end type those letters into the decoding typewriter and get HELLO. That’s encoding and decoding.
Substitution codes are far too simple to crack, however. Now, imagine a typewriter with mechanical rotors and some electrical connections that can have (theoretically) 10-to-the-114th different internal states. That’s 1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,00
0,000,000,000,000,000,000,000,000,000,000,000,000,000 different states. In actuality, because of various limitations, the German machine had only 10-to-the-23rd, or 100,000,000,000,000,000,000,000 states. Which is still a helluva lot.
Let’s say you’re a Nazi in WWII and you want to send a message to a U-Boat on June 8. You look in the book and set the Enigma rotors to 556ABZ and flip some switches and connect some wires in a certain way (these are the agreed-upon June 8 code settings). Then if you type the letters HELLO, the first letter (H) turns into the letter Q. But, at the same time, typing H also changes the internal state of the machine. So if you type E, maybe you get the letter Q again! And the E changes the internal state. So L gives you A and changes the machine. The next L gives you Z. And the O gives you, say, Q (wow, Q again!). So the encoded message for HELLO is QQAZQ. Every time you type a letter, you get an output but you also alter the internal state of the machine. It’s slightly more complicated than this (the Nazis thought they were superior and that their code was unbreakable, so they sometimes got lazy when they were sending the codes), but that’s the basic idea.
The Nazis thought their system created unbreakable codes. It would take hundreds or thousands of years for anyone to decode a single message by brute force (and by that time, the information would be out of date).
When WWII started, Alan Turing started working at Bletchley Park (aka Ultra), the top-secret code-breaking unit in England. The Poles (I forget if it was the Polish Army or Polish Navy) had surreptitiously captured an German Enigma decoder machine and they gifted it to the English, who figured out the mechanical stuff. But knowing how it worked didn’t let them decode messages. They needed to figure out how to deal with the 10-to-the-23rd internal states.
The English code-breakers at Bletchley built machines (code-breaking computers) that mimicked Enigma. And Alan Turing, the genius, thought about it and came up with a strategy :
(From Wikipedia)
Professor Jack Good, cryptanalyst working at the time with Turing at Bletchley Park, later said: "Turing's most important contribution, I think, was of part of the design of the bombe, the cryptanalytic machine. He had the idea that you could use, in effect, a theorem in logic which sounds to the untrained ear rather absurd; namely that from a contradiction, you can deduce everything."
Million, billion, trillion, quadrillion, quintillion, sextillion. Every day there was a new code with sextillions of possibilities and the machines would patiently test all of them and say, "This one is a contradiction, so it’s the wrong answer." Instead of looking for the right answer, the machine tossed out all the wrong answers. Eventually they got the code for today. The next day would have new codes and another sextillion possibilities. But Turing and his compatriots figured out how to read the coded Nazi messages.
Winston Churchill loved the code-breakers at Bletchley Park. He called them "the geese that laid the golden egg and never cackled." The Nazis never knew that their code had been cracked. It’s likely that Churchill knew that the town of Coventry was going to be bombed in 1940, but he didn’t react because it might tip off the Nazis about the code-breakers. And it’s possible that the fire-bombing of Dresden (chronicled by Kurt Vonnegut) was Churchill’s revenge for the Coventry bombing.
So, Turing invented computers in the 1930s (hip hip hurrah!), broke the unbreakable Nazi code in the 1940s and played a key role in defeating Hitler (hip hip hurrah!). He was a true hero, a giant among men, right? He lived happily ever after, right? Nope. He was gay (going back to when he was a kid).
In the 1950s, Turing Committed Suicide
In a play, the tragic death of the hero has to happen in the third act. Turing could have done so many good things in the 50s and 60s and 70s (on top of what he already did), but he had a tragic flaw: he was gay.
In the late 1940s and early 1950s, the U.S. military was working on computers, but they were doing everything all wrong. The Navy, for example, might need a machine to tell them how to figure out the ballistics of a large gun. So they’d input the current location and the desired target and the wind speed and curvature of the earth and the computer would say, "Use this much gunpowder and aim it in that direction." But that’s the only thing the computer could do. It would be like having a computer that could only play Tetris. Or a computer that could only run Microsoft Word. The Americans were stupidly working on single-purpose computers. Turing’s idea was programmable computers that could do anything. With a programmable computer, you could do 100 things. Or a thousand things. Or a million things.
Back to England. In 1952, when Turing was 40 years old, he met a 19-year-old boy named Arnold Murray and they had sex (probably mutual masturbation). Arnold Murray and an accomplice later broke into Turing’s house and stole some of Turing's things. Turing called the cops to report the robbery. The police talked to him and Turing freely admitted that he was a homosexual. He was a genius who had no concept of being in the closet. He just wanted his stuff back from the thief. That’s why he called the cops.
But being gay was a crime in 1950s England. And Alan Turing had told the police that he was gay.
The first thing that happened was he couldn’t get a job anywhere. Ever. He couldn’t work on computers. He needed a security clearance for computers and that would be impossible for a gay man, because of the idea that Russians (or whoever) could blackmail him. Gay people could never get a security clearance. Turing freely admitted being gay and was out of the closet (which meant he couldn’t be blackmailed, and he was a key figure in defeating Hitler), but in the 1950s he was shit out of luck. So, no more jobs for Alan.
The second thing that happened was that he was convicted of crime of homosexual indecency (I think it was the same law that sent Oscar Wilde to jail (or gaol)). Turing was given a choice of jail or treatment. He picked treatment, which in the ever-so-enlightened English 1950s meant injections of female hormones. Instead of punishing him for a moral problem, they treated him for a medical problem – a disease. Hormones would reduce his sexual libido. He was given female hormones and he grew breasts.
So he was unemployed (and couldn’t get a job because he was gay and convicted of indecent acts) and the government made him take drugs that made him grow breasts. He grew more and more depressed and despondent. He stopped running in long-distance races. He stopped riding his bicycle around town. And on June 8, 1954, he committed suicide. He made it look like an accidental overdose of cyanide from a science project (so his religious mother wouldn’t worry about his immortal soul), but it was almost certainly suicide.
How sad. What a tragic ending to a brilliant life.
Addendum:
Cool! I made it to the rec list. My first time.
And BTW, I didn't mention the Turing Test because I don't think it's very interesting. The Turing Test checks for Artificial Intelligence. You put a human in one room and he/she communicates (by typing or talking or whatever) with two other beings in other rooms. Which one is the human and which is the computer? If a person can tell that one room contains the computer, then the computer isn't artificially intelligent.