mini|Simulation des Antriebsstrangs eines Ackerschleppers mit Hybridrechner EAI-8800 und Hardware-in-the-Loop (1987)
Analogrechner sind Rechengeräte oder Rechenmaschinen, mit denen Berechnungen mit Hilfe von meist kontinuierlichen mechanischen oder elektrischen Vorgängen durchgeführt werden. Sie unterscheiden sich von Digitalrechnern dadurch, dass keine klassischen Algorithmen ausgeführt werden, sondern der Computer stattdessen als Hardware-Modell des zu lösenden Problems fungiert. Das Analogrechnen basiert zumeist auf der Verarbeitung und Messung physikalischer Größen, wobei meistens das Messergebnis dem Ergebnis der Rechnung entspricht. Beim Rechenschieber, einem einfachen mechanischen Analogrechner, werden Zahlen als stetig auswählbare Längen repräsentiert und die Multiplikation bzw. Division von Zahlen auf eine logarithmische Addition bzw. Subtraktion abgebildet. Im Gegensatz dazu nutzt das klassische „digitale“ Rechnen direkt Zahlen als diskret definierte mathematische Werte, welche abstrakt z. B. als Schaltzustände und eben nicht als messbare physikalische Größen vorliegen und mit Hilfe von Algorithmen, welche sequenziell von einem Prozessor ausgeführt werden, verarbeitet werden. Meist bezieht sich der Begriff „Digitalrechner“ daher auf die Von Neumann-Architektur. Es gab bereits ab Ende der 40er Jahre auch digital arbeitende Analogrechner (siehe weiter unten bei DDAs), welche allerdings auf Grund hoher Kosten und technischer Schwierigkeiten weniger verbreitet waren, sich aber in der Programmierung und Arbeitsweise im Großen und Ganzen wie Analogrechner verhielten und sich deutlich von modernen Digitalcomputern unterscheiden.
Bei Analogrechnern wird die Eigenschaft ausgenutzt, dass es in einem bestimmten Gültigkeitsbereich einen Zusammenhang zwischen dem Verhalten von Original und Modell gibt („Analogieprinzip“). Man kann mit dem Modell (Altgriechichisch „Analogon“) das Verhalten des Originals simulieren, weil sich Original und Modell in dem Bereich, der von Interesse ist, ähnlich (lat. „simul“) verhalten, bzw. mathematisch einander entsprechen. Analogrechner wurden anfangs für spezifische technische Zusammenhänge verwendet, beispielsweise zur Berechnung von Regelvorgängen mit Hilfe von pneumatischen oder elektrischen Ersatzschaltungen, die das dynamische Verhalten nachahmten. Ein anderes Beispiel war die mechanisch arbeitende Gezeitenrechenmaschine. Ab den 1940er Jahren wurden Analogrechner mit Operationsverstärkern, zuerst auf Basis von Elektronenröhren und später mit Transistoren gebaut und für allgemeine Problemlösungen standardisiert. Elektronische Analogrechner können für Spezialeinsatzgebiete auch rein passiv ohne aktive Bauelemente konstruiert werden. Außerdem gibt es sowohl direkte als auch indirekte Analogien.
Vergleich zu Digitalrechnern
Wie eingangs erwähnt arbeiten Analogrechner nicht wie heutige Digitalrechner auf der Grundlage von Algorithmen, sondern mit Hilfe eines zur Problemstellung analogen Modells (Analogon). Zum Beispiel in Form von geometrischen Längen, Winkeln, Wasserständen (Wasserintegrator), elektrischen Spannungen, elektrischen Strömen, oder Rechenelementen (beim DDA in digitaler Form) welche miteinander verbunden und so in einen gemeinsamen mathematischen Kontext gesetzt werden. Die Beschreibung der Gleichungen erfolgt beim klassischen elektronischen Analogrechner durch die Verbindung spezialisierter Rechenelemente untereinander, u. a. z. B. Potentiometer (als Koeffizientenglieder) mit denen Parameter eingestellt und während der laufenden Rechnung verändert werden können, bei einem Digitalrechner durch die Software.
Beim Analogrechner bildet allein diese Verbindung der Rechenelemente (also quasi allein die Hardware) ein Abbild der entsprechenden mathematischen Gleichungen und Zusammenhänge, während dieselben Gleichungen beim Digitalrechner mit Hilfe von Algorithmen, einer Art Liste von logischen Anweisungen, ausgeführt werden. Im Gegensatz zu klassischen Digitalrechnern benötigen Analogrechner daher auch keinen Speicher. Das war auch der Hauptgrund warum Analogrechner erst spät von Digitalrechnern vollständig abgelöst wurden da diese ohne Speicher deutlich schneller arbeiteten. Auch heutzutage übertreffen selbst alte Analogrechner moderne Hochleistungsrechner in manchen Bereichen in puncto Geschwindigkeit und Energie-Effizienz.
Ein häufiges Problem stellt heutzutage der Begriff des Analogrechnens dar. Häufig versteht man unter einem Analogrechner eine Rechenmaschine, welche messbare kontinuierliche Spannungen nutzt, um Werte darzustellen, was auch dadurch bestärkt wird, dass die meisten Analogrechner auf Analogtechnik basierten. Tatsache ist jedoch, dass der Analogrechner sich vor allem dadurch auszeichnet, dass er eine Analogie zur Problemlösung nutzt, unabhängig davon, ob z. B. die Rechenelemente digital oder analog arbeiten. Während es z. B. bei der heutigen digitalen Darstellung von Werten, keinen direkten Zusammenhang zwischen den internen Rechenvorgängen und dargestellten Systemen gibt (Abstraktion), erfolgt die Berechnung mit analog verschalteten Rechenelementen tatsächlich durch Schaltungen, welche eine dem zu lösenden Problem analoge Struktur aufweisen. Für alle Bestandteile einer mathematischen Gleichung existiert eine eigenständige Recheneinheit, welche jeweils eine einzelne Rechenoperation ausführt. Diese Recheneinheiten sind auf bestimmte Rechenoperationen spezialisiert und stehen für jeweils einen Aspekt des Gesamtproblems, welches sie durch ihre Verdrahtung darstellen. Alle Rechenelemente arbeiten daher parallel und führen alle Operationen gleichzeitig aus was dazu führt, dass die Lösungszeit unabhängig von der Problemgröße ist. Jedoch steigt der Bedarf an Rechenelementen und damit die Größe der Hardware. In klassischen Analogrechnern wurde hauptsächlich Analogtechnik verwendet, bestehend aus zumeist passiven und aktiven Bauelementen. Allerdings sind die meisten Rechnungen oft nur mit Hilfe von Operationsverstärkern realisierbar, da das Signal z. B., entgegen der natürlichen Tendenz der passiven Elemente, in eine präzise Integral- oder Ableitungsfunktion umgeformt werden muss. Diese Entsprechung der Entsprechung der Eingangs- und Ausgangsfunktion an einem Rechenelement beiden unterschiedlichen physikalischen Größen bildete die Grundlage für die meisten Bestandteile eines klassischen Analogrechners. Im Gegensatz dazu arbeiten Analogrechner mit digitalen Rechenelementen (auch als paralleler DDA bezeichnet) mit binärer Zahlendarstellung. Sie benötigen daher in jedem Rechenlement wie z. B. den Integratoren, ein entsprechendes angepasstes Rechenverfahren, während man in der Analogtechnik einen meist, numerisch stabilen, physikalischen Prozess nutzte der aber meist die Wahl der Integrationsvariable einschränkte. Besonders die Integration ist hier deutlich schwerer auszuführen als es in klassischen Geräten der Fall war, da ein geeignetes numerisches Verfahren implementiert werden muss, welches dem Problem angepasst werden musste. Außerdem haben sie aufgrund der hohen Taktfrequenzen eine vielfach höhere Leistungsaufnahme als analoge Techniken. Andererseits haben solche Rechner auch viele Vorteile wie z. B. beliebige Präzision, bessere Kopplung mit speicherprogrammierten Digitalrechnern, Miniaturisierbarkeit (z. B. auf FPGAs) und vor allem frei wählbare Integrationsvariablen, während mit Analogelektronik, ohne weiteres, nur nach der Zeit integriert werden kann. Außerdem konnte mit Hilfe solcher digitaler Techniken ein arbiträrer Funktionsgeber erzeugt werden, der mit Analogtechnik nur schwer bis unmöglich war. Allen diesen Analogrechenmaschinen ist gemein, dass sie ihre Berechnungen nicht auf der Basis von Algorithmen ausführen, sondern eine Analogie zum zu behandelnden Problem in Form von Hardware nutzen. Dadurch, dass alle Rechnelemente spezialisiert und somit in ihrer Funktion bereits von vornherein festgelegt sind und zudem fortwährend, also ständig ihre rechnen und einen Output liefern, ohne auf explizite Instruktionen angewiesen zu sein und das Gesamtprogramm als implizite Verbindungsstruktur und nicht wie bei heutigen Rechnern als eine aus einem Speicher zu ladende Abfolge von Anweisungen vorliegt, ist die Lösungszeit, also die Zeit vom Beginn der Rechnung bis zum Vorliegen der Lösung in der Regel extrem schnell und nahezu vollkommen unabhängig von der Komplexität des zu lösenden Problems. Lediglich die Maschinenkomplexität, also die Anzahl der Rechenlemente und die sie verbindenden Verbindungselemente und auch damit die Größe des Rechners nimmt zu. Diese Eigenschaft wird vermehrt von großen Firmen als Vorteilhaft für die Lösung von hochkomplexen Problemen im High Performance Computing angesehen.
Der große Vorteil von Analogrechnern ist damit ihre Echtzeitfähigkeit sowie ihre prinzipbedingt hohe Ausführungsparallelität, bei Analogelektronik bis in den Frequenzbereich von 20 kHz. Dies führt zu, im Vergleich zu algorithmisch programmierten Maschinen bei gleicher Leistungsaufnahme, sehr hohen Rechenleistungen, welche jedoch klassisch meist mit begrenzter Rechengenauigkeit, deren Maschinenfehler im besten Fall bei ca. 0,01 Prozent liegt, auskommen müssen. Die begrenzte Genauigkeit klassischer Analogrechner liegt vor allem an den Eigenschaften der Analogelektronik. Rauschen und Drift lassen sich zwar, mit entsprechendem Aufwand, fast beliebig verringern aber nie komplett beseitigen und die Messtechnik ist naturgemäß in ihrer Messgenauigkeit beschränkt. Außerdem muss jede Gleichung so skaliert werden, dass sie Amplituden- und Breitbandmäßig zum Rechner passt. Solche Nachteile werden jedoch in digitalelektronische Analogrechner (Digital Differential Analyzers) vermieden. Vorteile der analogen Technik sind jedoch die naturgemäß hohe numerische Stabilität die auch die Lösung steifer Differentialgleichungen erlaubt.
Geschichte der Analogrechner mini|hochkant=1.5|Mechanismus von Antikythera
Bekannte alte Beispiele für Analogrechner sind die verschiedenen Arten von Rechenschiebern und mechanischen Planimetern, die seit dem 19. Jahrhundert weit verbreitet waren, bis sie in den 1970er und 1980er Jahren durch digitale elektronische Geräte abgelöst wurden. Weit verbreitet waren auch Proportionalwinkel, Reduktionszirkel und (fürs Zeichnen) Pantografen und Koordinatografen. Rechenschieber gab es vor allem in den Formen Rechenstab, Rechenscheibe, Rechenwalze und Rechenuhr.
Das älteste bekannte Gerät mit einer analogen Arbeitsweise ist der Mechanismus von Antikythera, der auf ungefähr 150 v. Chr. datiert wird. Mit ihm konnten Mond- und Sonnenfinsternisse sowie die Olympiaden ermittelt werden. Der Mechanismus von Antikythera stellte lediglich feste, vorfaktorisierte Beziehungen zwischen mehreren zeitlich periodisch veränderlichen Größen dar, es wurde somit nicht im eigentlichen Sinn gerechnet.
Zur Berechnung von Gezeiten wurden mechanische Analogrechner eingesetzt, wie man sie im Deutschen Schifffahrtsmuseum in Bremerhaven oder in WilhelmshavenErster deutscher Gezeitenrechner von 1914 in Wilhelmshaven sehen kann. Mechanische Getriebe dienten als Integratoren, die über Seilrollengetriebe miteinander gekoppelt wurden, um den Einfluss des Mondes, der Sonne und der Erdrotation sowie einige weitere Parameter nachzubilden.
1919 war Vannevar Bush als Wissenschaftler am MIT beschäftigt, ab 1923 als Professor für Elektrotechnik. Dort entwickelte er zwischen 1923 und 1927 einen Analogrechner zum Lösen von Differentialgleichungen, den Product Integraph. Der Differential Analyzer war ein elektromechanischer Analogrechner, der gleichzeitig mehrere Differentialgleichungen integrieren konnte. Die Ausgabe erfolgte mittels automatisch gedruckter Schaubilder. Er wurde in den Jahren 1928 bis 1932 am Massachusetts Institute of Technology (MIT) unter der Leitung von Vannevar Bush und H. L. Hazen entwickelt.