Es lebe der kleine Unterschied
Geschrieben am 21.08.2015 von HNF
Die Differenzmaschinen waren in der digitalen Rechentechnik der erste Schritt von einfachen Addiergeräten zu komplexeren Systemen. Sie vereinen jeweils mehrere Addiervorrichtungen, wobei der Output eines Addierers als Input des nächsten dient. Sie wurden zum Erstellen von mathematischen Tafeln benutzt. Ihre Prinzipien wollen wir mit einer Maschine des berühmten Konstrukteurs Christel Hamann (1870–1948) näher erläutern.
Mechanische Rechenmaschinen, so wie sie im Heinz Nixdorf MuseumsForum zu sehen sind, gliedern sich in zwei große Gruppen. Es gibt zum einen die Geräte zum Addieren und Subtrahieren, von denen manche über ein kleines Druckwerk verfügen, und zum anderen die für die vier Grundrechenarten, die aber hauptsächlich zur Multiplikation dienen. Dabei tippt man eine Zahl ein, die von der Maschine gespeichert und mit gelegentlicher Stellenverschiebung auf sich selbst addiert wird.
In den frühen 1820er-Jahren erschien in der Welt der Rechentechnik ein dritter Rechengerätetyp, der dann mehr als ein Jahrhundert in Gebrauch war – die Differenzmaschine. Erfinder war der englische Mathematiker Charles Babbage, dessen späteres Konzept der Analytischen Maschine den digitalen Computer vorwegnahm. Seine Ideen zu den „Difference Engines“ werden in Kürze auch in der Sonderausstellung des HNF über Ada Lovelace behandelt.
An dieser Stelle geht es jedoch nicht um Charles und Ada, sondern darum, wie Differenzmaschinen funktionierten und was man mit ihnen anstellte. Die erste Frage ist leicht zu beantworten: Eine solche Maschine ist ein Komplex aus mehreren Addiermaschinen, zum Beispiel A1, A2, A3 und A4, deren Ein- und Ausgabeteile so miteinander verbunden sind, dass schrittweise der Output einer Maschine der nächsten als Input zugeführt wird. Das Endresultat der Schlussmaschine A4 wird ausgedruckt.
Differenzmaschinen arbeiten mehrere Rechenprozeduren hintereinander ab. Dabei haben die vier Addierer zu Beginn schon Zahlen im Resultatwerk gespeichert, etwa z1, z2, z3 und z4. Die Arbeit unserer Maschine beginnt nun so, dass sie einen festen Wert d zu z1 addiert. Danach addiert sie die Summe (d+z1) zu z2, anschließend ((d+z1)+z2) zu z3 und endlich (((d+z1)+z2)+z3) zu z4 mit Ausdruck der Endsumme. Und dann beginnt der ganze Rechenzyklus wieder von vorne.
Zu beachten ist, dass in den aufeinanderfolgenden Zyklen die Resultatwerke der Maschinen A1 bis A4 nicht von außen eingestellt werden, sondern dass die Werte, die sich im Rechenvorgang ergeben, so bleiben, bis im nächsten Zyklus etwas intern hinzuaddiert wird. (Wobei Addieren auch Subtrahieren bedeuten kann, nämlich wenn d, z1, z2 oder z3 eine negative Zahl ist.) Und ebenso wichtig ist, dass sich die Zahl d im Laufe der Rechenprozeduren niemals ändert.
Der menschliche Benutzer hat nur die Aufgabe, d und die Startwerte für z1 bis z4 einzustellen und für einen Antrieb der Maschine zu sorgen. Danach kann er sie sich selbst überlassen, jedenfalls so lange, bis ihm ein Stopp und die Auswertung der Resultate von Untermaschine A4 sinnvoll erscheinen. Wir erinnern uns: Am Ende jedes Rechenzyklus ändert sich der Wert von z4 und wird ausgedruckt.
Zwischen 1820 und 1950 entstanden in England, Schweden, Deutschland und den USA etwa ein Dutzend Differenzmaschinen; zwei weitere wurden in jüngster Zeit nach alten Plänen von Babbage gebaut. Manchmal genügte es, handelsübliche Buchungs- oder Rechenmaschinen zu modifizieren, um sie zum Differenzenkalkül einzusetzen. Der Hauptzweck war das Erstellen mathematischer Tafeln, zum Beispiel von Logarithmen. Dabei wurde zunächst ein Teil der Zahlen von Menschen bestimmt, worauf dann mit der Maschine die Zwischenwerte ermittelt wurden.
Die einzige richtige Differenzmaschine aus Deutschland kam 1909 vom berühmten Konstrukteur Christel Hamann. Sie ist auf dem Foto oben zu sehen sowie in dieser Flash-Animation und umfasste zwei Teilmaschinen, also A1 und A2. A1 ist in der Animation die mittlere Ziffernreihe, in der man durch Anklicken der blauen Kreise eine Startzahl z1 einsetzt. A2 und die Startzahl z2 werden analog durch die oberen Reihen angezeigt. Die Ziffernreihe unten entspricht unserer Zahl d, einstellbar durch Anklicken der kleinen Rechtecke.
Nach Eingabe von d, z1 und z2 erfolgt durch Klick auf die rechte Kurbel die Addition von d und z1. Danach steht in A1 die Summe (d+z1), außerdem wird – das unterscheidet die Animation von unserer Einführung – z2 ausgedruckt, siehe das rechteckige weiße Feld. Ein Klick auf die linke Kurbel zählt dann in A2 (d+z1) und z2 zusammen. Am besten kann das der Leser bzw. die Leserin selbst testen, indem er/sie abwechselnd die eine und die andere Kurbel aktiviert.
Viel Spaß mit der Hamannschen Differenzmaschine! Wer noch tiefer gehende Erläuterungen lesen will, findet sie in diesem Artikel. Und warum heißt die Differenzmaschine „Differenzmaschine“? Ganz einfach: Wenn ich zu einer Zahl z eine Zahl d addiere, dann ist d genau die Differenz zwischen dem alten und dem neuen Wert von z.
Zu erwähnen wäre hier noch Johann Helfrich Müller, der bereits 1784 die Idee einer Differenzenmaschine beschrieb, also deutlich vor Babbage:
https://blog.hnf.de/johann-helfrich-mueller-und-seine-rechenmaschine/