zurück

Erfand George Boole die Binärrechnung, oder haben wir deren Erfinder vergessen?

Boolesche Algebra?

von Gerd Heinz

Wir alle sollten die Binärzahlen kennen, genannt auch Dualzahlen. Unsere digitale Welt besteht aus diesen Zahlen. Man denke an binary digit: abgekürzt Bit, oder an Byte (8 Bit), Kilobyte (103 Byte), Megabyte (106 Byte) oder Terabyte (109 Byte).

Jeder Computer und jedes Handy nutzt sie, jeder Taschenrechner und jede Excel-Tabelle rechnet intern damit, jedes MP4-Video und jeder MP3-Sound besteht aus binären Daten. Über USB- und durch das Ethernet flitzen sie, auf Festplatten oder DVDs werden sie gespeichert. In unserer digitalen Welt gibt es nicht viel anderes, auch wenn selbst Informatik-Ingenieure (wenn überhaupt) nur äußerst selten mit Binärwerten zu tun haben.

Es stehen pro Stelle nur die Werte 0 und 1 zur Verfügung. Dafür gibt es viele Stellen: Der erste Mikrocontroller, Intel i4004 hatte 1971 4 Bit. Dann folgten 8 Bit, 16 Bit und 32 Bit Mikrocontroller. Heute haben wir 64 Bit Controller in unseren Notepads oder PCs.

64 Bit sind 264 oder 18·1018. In einem 64 Bit Wert können wir jede natürliche Zahl bis zu ebendieser Größe speichern. Und der erste Mikrocontroller hatte deshalb vier Bit, weil sich damit genau eine Dezimalziffer (oder auch eine Hexadezimalziffer) darstellen ließ, 24 = 16.

Die Rechenregeln, so meint man in der deutschsprachige Wikipedia, stammen vom englisch/irischen Mathematiker, Logiker und Philosoph Georg Boole (1815 bis 1864). Der allgemein in Programmiersprachen und Compilern verwendete Datentyp für binäre Zahldarstellungen ist - wen wundert es - der Typ "boolean".

Jeder, der schon einmal eine digitale Schaltung mit NAND, NOR, XOR, Halbaddern, Volladdern, Registern oder Flipflops aufgebaut hat, der kennt die sogenannte "Boolesche Algebra".

Nun wissen wir aus anderen Bereichen von Wissenschaft und Technik, daß nicht immer der Erfinder geehrt wird, sondern oft auch Plagiateure. Oder Personen, die sich um die Verbreitung einer Erkenntnis verdient machten. Oder Menschen, die ein Gespür für die Vermarktung von Wissen hatten.

Über ein Jahrhundert vor Georg Boole lebte Gottfried Wilhelm Leibniz (1646 bis 1716). Er formulierte die noch heute üblichen Schreibweisen der Infinitesimalrechnung und Differentialrechnung, trug zur Algebra (Leibnitz-Matrix) bei, baute die ersten Rechenmaschinen mit Staffelwalzen und erste Chiffriermaschinen. Und er korrespondierte in sechs Sprachen. Er galt als der letzte Universalgelehrte.

Da ich mein Leben lang immer wieder auch digitale Schaltungen entwickelt habe, erschrak ich nach der Jahrtausendwende über eine Seite eines Vortrages, die Leibniz vor der französischen Akademie 1703 gehalten haben soll.

Ich entdeckte diese Seite damals wohl eher zufällig irgendwo im Internet. Leider ist sie bis 2023 weder in der englischsprachigen [2] , noch in der deutschsprachigen [1] Wikipedia zu finden. Dafür findet Google sie in zig anderssprachigen Wikipedien unter diesem Link [5].

