[Hauptseite]

Rechnerlexikon

Die große Enzyklopädie des mechanischen Rechnens

18.118.140.108 | Anmelden | Hilfe

  DE  EN  FR  IT 
Hauptseite
Gesamtindex
Letzte Änderungen

Druckversion
Artikeldiskussion

Artikel
Bild
Patent



Spezialseiten
Autorentexte

Differenzenmaschine für Anfänger


Differenzenmaschine für Anfänger
von Stephan Weiss

Inhaltsverzeichnis

1 Die erste Annäherung

Wer sich mit der Geschichte mechanischer Rechenmaschinen befasst und tiefer in die Materie einsteigt trifft irgendwann auf den Begriff Differenzenmaschine und den Namen Charles Babbage. Über letzteren ist viel geschrieben worden. Leider fehlt in den Darstellungen zu Babbage und zu den späteren Konstrukteuren von Differenzenmaschinen zuweilen eine klare Aussage über die charakteristischen Eigenschaften einer Differenzenmaschine und aus welchen Gründen ihnen eine Bedeutung in der Geschichte der Rechentechnik zukommt. Differenzenmaschinen aus dem 20. Jahrhunderts finden so gut wie keine Beachtung.

Dieser Aufsatz will diese Lücken schliessen. Er ist keineswegs vollständig und nur als erste Einführung in das Thema Differenzenmaschine gedacht, damit der Leser beim Studium weiterer Literatur die Zusammenhänge besser versteht.
Zunächst soll ein Problem angesprochen werden, welches direkt mit Differenzenmaschinen zu tun hat und zu deren Entwicklung führte.

2 Das Problem mit Zahlentafeln

Die Rechenmaschinen des 17. und 18. Jahrhunderts waren Einzelstücke, die nur Addieren oder die vier Grundrechnungsarten ausführen konnten. Für die Berechnung komplexer Funktionen hat man sie nicht verwendet. Stattdessen griffen Wissenschaftler, Navigatoren, Ingenieure, Astronomen und andere auf Zahlentafeln zurück. Zahlentafeln enthalten in tabellarischer Auflistung die Werte unterschiedlicher Funktionen für gestufte Eingangszahlen. Da sie von Menschen erstellt wurden hatten die Zahlentafeln jedoch einen gravierenden Nachteil: sie waren nicht fehlerfrei und keiner wusste wo Fehler, die man noch nicht zufällig entdeckt hatte, stehen. Fehler konnten bei den schwierigen Berechnungen, beim Kopieren und beim Setzen der Tafeln auftreten. Sie führten zu falschen Konstruktionen der Ingenieure, zu falschen Zins- oder Rentenberechnungen und sogar zu Fehlern in der Navigation von Schiffen.

Babbage war ein Kenner der zeitgenössischen Zahlentafeln und er wusste, welche Probleme aus fehlerhaften Tafeln entstehen konnten. Deshalb griff er die Idee auf, dass man die Tafeln am besten mit Maschinen berechnen sollte.

3 Zeittafel der Differenzenmaschinen

J. H. Mueller entwickelte 1786 die Idee einer Differenzenmaschine, die nie gebaut wurde.

Zwischen 1821 und 1833 konstruierte Charles Babbage eine Differenzenmaschine, die Difference Engine 1, von der 1833 nur ein kleinerer Prototyp für Demonstrationszwecke fertiggestellt wurde. Eine weitere Maschine, die Difference Engine 2, kam über das Entwurfsstadium nicht hinaus. Sie wurde gegen Ende des letzten Jahrhunderts im Science Museum London nachgebaut um ihre Funktionsfähigkeit zu prüfen und 1991 fertiggestellt [1]. Der Nachbau des Druckwerks folgte später. (Die Analytical Engine, ebenfalls von Babbage entworfen und nie ausgeführt, sollte eine programmierbare mechanische Rechenmaschine werden. Sie hat mit unserem Thema hier nichts zu tun.)

DMAnf-Babbage1.jpg

Bild 1: Die Differenzenmaschine 1 von Babbage, Demonstrationsmodell. Quelle: Science Museum London

DMAnf-Babbage2.jpg

Bild 2: Die Differenzenmaschine 2 von Babbage, Nachbau. Quelle: Science Museum London

Angeregt durch die Arbeiten von Babbage bauten Vater und Sohn Georg und Edvard Scheutz zwischen 1834 und 1859 drei Differenzenmaschinen - einen Prototyp und zwei Arbeitsmaschinen.

DMAnf-Scheutz.jpg

