Analytical Engine
Die Analytical Engine (englisch für Analytische Maschine[1]) ist der Entwurf einer mechanischen Rechenmaschine für allgemeine Anwendungen. Sie stammt von dem britischen Mathematikprofessor Charles Babbage (1791–1871) 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
BearbeitenBabbage 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.[2] 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[3], 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.[4] Babbage selbst wollte damit die Maschinen um weitere mathematische Funktionen, wie Wurzelziehen oder trigonometrische Funktionen, erweitern.
Geschichte
Bearbeiten1837 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.[5]
1878 empfahl ein Komitee der British Association for the Advancement of Science, die Analytical Engine nicht zu bauen.
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.
Aus Babbages Autobiografie:
„Sobald eine Analytical Engine existiert, wird sie notwendigerweise der Wissenschaft die zukünftige Richtung weisen.“
Literatur
Bearbeiten- Luigi Federico Menabrea: Sketch of the Analytical Engine invented by Charles Babbage, Esq. Richard and John E. Taylor, London 1843 (eingeschränkte Vorschau in der Google-Buchsuche [abgerufen am 22. Juni 2024]).
- Allan G. Bromley: Charles Babbage's Analytical Engine, 1838, Annals of the History of Computing, Band 4, Nr. 3, 1982, S. 215
- Allan G. Bromley: Difference and Analytical Engines, in William Aspray (Hrsg.), Computing Before Computers, Iowa State University Press 1990.
Weblinks
Bearbeiten- John Walker: The Analytical Engine: The First Computer. Fourmilab Switzerland; abgerufen am 2. Januar 2015
- L. F. Menabrea: Sketch of The Analytical Engine. Invented by Charles Babbage. Fourmilab Switzerland; abgerufen am 2. Januar 2015
- Notations of calculations for the Analytical Engine. Science Museum Group, abgerufen am 21. Januar 2019 (englisch).
- www.plan28.org, Projekt zum Bau von Charles Babbage's Analytical Engine
Einzelnachweise
Bearbeiten- ↑ Raúl Rojas: Die ersten Computerprogramme der Welt. In: Heise online. 18. September 2016. Abgerufen am 22. Januar 2022.; Zitat: „Charles Babbage hat ab 1837 innerhalb von drei Jahren 27 Programme für die schließlich unvollendet gebliebene ‚Analytische Maschine‘ auf Papier gebracht“.
- ↑ Christoph Dorner: Ada, wer ist Ada? Im Jahr 1842 wirkte eine junge Aristokratin bei der Konstruktion einer Rechenmaschine mit, dem Vorläufer eines Computers. Doch Ada Lovelace ist in Vergessenheit geraten, genau wie viele andere Pionierinnen der Informatik. In: Süddeutsche Zeitung, 14. September 2015, S. 18.
- ↑ Bruce Collier: The Little Engines That Could’ve: The Calculating Machines of Charles Babbage (Ph.D.). Hrsg.: Harvard University. August 1970 (englisch, dyndns.info).
- ↑ John Walker: The Analytical Engine Programming Cards. Abgerufen am 22. Januar 2022 (englisch).
- ↑ Ada King, Countess of Lovelace. In: Veronika Oechtering: Frauen in der Geschichte der Informationstechnik. Universität Bremen (Hrsg.), Bremen, Dezember 2001; abgerufen am 2. Januar 2015.