# Analytical Engine

Die Analytical Engine (englisch für „Analytische Maschine“) ist der Entwurf einer mechanischen Rechenmaschine für allgemeine Anwendungen. Sie stammt von Charles Babbage und stellt einen wichtigen Schritt in der Geschichte des Computers dar. Als Programme gibt es tabellarische Darstellungen; ein Satz von 1837/38 ist erhalten und enthält bereits das Beispiel für die Auflösung eines linearen Gleichungssystems, wie es von Luigi Federico Menabrea 1842 und Ada Lovelace 1843 veröffentlicht wurde; von letzterer ist wohl das Beispiel der Berechnung der Bernoulli-Zahlen.

## Entwurf

Babbage begann 1822 mit der Konstruktion seiner Differenzmaschine (Difference Engine), einer mechanischen Rechenmaschine, die speziell für die Lösung polynomialer Funktionen konzipiert war. Als ihm klar wurde, dass eine viel allgemeinere Bauweise möglich wäre, entwarf er eine Analytical Engine, deren Beschreibung er 1837 veröffentlichte. Er setzte die Arbeit an dem Entwurf bis zum Ende seines Lebens fort. Es ist mittlerweile allgemein anerkannt, dass der Entwurf korrekt war und dass die Analytical Engine funktioniert hätte. Vergleichbare Computer für allgemeine Anwendungen wurden erst ein Jahrhundert später realisiert.
Die Analytical Engine sollte von einer Dampfmaschine angetrieben werden, aus 55.000 Teilen bestehen und neunzehn Meter lang und drei Meter hoch werden. Die Eingabe (Befehle und Daten) sollte über Lochkarten erfolgen, eine Methode, die in der damaligen Zeit der Steuerung mechanischer Webstühle diente. Für die Ausgabe waren ein Drucker, ein Kurvenplotter und eine Glocke (als Signal an den Bediener) geplant. Die Maschine sollte außerdem Zahlen in Lochkarten oder wahlweise Metallplatten stanzen können. Sie benutzte dezimale Festkommazahlen, und Babbage fertigte verschiedene Entwürfe an, die einen „Arbeits“speicher von 100 oder 1.000 Wörtern mit – je nach Quelle – 40 bis 50 Dezimalstellen vorsahen, das entspricht etwa 1,6 bis 20 kB. Jede Dezimalstelle wird durch ein Zahnrad repräsentiert. Mehr Dezimalstellen hielt Babbage bis auf weiteres für unnötig, Zitat: The result of my reflections has been that numbers containing more than thirty places of figures will not be required for a long time to come. Die Recheneinheit (englisch mill für „Fabrik“) sollte die vier Grundrechenarten beherrschen.
Die vorgesehene Programmiersprache war ähnlich den heute verwendeten Assemblersprachen strukturiert. Schleifen und bedingte Verzweigungen wären möglich gewesen, so dass das erste universell programmierbare (turingmächtige) System entstanden wäre. Drei verschiedene Arten von Lochkarten waren vorgesehen: eine für arithmetische Operationen, eine für numerische Konstanten und eine für Lade- und Speicheroperationen, um Zahlen aus dem Speicher in die Recheneinheit und wieder zurück zu transferieren. Wahrscheinlich wären drei separate Lochkartenleser für die drei Kartenarten zum Einsatz gekommen. Babbage selbst wollte damit die Maschinen um weitere mathematische Funktionen, wie Wurzelziehen oder trigonometrische Funktionen, erweitern.

## Geschichte

1837 veröffentlichte Babbage die ersten Beschreibungen zu seiner Analytical Engine. Bedingt durch finanzielle und technische Probleme wurden aber nur wenige Komponenten tatsächlich gebaut.
1842 verfasste der italienische Mathematiker Luigi Federico Menabrea, der den reisenden Babbage in Italien getroffen hatte, eine Beschreibung der Analytical Engine auf Französisch. Ada Lovelace übersetzte sie ins Englische. Nach einer Anfrage von Babbage, warum sie denn nicht eine eigene Abhandlung verfasst habe, kommentierte sie ihre Übersetzung so ausführlich, dass sie die dreifache Länge des ursprünglichen Artikels einnahm. Weil sie auch einen schriftlichen Plan, was man später als Computerprogramm bezeichnen würde, zur Berechnung von Bernoulli-Zahlen mit der Maschine veröffentlicht hat, wird sie auch „erste Programmiererin“ in der Geschichte genannt.
1878 empfahl ein Komitee der British Association for the Advancement of Science, die „Analytical Engine“ nicht zu bauen.

## Nachwirkung

1910 berichtete Babbages Sohn, Henry P. Babbage, dass ein Teil der Recheneinheit und der Drucker gebaut und dazu benutzt worden seien, eine (fehlerhafte) Liste von Vielfachen von Pi auszurechnen. Dies war nur ein kleiner Teil der ganzen Maschine, nicht programmierbar und ohne Speicher.
Danach geriet die Maschine, deren Entwurfspläne als funktionsfähig gelten, in Vergessenheit.
1941 war die Zuse Z3 von Konrad Zuse der erste universell programmierbare Rechner, der tatsächlich gebaut wurde und funktionierte. Erst um 1960 erreichten Computer die von Babbage vorgesehene Rechengenauigkeit (50 Dezimalstellen sind ca. 166 Bit bzw. 20 Byte). Howard Hathaway Aiken, der 1943–44 die elektrische Rechenmaschine Mark I baute, wurde durch den Aufbau der Analytical Engine beeinflusst.
Es gibt seit 2010 ein Projekt Plan 28 der Simulation, Erforschung und letztendlich des erstmaligen Baus (falls das möglich ist) der Analytical Engine nach den Plänen von Babbage, das von John Graham-Cumming begonnen wurde und an dem der Babbage-Experte Doron Swade beteiligt ist. Dazu wurde zunächst der schriftliche Nachlass von Babbage erfasst und digitalisiert.