Prinzip der Differenzmaschinen
Differenzmaschinen heißen so nach dem mathematischen Prinzip, auf dem sie beruhen, nämlich der Methode der endlichen Differenzen. Im Allgemeinen kann die Berechnung des Wertes eines Polynoms jede oder alle der Methoden Addition, Subtraktion, Multiplikation und Division erfordern.
Ein Vorteil der Methode der finiten Differenzen ist, dass sie die Multiplikation und Division überflüssig macht und die Werte eines Polynoms nur durch einfache Addition berechnet werden können. Das Addieren zweier Zahlen mit Hilfe von Zahnrädern ist einfacher zu implementieren als Multiplikation oder Division und so vereinfacht die Methode einen ansonsten komplexen Mechanismus.
Wenn die ersten paar Werte eines Polynoms bekannt sind, kann der Rest durch einfache wiederholte Addition berechnet werden. Die Methode ist im obigen Diagramm für die Funktion F(x) = x2 + 4 dargestellt. Die Werte von x sind in der ersten Spalte dargestellt, wobei jedes Mal um 1 erhöht wird (x = 1, 2, 3, 4 . . .). Die Werte der Funktion x2 + 4 sind in der zweiten Spalte dargestellt, wobei die ersten vier Werte durch Kopfrechnen oder von Hand berechnet wurden (5, 8, 13, 20).
Der nächste Schritt ist die Berechnung der ersten und zweiten Differenzen. Die ersten Differenzen stehen in der dritten Spalte und werden durch Subtraktion der aufeinanderfolgenden Werte aus der vorherigen Spalte berechnet, wie die durchgezogenen Pfeile von links nach rechts zeigen (8-5=3, 13-8=5 usw.). Die zweiten Differenzen werden durch Subtraktion der ersten Differenzpaare berechnet und sind in der letzten Spalte dargestellt.
Mit diesen berechneten Anfangswerten können die restlichen Werte der Funktion durch Umkehrung des Prozesses berechnet werden. Die Werte, die wir berechnen wollen, sind unterhalb der oberen gestrichelten Linie dargestellt. Für dieses Polynom ist die zweite Differenz eine Konstante (2). Um den Wert der Funktion für x=5 zu berechnen, wird die konstante Differenz (2) zur ersten Differenz (7) addiert, um die nächste erste Differenz (9) zu erhalten (roter Pfeil), die dann zum letzten Funktionswert (blauer Pfeil) addiert werden kann, um F(5) = 29 zu erhalten. Dies ist das gewünschte Ergebnis, das ohne Multiplikation erreicht wird.
Der Vorgang kann dann wiederholt werden, um die nächste erste Differenz (11) zu erhalten, die zum letzten Funktionswert addiert werden kann, um F(6) = 40 zu erhalten, usw. Mit dieser Methode kann jedes Polynom zweiten Grades auf diese Weise berechnet werden, und allgemeiner kann jedes Polynom n-ten Grades berechnet werden, indem nur die Addition verwendet wird, beginnend mit der n-ten Differenz.
Babbage’s Difference Engine No. 2 hat „Register“, um eine Zahl aus jeder der Spalten in der Tabelle zu halten (zum Beispiel 20, 7, 2). Sie würde die zweite Differenz zur ersten addieren und dieses Ergebnis dann zum Funktionswert addieren, um den nächsten Eintrag in der Tabelle zu berechnen. Es gab genug ‚Register‘ für sieben Differenzen, so dass 31-stellige Werte für Polynome mit Termen bis zu x7 berechnet werden konnten.