Mich verblüffte die Genialität der Notation, die mir als Praktiker so geläufig war, als wären mir diese Zeilen gerade gestern von einem Kollegen überreicht worden. Und mich verblüffte die einzigartige Eleganz und Kompaktheit der Darstellung. Wofür wir als Studenten ein Semester lang Vorlesungen hatten, das drückt er auf einer Seite aus (Memoires de l'Academie Royale, 1703, Seite 86):

Beim Versuch, die Beispiele nachzurechnen, fiel mir auf, daß ich es seit dem Aufkommen der Taschenrechner gegen Ende der 1970er Jahre verlernt hatte, schriftlich zu multiplizieren und zu dividieren: Vielleicht versuchen auch Sie einmal, ihre Kenntnisse aufzufrischen und die Beispiele nachzurechnen?

Wir wollen versuchen, Leibniz' Rechnungen nachzuvollziehen.

Bei der Addition scheint es keinerlei Interpretationsspielraum zu geben, 0+0=0; 1+0=1; 0+1=1; 1+1=0 ü=1; den Übertrag ü addiert er in gewohnter Weise auf die nächste Stelle, er merkt sich den Übertrag mit einem kleinen Punkt.

Bei der Subtraktion sind Interpretationen möglich. Von allen modernen Computern wissen wir, daß sie das Zweierkomplement nutzen, um eine Subtraktion auf eine Addition zurückzuführen. Dabei wird die zu subtrahierende Ziffer negiert, dann wird eins addiert. Alle beteiligten Zahlen nutzen dabei die erste Ziffer (MSB) nicht, sie stellt das Vorzeichen dar. Diese großartige Idee hatte Leibniz offenbar noch nicht, sie wurde wohl erst von Konrad Zuse mit seiner Zuse-Z3 Rechenmaschine am 12. Mai 1941 der Öffentlichkeit vorgestellt.

Betrachtet man die Rechnung von Leibniz, so subtrahierte er nach folgender Regel: 1-0=1; 1-1=0; 0-0=0; 0-1=1 ü=-1; er rechnet mit einem negativen Übertrag.

Multiplikation: Die Schreibweise ist nicht die, die meiner Generation in der Schule beigebracht wurde, dennoch liegen die Dinge klar auf der Hand, er multipliziert Stelle für Stelle und addiert die um die Stelle verschobenen Teile wie gewohnt. Wie bei der Addition notiert er den Übertrag mit einem Punkt.

Die Division ist nur mit Übung nachvollziehbar. Entweder hatte Leibniz einen speziellen Stil, oder es haben sich auch hier Druckfehler eingeschlichen. Deshalb hier die Division, die ich für die Aufgabe 15/3 = 5 erwartet hätte:

	1111 / 11 = 101
	11			denn 1 · 11 = 11
	---
	 01
	  0			denn 0 · 11 = 00
	  --
	  11
	  11			denn 1 · 11 = 11
	  ---
	  000

Weil die Null-Produkte nicht beachtet werden müssen, könnte man in Leibnizscher Kurzform auch gleich schreiben:

	1111 / 11 = 101
	1111		(ZS)
	----
	   0

Verkürzte Notation der Zwischensummen ZS:

	11
	 00		(00 entfällt)
	  11
	----
	1111		(ZS)
	   

Vergleicht man die Rechnung mit dem Original, so wäre wahrscheinlich, daß Leibniz die Zwischensummen direkt in der zweiten Reihe antrug. Allerdings ist die 11 in der letzten Zeile unklar. Leider können wir ihn dazu nicht mehr befragen.

Dennoch ist mir als Hard- und Softwareentwickler nach dem Studium dieser Seite klar, daß Leibniz schon damals erste, binär arbeitende Rechner hätte bauen können, hätte er die dazu nötigen Schaltkreise gehabt.

Um zu verstehen, wie Computer heute addieren, schaue man sich einen Volladder an. Dieser besitzt einen zusätzlichen Eingang für den hereinkommenden Übertrag cin und einen zusätzlichen Ausgang für den hinausgehenden Übertrag cout. Die Leitungen x und y sind die Summanden, s ist die Summe der jeweils zu berechnenden Stelle.

George Booles Darstellungen erscheinen mir vergleichsweise theoretisch überzogen. Das verrät ein Blick in sein 150 Jahre später (1848) erschienenes Hauptwerk "The Calculus of Logic" [3], siehe auch [12].

Toller Titel, aber die Leibnizschen Erkenntnisse zur binären Zahldarstellung und zur binären Arithmetik fehlen leider vollständig. Leibniz wird nicht einmal erwähnt. Stellt sich die Frage, ob Boole die Leibnizschen Binärzahlen in der Form der "Table des Nombres" überhaupt kannte.

Um die logischen Grundfunktionen AND, OR und XOR zu verstehen, hat man sich nur ein paar Eselsbrücken zu merken. AND: eine Null an einem Eingang siegt; OR: eine Eins an einem Eingang siegt; XOR: alle Null oder alle Eins siegen. Siegen heißt, der Ausgang geht auf Eins. Schlußendlich wird noch eine Negation NEG gebraucht: aus 1 wird 0 und aus 0 wird 1.

Sicher muß man auch eine Logikschaltung minimieren können. Aber dafür ist die wiederum hundert Jahre später erfundene Karnough-Tafel [10] besser geeignet.

In der englischen Wikipedia wird Gottfried Wilhelm Leibniz als der "Erfinder der Computer-Wissenschaft" bezeichnet. Zu recht, wie wir hier ganz klar erkennen können. Und die nach Boole benannte "Boolsche Algebra" war Leibniz vielleicht zu trivial, um damit die Kollegen Akademiker zu langweilen? Wir wissen es nicht.

Denn wer binär Addieren, Subtrahieren, Multiplizieren und Dividieren kann, der würde vielleicht auch die Grundregeln für die Realisierung eines Volladders mit AND, OR, XOR und NEG (Negation) entwickeln können?

Um dafür Hinweise zu finden, suchte ich nach dem Original der Leibnizschen Schrift. Es ist im Jahrgang 1703 der französischen Akademie der Wissenschaften zu Paris zu finden. Der Band wurde allerdings erst im Jahr 1705 abgedruckt [7], siehe das Titelblatt. Leibniz Binärsystem finden wir gut versteckt ab Seite 255, statt wie erwartet von S.85 bis S.89. Aber dank der Hilfe von Dr. Sven Erdner von der Gottfried- Wilhelm- Leibniz- Gesellschaft [8] war es möglich, den Beitrag von Leibniz zu entdecken.

So konnte das Leibniz-Original (PDF) aus dem Französischen [6] übersetzt werden; hier ist meine Übersetzung ins Deutsche [9], auch als (PDF).

Leider beschäftigte sich Leibniz im Detail nicht ausführlicher mit Fragen der Logik auf binären Zahlen und der Durchführung der Grundrechenarten Rechenoperationen (plus, minus, mal, durch) mit Binärzahlen.

Er geht stattdessen auf die "vermutlich 4000 Jahre alten Linien von Fohy" ein, die von ihm als Binärsystem entschlüsselt werden konnten [11]. Sie sind heutzutage im Internet als Ching-Hexagram zu finden und haben trotz der Leibnizschen Entdeckung des dahinter stehenden Binärsystems nichts von ihrer astrologischen, mystischen und rein spekulativen Bedeutung verloren.

Bedauerlich, daß ausgerechnet diese Leibnizsche Binär-Arithmetik unter seinem Namen vollkommen unbekannt ist.

Im übrigen enthält [6] Seite 86 einen Druckfehler, den ich korrigiert habe: In der zweiten Rechentabelle rechts oben auf Seite 86 muß es heißen 1101 = 13. Eine andere Kopie dieser Seite, die in der Wikipedia als *.png verwendet wird [5], hat noch einen zweiten Druckfehler in ebendieser Tabelle, dort fehlt auch noch eine vier, statt 8+1 = 13 muß es heißen 8+4+1 = 13.

Wenn Sie Lehrer sind, dann sollten Sie besser die von mir korrigierte Seite benutzen.


Quellen

[1] Deutsche Wikipedia: Gottfried Wilhelm Leibniz (Link)

[2] Englische Wikipedia: Gottfried Wilhelm Leibniz (Link)

[3] George Boole: "The Calculus of Logic" 1848 (PDF) - Quelle verloren

[4] Deutsche Wikipedia: George Boole (Link)

[5] Leibniz Binärsystem, Auszug aus [6] Seite 86 in den verschiedensprachigen Wikipedien (aber mit zwei Druckfehlern) (PNG)

[6] Gottfried Wilhelm Leibniz: "Explication de l'aritmètique binaire" - französisches Original (PDF) - Auszug aus [7] ab Seite 255 mit nur einem Druckfehler 0101 statt 1101 = 13.

[7] Google-Books: Geschichte der königlichen Akademie der Wissenschaften zu Paris, 1703. 662 Seiten, 30 MB (Link) (abgedruckt 1705). Dort ab Seite 255.

[8] Gottfried-Wilhelm-Leibniz-Gesellschaft Hannover (Link)

[9] Heinz, G.: - Übersetzung der "Erläuterung zur binären Aritmetik" (Explication de l'aritmètique binaire) von Gottfried Wilhelm Leibniz (HTML), (PDF)

[10] Wikipedia: Karnough-Tafel

[11] G.W.Leibniz: "Linien von Fohy" oder später auch Ching-Hexagramm genannt, Leibnizsches Original (JPG)

[12] George Boole: "The Mathematical Analysis of Logic". Cambridge: Macmillan, Barclay & Macmillan; London: G. Bell, 1847. (PDF)



Created 2023/02/23
http://www.gheinz.de/news/leibniz.htm
Mail to info@gheinz.de
Besucher seit 6. Dez. 2021: