Boolean Logic : George Boole's The Laws of Thought
Ian writes "The Globe and Mail has a piece about the man behind Boolean Logic - George Boole - The Isaac Newton of logic. 'It was 150 years ago that George Boole published his classic The Laws of Thought, in which he outlined concepts that form the underpinnings of the modern high-speed computer.'"
Also that year, Grace Hopper, an admiral in the U.S. Navy, recorded the first computer "bug" -- a moth stuck between the relays of a pre-digital computer.
The computer was digital, it just used relays instead of integrated circuits. It wasn't stuck between relays, it was stuck in a relay.
And while I'm at it, a nitpick. She wasn't an admiral until much later.
Infuriate left and right
it's the Global and Mail not the BBC. The example still has no place in the article but the Globe has a little more intrest in the situation than the BBC does.
Let's not forget Lovelace, Ritchie, Knuth, von Neumann, Turing...
Not in Project Guttenberg yet
There's nothing like reading the original works.
To be pedantic, the title of Boole's book was "An Investigation of the Laws of Thought"
No electrons were harmed creating this post, though some may have been subjected to electrical and/or magnetic fields.
The amount of information a yes/no answer conveys to someone with no prior knowledge. Or, if you want to get technical: an ln(2) reduction in entropy.
Be faithful to your obsessions. Identify them and be faithful to them, let them guide you like a sleepwalker. JG Ballard
Turing machines utilized Boolean logic. At the very base of processor design, you have these things called "gates" which take signals ("on" xor "off", 1 xor 0, high voltage xor low voltage) and process them in a boolean test..... Like, say:
1 OR 0 evaluates to a signal that says "1"
1 AND 0 evaluates to a signal that says "0"
NOT 0 evaluates to "1"
etc. etc.
You can then design these gates to go on to make more complicated items key in processor design: encoders, decoders, multiplexors, latches, flip-flops, counters, adders, registers, arithmetic and logic units (ALUs), data paths, data controls, and ultimately a modern processor.
Boolean logic is at the VERY HEART of all this stuff, so, yeah, this has a LOT to do with computers.
Karma: Non-Heinous
Set Theory is a Boolean Algebra. Odd there was no (explicit) mention of this. It is important to both mathematics in general, and Computer Science.
...
..
...
Just as an aside, a mathematical structure is a Boolean Algebra if, and only if, if it contains two operations (generally denoted +, and *), such that for all elements A, B and C in the structure
A + B = B + A
A * B = B * A
(A + B) + C = A + (B + C)
(A * B) * C = A * (B * C)
A + (B * C) = (A + B) * (A + C)
A * (B + C) = (A * B) + (A * C)
and there exists two elements 0 and 1 in the structure such that
A + 0 = A
A * A = A
and for each A an element exists that's the "negation" of A
A + ~A = 1
A * ~A = 0
In logic, + is equivilent to OR, * is equivilent to AND, a Tautology is equivilent to 1, and contradiction is equivilent to 0. ~ is NOT.
Similar comparisons can be made in Set Theory. In the same order of above: Union, Inclusion, Universal Set, Empty Set, and Set Complement.
So, if you prove one algebraic identity in Set Theory, you also proved the same exact identity in
Propositional Logic (and vice versa.)
(shrug)
One good boolean algebra is the logical algebra of probabilities. Every datum is a real between 0 and 1. x or y would be x + y - xy; x and y would be xy; not x would be 1 - x. (All of this is off the top of my head BTW). It's a perfectly valid boolean algebra.
To say that boolean algebra is about "true" or "false" is absolute rubbish. It's largely because binary computers have become so popular that people think that way.
Reading the article, you'll see that Boole assigned algebraic operators to logic operators.
AND = x (multiply)
OR = + (add)
The order of operations states that we multiply before adding.
She was also already a PhD when she was called up for active service in WW2, so the grandparent post is really highly inaccurate.
Grace Hopper - the third programmer in the United States, and a fitting successor to Ada Lovelace.
Panurge has posted for the last time. Thanks for the positive moderations.
Not to mention that it is unlikely that Hopper ever claimed to find the first "bug".
The comment next to the moth taped in the logbook seems to indicate that the word had been in use for some time, and Hopper was making a bit of a joke.
-- clvrmnky
The importance of Boole's ideas, therefore, was that they provided a grand unifying framework for computer design.
In fact Turing's ideas were more fertile for programming, and it's a pity that he lived in the UK after WW2 and was held back by the usual British official incompetence in technical and commercial matters. And Von Neumann- how important was he really for computer development? Not as important, I think, as Black, Eckert or Mauchly.
Panurge has posted for the last time. Thanks for the positive moderations.
I helped proofread this one recently at pgdp.net. It's in post-processing now, so it will be in Gutenberg soon!
It appears this "Computer History" attempt overlooks John Vincent Atanasoff, credited by most reliable sources (Smithsonian, etc.) as developer of the first electronic digital computer" years before the ENIAC. In fact, the ENIAC was derived from Atanosoffs's ABC Computer at Iowa State after an ENIAC developer visited Atanasoff (stayed several days in Atanasoff's home), and "stole" his ideas and proposed a larger verssion as the ENIAC to the army. Atanosoff's ABC computer was the first to solve Schroedinger's equation represented by the solution of a 39x39 system of matrix equations. However, time caught up with the ENIAC visitor, and the notebook he kept when he visited Atanasoff was his undoing when the U.S. Court in Minneapolis overturned previous patent rulings for computer developments and ruled they were all derived from Atanasoff's ABC computer. Hopefully, this attempt at a computer museum will soon be updated to accurately reflect the original development of the electronic computer by Atanasoff at Iowa State in 1942.
Plus they credit her with coining the term "bug". The squashed moth was a joke. "Bug" was slang for electronic glitches long before then.
Just to be a bit pedantic, according to Simon Singh's book "The Code Book", the first "computer" was the ENIGMA code breaker, the British Bletchley Park WWII invention , COLOSSUS (http://www.acsa.net/a_computer_saved_the_world.ht m). It never received as much publicity as the ENIAC because it was a war secret...
Cheers
If you are going to list "those who made all this possible" you cannot ignore Claude Shannon. Creating information theory was important, but what is equally remarkable was his master's thesis: "Symbolic Analysis of Relay and Switching Circuits" (1941) was what proved that Boole's logic could be implemented in digital hardware.
It was, by a long margin, the most important master's thesis in history.
No they don't. Turing Machines are an entirely theoretical construct, which by some standards never have actually been created. (Due to an unforeseen shortage in infinitely long tape.)
You have this little box which has an infinitely long tape fed into it. The box is a finite state machine which reads the tape, and based upon the state of the machine, writes to the tape, moves the tape left or right, and maybe changes its internal state.
There's a kind of neat Turing Machine Simulator here if you want.
"Never attribute to malice that which can be adequately explained by stupidity." -- Hanlon's Razor
IMHO, the discovery of a real-world application of the idempotent law that was Boole's greatest accomplishment. One could argue that Lebnitz and Boole had independently discovered this. This is not unlike Hamilton's discovery of an application for non-commutative algebra.
Boole's contribution to logic was profound. First, a real world model for any mathematical property ensures the consistency of that model. Boole's work provided an abstraction for elementary set theory. The key to this abstraction is idempotency. The aggregate of set A and itself is the set A (i.e. A+A=A). Thus, Boolean algebra formalizes the basic set theoretic operations of union and intersection, which in turn is almost trivially isomorphic to a Boolean ring. I could create all kinds of stupid rules [insert your favorite slam on mathematics here] that have no meaning in the real world. Most importantly, Boole seemed to be the first to attempt to bridge the gap between abstract thought and mathematics. Admittedly there was some previous work in attempting to formalize|classify all syllogistic reasoning. It was the first step towards a unified theory of logic and ultimately what is hope to be a universal theory of symbolism (see Chomsky's mathematical linguistics).
The irony about mathematics is that often the best ideas are childishly simple. It's not the proof of deep theorems (although that has it's place) that often has the greatest impact. It's the fresh applications of mathematical rigour to some real world scenario. Thus, mathematics is often at it's weakest when done in isolation. Incidentally, Knuth's work in algorithm analysis was revolutionary. In a world described by (K-Complexity (AIT)|cellular automata|simple computer programs) algorithm analysis and ultimately a proof of P not= NP may be to hold the key to the fundamental laws of nature (i.e. physics, biology, and chemistry).
Incidentally, the Martin Davis' The Universal Computer is a great popular science book on this topic. A free copy of the introduction is here. This book manages to introduce the ideas of Turing (Turing-Post?) Machines and the Diagonal Method to the lay reader. The author is a respected logician and computer scientist who studied under Church and Post.
What do you mean my sig is repetitive? What do you mean my sig is repetitive? What do you mean....