Bild 3: Die Differenzenmaschine Nr. 2 von Scheutz. Quelle: [13]

Martin Wiberg verbesserte die Konstruktionen von Scheutz und baute eine Differenzenmaschine, die 1875 zum Berechnen von Logarithmentafeln [14] und Zinstabellen verwendet wurde.

DMAnf-Wiberg.jpg

Bild 4: Die Differenzenmaschine von Wiberg. Quelle: <C> Tekniska muséet, Stockholm

G. B. Grant stellte 1876 auf der Centennial Exhibition in Philadelphia seine Differenzenmaschine aus, die jedoch später keine Bedeutung erlangte.

1908 baute der bekannte Konstrukteur von Rechenmaschinen Christel Hamann in Berlin eine Differenzenmaschine, die bei der Berechnung einer zwölfstelligen (im Druck achtstelligen) Logarithmentafel zum Einsatz kam [3][4].

DMAnf-Hamann.jpg

Bild 5: Die Differenzenmaschine von Hamann. Quelle: [11]

In den Jahren zwischen 1924 und 1952 berechnete A. J. Thompson eine zwanzigstellige Logarithmentafel [12] mit einer Differenzenmaschine, die er sich wegen fehlender finanzieller Unterstützung aus serienmässigen Rechenmaschinen zusammenbauen liess.

DMAnf-Thompson.jpg

Bild 6: Die Differenzenmaschine von Thompson. Quelle: [12]

Ab der Mitte des letzten Jahrhunderts haben elektronische Rechner die Differenzenmaschinen nutzlos werden lassen.

4 Die Arbeitsweise einer Differenzenmaschine

So unterschiedlich Differenzenmaschinen zu sein scheinen, sie besitzen alle den gleichen Aufbau und die gleiche Arbeitsweise. In ihrer Funktion bestehen sie aus mehreren hintereinander angeordneten Addierern (Bild 7). Jeder Addierer mit Ausnahme des ersten erhält eine Zahl a vom vorhergehenden Addierer, addiert diese zu einer Zahl b, die in diesem Addierer schon gespeichert ist, speichert das neue Ergebnis c ab und gibt es gleichzeitig an den nächsten Addierer weiter, wo sich der gleiche Ablauf wiederholt.

DMAnf-Aufbau.jpg

Bild 7: Skizze zum den Aufbau einer Differenzenmaschine. Quelle: Verfasser

Die Verarbeitung negativer Zahlen sowie die Art der Abspeicherung der Summe sind bei den Differenzenmaschinen unterschiedlich ausgeführt.

Die Eingangszahl des ersten Addierers ist eine Konstante. Man stellt sie zu Beginn eines Rechenlaufs ein. Ebenso müssen zu Beginn eines Rechenlaufs die in jedem Addierer gespeicherten Zahlen als Anfangswerte eingegeben werden. Die Additionen laufen automatisch nacheinander ab solange die Maschine angetrieben wird. Zur Ausführung der vier Grundrechnungsarten sind Differenzenmaschinen nicht geeignet.

Die Summe im letzten Addierer nach einem Durchlauf ist das gesuchte Ergebnis. Es wird abgelesen oder über ein Druckwerk ausgegeben. Das Druckwerk macht das Ergebnis entweder auf einem Papierstreifen sichtbar oder es produziert dreidimensionale Formen, mit deren Hilfe die Lettern für den späteren Buchdruck erzeugt werden.

5 Berechnungen mit der Differenzenmaschine

Eine Differenzenmaschine kann nacheinander die Funktionswerte eines Polynoms berechnen. Was das bedeutet zeigt ein Rechenbeispiel. Nehmen wir an, es sollen die Funktionswerte der Funktion x^2 + 2x - 7 für Werte von x = 0, 1, 2,... ermittelt werden. Dazu zeichnet man eine Wertetabelle, in der links untereinander die Werte von x, daneben die zugehörigen Funktionswerte f(x) stehen. Die Funktionswerte erhält man, indem man die Werte von x in die Funktion einsetzt und mit multiplizieren, addieren und subtrahieren ausrechnet (Bild 8).

DMAnf-Funk.jpg

Bild 8: Wertetabelle für x^2 + 2x - 7 mit den ersten, zweiten und dritten Differenzen

