Claude Shannon really enjoyed thinking about problems and tinkering with mechanical devices, but he was not a big fan of publishing papers. Throughout his life, he kept copious notes, sketches, and personal journals related to his work and ideas, mathematical lemmas, theoretical problems, and musings about wide-ranging topics, from juggling to robotics to music to investing to artificial intelligence. After his death in 2001, a huge trove of his unpublished works was donated to MIT, where they are kept in the MIT Institute Archives and Special Collections.
Yet despite his relative scarcity of publishing, he produced a couple of whoppers. He is best known for “A Mathematical Theory of Communication,” which was published in the Bell System Technical Journal in 1948. This is the paper that introduced the general theory of information. And then there was his 1938 master’s thesis, “A Symbolic Analysis of Relay and Switching Circuits.” Despite its title implying the paper could put to sleep even the most disturbed insomniac, many have lauded the work as the most important master’s thesis of all time.
High praise!
So what was so significant about this dry-sounding work? In its basic form, it made the connection between Boolean algebra and digital circuit design, the basis for subsequent generations of computers.
The connection between mathematical logic and modern computing was one of those things that seemed obvious only after the fact, but in 1938 it was not obvious at all. Shannon just so happened to have studied both mathematics and engineering. His mind was lit up with problems related to both fields, and he linked them together to make some groundbreaking observations.
Boolean algebra deals with logical operations and binary variables, typically symbolized as on/off or true/false or zero/one. Shannon began to think of this logic literally in the form of relay switches. If you have one switch, call it Switch A, you have two binary variables that signify, for example, “true” or “false.” If you add a second switch, call it Switch B, now you have two pairs of binary variables, creating four possible outcomes: true/true, true/false, false/true, and false/false.
For instance, let’s say you’re on a TV dating show, and you are scoring various bachelors. Let’s say Switch A indicates whether the bachelor is rich or not, and Switch B indicates if the bachelor is famous or not.
If the bachelor is both rich and famous, he gets three points. If he is rich but not famous, he gets two points. If he is famous but not rich, he gets one point. If he is neither rich nor famous, he gets zero points. Sorry, bachelor.
You could add a third switch, indicating whether the bachelor is handsome or not, and you would have eight possible profiles for your bachelor. He might score seven points if he is rich, famous, and handsome (“the trifecta!”), or zero points if his profile has none of those things.
If we generalize the logic, with one switch having two possible outcomes; two switches have four possible outcomes; three switches have eight possible outcomes, etc. The number of outcomes is calculated as two raised to the power of however many binaries you have. So, for four choices, the number of outcomes is two raised to the power of four, or 16 possible outcomes.
For humans, calculating a large number such as two raised to the power of 15 is not easy, but for a computer, it’s a piece of cake. (By the way, two raised to the power of 15 is 32,768.)
Where are we going with all this? Shannon realized that simple Boolean algebra could be used to plan highly complex switching systems without having to build them first. This was incredibly valuable to one of his later employers, the Bell telephone company.
Think about it: in theory, if a city had 32,000 telephones, you could build a switching system to route calls to all of them using just 15 switches. Then, if the population grew, you could add a 16th switch, and that would bump up the capacity of your telephone switching system to over 65,000 telephones. All with just a box of switches and some Boolean algebra.
For a computer, calculating two to the power of 16 is rudimentary, and it’s only slightly more complicated to calculate two to the power of 160, two to the power of 1,600, or two to the power of 16,000. And since the addition of each Boolean variable doubles the number of possible outcomes, a linear growth of variables leads to an exponential growth of outcomes. You could see how this simple logic could be used in computers to store vast amounts of information.
The impact of Shannon’s paper was profound. Complex digital circuits could be planned theoretically and tested mathematically before being built. Rather than building complex digital circuits first and then testing them through laborious trial and error, they could be planned theoretically and tested mathematically before bringing in any hardware at all.
When the Institute of Electrical and Electronics Engineers reminded Shannon that many people asserted he had produced the most important master’s thesis of all time, he downplayed his accomplishment with a quip, “It just happened that no one else was familiar with both those fields at the same time.”