Einfacher ist das Ermitteln der Funktionswerte mit der Methode der finiten Differenzen. Dazu fügt man rechts der Wertetabelle zwei weitere Spalten an. In die erste trägt man die Werte ein, um die die Funktionswerte steigen, beispielsweise -4-(-7)=3 oder 8-1=7. Das sind die ersten Differenzen, auch Differenzen erster Ordnung genannt. Rechts daneben folgt die Spalte mit den zweiten Differenzen oder Differenzen zweiter Ordnung. Ihre Werte geben an um wieviel die Differenzen erster Ordnung zunehmen, beispielsweise 5-3=2 oder 7- 5=2. Im gewählten Rechenbeispiel sind die zweiten Differenzen konstant und somit die dritten und alle höheren Differenzen null. In welcher Ordnung die Differenzen konstant werden hängt von der höchsten Potenz von x ab. Im Beispiel ist x^2 die höchste Potenz, demnach sind die zweiten Differenzen konstant. Mit x^7 als der höchsten Potenz wären erst die siebenten Differenzen konstant.

Nachdem einige Differenzen in die Tabelle eingetragen sind kann man die Werte in den Spalten der ersten und zweiten Differenzen zum Berechnen weiterer Funktionswerte nutzen. Man muss nur in unserem Beispiel die konstante zweite Differenz 2 zu einer bekannten ersten Differenz addieren, das Ergebnis als neue erste Differenz merken und diese zu einem bekannten Funktionswert addieren und erhält so einen neuen Funktionswert. Im Beispiel wären das die Zwischenrechnungen 2+5=7 und 7+1=8. Danach beginnt der Ablauf von vorn: die konstante zweite Differenz 2 wird zu der zuvor berechneten ersten Differenz 7 addiert, dieser neue Wert 9 zum letzten Funktionswert 8 addiert und man erhält den nächsten Funktionswert 17 und so weiter. Das Verfahren hat einen Nachteil: ein einmal gemachter Fehler setzt sich immer weiter fort. Es hat aber auch Vorteile: zum einen lassen sich aufeinander folgende Funktionswerte nur durch Addieren oder Subtrahieren ermitteln, zum zweiten kann auch eine Maschine diesen Ablauf ausführen. Eine Maschine erspart Rechenarbeit und macht keine Rechenfehler.

Vergleicht man den beschriebenen Ablauf des Differenzenverfahrens mit der Arbeitsweise einer Differenzenmaschine, dann stellt man fest, dass Differenzenmaschinen genau diesen Rechenablauf ausführen. Zu Beginn der Rechnung ist Vorarbeit zu leisten, weil die Anfangsdifferenzen ermittelt und eingestellt werden müssen. Im Gegensatz dazu stehen die Vierspezies-Rechenmaschinen, die ab 1820 mit Thomas erstmals auf den Markt kamen. Sie benötigen zum Betrieb keine Vorarbeit, beherrschen die vier Grundrechnungsarten, arbeiten allerdings bis etwa 1900 nicht automatisch.
In diesem automatischen Ablauf der Berechnungen mit dem Ziel fehlerfreier Tafeln liegt das Wesen der Differenzenmaschinen und ihre Bedeutung in der Geschichte der Rechentechnik.

Bezogen auf den Rechenablauf unterscheiden sich Differenzenmaschinen in der Anzahl der Addierer bzw. in der höchsten Ordnung der Differenzen, die man verarbeiten kann sowie in der Stellenzahl der Zahlen, die bearbeitet werden. Eine Aufstellung zeigt die Unterschiede.

Babbage DM 1: ? (unklar)
Babbage DM 2: 7 Diff., 31 Stell.
Babbage Demo: 2 Diff., 6 Stell.
Scheutz: 4 Diff., 15 Stell.
Wiberg: 4 Diff., 15 Stell.
Hamann: 2 Diff., 16 Stell.
Thompson: 4 Diff., 13 Stell.

Logarithmische, trigonometrische und bestimmte andere Funktionen lassen sich mit der Differenzenmethode nur annähern. Annähern bedeutet, dass der Rechengang der gleiche wie bei Polynomen ist, die Ergebnisse jedoch Fehler aufweisen, die in vorgegebenen Grenzen gehalten werden müssen. Derartige Verfahren setzen wegen der Bestimmung der Anfangswerte und der Kontrolle der Fehler tiefer gehende mathematische Kenntnisse voraus.

6 Modelle und Simulationen

Es gibt Menschen die von Differenzenmaschinen so begeistert sind, dass sie diese nachbauen, sei es im Original wie die Difference Engine 2, mit einem Metallbaukasten [6][7] oder aus Lego-Teilen [8]. Ein derartiges Unterfangen setzt sehr viel Geduld und Verständnis für Abläufe in der Mechanik voraus. Zudem sind Modelle wie ihre Originale Einzelstücke, die für Versuche nicht zur Verfügung stehen. Mit Simulationen auf dem Bildschirm, z.B. der Differenzenmaschine von Hamann [9] oder einer Maschine von Babbage [10] hingegen kann man sofort arbeiten, ohne sich mit der Funktion der Maschine im Detail auseinander setzen zu müssen. Für Freunde der Geschichte der Rechentechnik ist dies sicherlich eine Herausforderung.

7 Anmerkungen

Um Missverständnisse zu vermeiden ist eine Anmerkung zum Unterschied zwischen Differenzenmaschinen und sogenannten Mehrfach-Rechenmaschinen angebracht. Wie oben erläutert bestehen Differenzenmaschinen aus hintereinander (seriell) geschalteten Addierern, die nacheinander die Ergebnisse des vorhergehenden Addieres abarbeiten. Demgegenüber sind sogenannte Mehrfach-(Doppel- oder Dreifach-)Rechenmaschinen aus zwei oder mehr Einzelmaschinen aufgebaut, die gleichzeitig (parallel) angetrieben werden und arbeiten. Letztere hat man für Rechnungen verwendet, die sich vorteilhaft bei gleichzeitigem Betrieb von mehreren Maschinen abarbeiten lassen. Für Rechnungen mit Differenzen sind sie nicht vorgesehen und auch nur sehr eingeschränkt brauchbar.

Zusatz:
Herr Timo Leipälä hat mir freundlicherweise eines der seltenen Bilder der Differenzenmaschine von Grant zur Verfügung gestellt:


DMGrant-Exhibition.jpg
Bild 9: Differenzenmaschine von Grant (Quelle: "The Masterpieces of the Centennial International Exhibition Illustrated. Volume III: History, Mechanics, Science")

8 Fussnoten

[1]  http://ed-thelen.org/bab/bab-intro.html
(umfangreiche Erklärungen zur Differenzenmaschine 2 von Babbage einschliesslich des mathematischen Hintergrundes)

[2]  http://www.scienceandsociety.co.uk/results.asp?txtkeys1=Difference+engines
(sehenswerte Bilder zu Differenzenmaschinen allgemein)

[3]  http://www.rechnerlexikon.de/artikel/Differenzenmaschine_Hamann

[4]  http://www.rechnerlexikon.de/artikel/Weiss_2006.1

[5]  http://www.rechnerlexikon.de/artikel/Differenzenmaschine_Thompson

[6]  http://www.meccano.us/difference_engines/rde_1/

[7]  http://www.meccano.us/difference_engines/rde_2/index.html
Dazu auch Robinson 2006

[8]  http://acarol.woz.org/

[9]  http://www.mechrech.info
(dann weiter zu >Ausstellung >Funktionsfähige Modelle)

[10]  http://ed-thelen.org/bab/bab-diff-JavaScript.html

[11] Bauschinger, J. und Peters, J.(Hrsg.): Logarithmisch-Trigonometrische Tafeln mit acht Dezimalstellen, 2 Bde. 1. Aufl. Leipzig 1910.

[12] Thompson, A. J.: Logarithmetica Britannica, being a standard table of logarithms to twenty decimal places, 2 vols. Cambridge University Press 1952

[13] Calculating by Machinery. In: The Manufacturer and Builder. A practical Journal of Industrial Progress. Vol. II, No. 8, August 1870

[14] Logarithmen-Tafeln, ausgerechnet und gedruckt mit der Rechenmaschine von Dr. M. Wiberg. Stockholm 1876

9 Empfehlenswerte Literatur in Auswahl

Lindgren, Michael: Glory and Failure. The Difference Engines of Johann Muller, Charles Babbage, and Georg and Edvard Scheutz
(MIT Press Series in the History of Computing), 2nd ed., MIT Press 1990

Swade, Doron: Charles Babbage and his Calculating Engines. Science Museum, London 1991.

10 Copyright

Alle Rechte beim Verfasser
Erstellt von: stewe 17:00, 25. Okt 2006 (IST) 10/2006 (Weiss 2006.3)

Diese Seite ist geschützt. Sie darf nur vom Autor oder einer beauftragten Person verändert werden.
Falls Sie mit dem Inhalt nicht einverstanden sind, machen Sie bitte einen Eintrag bei der Diskussion und schicken dem Autor eine Mail.


Nach dem Urheberrechtsgesetz dürfen Sie Inhalte des Rechnerlexikons ohne Veränderung zitieren, sofern Sie die Quelle angeben.