Minimale Informationsverarbeitung und Komplexität Andreas Reiserer Minimale Informationsverarbeitung und Komplexität Gliederung: Was ist Komplexität? Grenzen der Berechenbarkeit Geschwindigkeit Speicher Parallelisierbarkeit Heutige logische Schaltungen Reversible Logik Minimale Informationsverarbeitung Zusammenfassung Wozu braucht man ein Maß für Komplexität? Ziel: Intuitive Vorstellung quantifizieren Voraussetzung für weitere Theorien Fragestellungen: logisch universelle Modellsysteme Theorie der Berechenbarkeit Fehlerkorrektur Dissipative Prozesse Selbstorganisation spontane Zunahme von Komplexität Verhalten im Grenzfall unbegrenzten Raumes und unbegrenzter Zeit Wie kann man Komplexität quantifizieren? Bedingungen an eine Definition von Komplexität: in Übereinstimmung mit intuitiver Vorstellung Forderung: langsames Wachstum (außer mit geringer Wahrscheinlichkeit) Anwendbarkeit auf unterschiedlichste Modellsysteme Objektives Maß Mathematische Präzision Wie kann man Komplexität quantifizieren? Thermodynamische Potentiale Entropie, freie Energie Minimale Entropieproduktion, die beim Erstellen nötig ist im Widerspruch zu intuitiver Vorstellung Bsp: Sterile Nährlösung ↔ Bakterienkolonie Langreichweitige wechselseitige Information Betrag, um den die gemeinsame Entropie zweier entfernter Teile des untersuchten Objekts die Summe der Einzelentropien übersteigt Erfüllt nicht die Forderung nach langsamem Wachstum Bsp: Zerbrechen eines Glases → hohe Komplexität Wie kann man Komplexität quantifizieren? logische Universalität jede beliebige Berechnung ausführbar? kein quantitatives Maß eher die Regel als die Ausnahme Möglichkeit ↔ ausgeführte Rechnung Komplexitätsmaß in der Informatik asymptotischer Aufwand, eine Funktion zu berechnen z.B. polynomial, exponentiell Existenz von nicht berechenbaren Funktionen Übertragung auf physikalische Systeme/Modelle schwierig Wie kann man Komplexität quantifizieren? Algorithmic Information Größe des kleinstmöglichen universellen Computerprogramms, das das jeweilige Objekt erzeugen kann vgl. Kolmogorov-Komplexität bzw. „Informationsinhalt“: Länge des minimalen Programms, das eine Turingmaschine veranlasst, den jeweiligen String als Output zu liefern entspricht intuitiv eher einem Maß für Zufälligkeit, nicht Komplexität; Bsp: Literarischer Text Wie kann man Komplexität quantifizieren? Logical Depth benötigte Laufzeit eines nicht mehr komprimierbaren, universellen Computerprogramms, das das Objekt erzeugt logically deep object: erfordert lange Berechnung Probleme: Was ist das kleinste Programm? etwas größeres Programm → deutlich weniger Zeit (?) Übertragbarkeit auf physikalische Modellsysteme digitale Simulation von kontinuierlichen Variablen Wo liegen die Grenzen der Berechenbarkeit? Moore's law (1965): Alle 18 Monate: Verdopplung der Speicherdichte bislang Faktor 108 Wie lange lässt es sich noch aufrecht erhalten? Was sind die physikalischen Grenzen? Graphik: Wikipedia Begrenzung der Geschwindigkeit Voraussetzung für logische Operationen: eindeutig feststellbare Änderung des Zustands Heisenbergsche Unschärferelation: E t≃ℏ nicht: es dauert mindestens t um Energie mit Genauigkeit E zu messen sondern: Quantenzustand der Ausdehnung E braucht mindestens t≃ℏ / E um in einen orthogonalen Zustand überzugehen Mit E 0=0 folgt E=E minimale Zeit ↔ Durchschnittsenergie eines Gatters bei NMR- und Ionen- Quantencomputern fast erreicht Begrenzung der Geschwindigkeit Je mehr Energie ein einzelnes Gatter hat, desto schneller arbeitet es Maximaler Takt eines Computers ↔ Gesamtenergie unabhängig von Architektur (parallel/seriell) Parallelisierung → Berechnung effizienter, nicht schneller Begrenzung des Speichers Ensemble von m zwei Niveau-Systemen speichert m bits N zugängliche Zustände speichern log2N bit Anzahl der zugänglichen Zustände W bestimmt im thermodynamischen Gleichgewicht die Entropie: S = kB ln W Entropie eines Computers limitiert dessen maximal möglichen Speicher (ohne Redundanz) Zu beachten: Speicher begrenzt durch Smax Entropie eines Computers während einer Berechnung: S=0 Maximale Entropie momentan nicht abschätzbar (TOE nötig) Grenzen eines ultimativen PC Energie begrenzt Geschwindigkeit Entropie begrenzt Speicher Größe begrenzt Grad der Parallelisierbarkeit Abschätzung für einen „ultimativen Laptop“ (bei Verwendung der gesamten Masse und ohne Berücksichtigung von dissipativen Effekten): Moore's law: max 250 Jahre realisitscher: noch 20 Jahre Unbeantwortet: Energiebedarf Logische Gatter Boolsche Algebra beruht auf drei Grundverknüpfungen: Logische Gatter Andere Grundverknüpfungen (EXOR, CNOT...) lassen sich aus diesen leicht konstruieren („universeller Satz“) Ermöglichen alle Berechnungen; z.B. binäre Addition 0 + 0 = 00 0 + 1 = 01 1 + 0 = 01 1 + 1 = 10 Es gibt auch andere vollständige Sätze, z.B. NAND und FANOUT FREDKIN-Gate logische Irreversibilität Heute: Logik beruht auf irreversiblen Gattern Jedes Gatter, das mehr Input- als Output-Kanäle hat, zerstört Information ≡ logische Irreversibilität Information wird zerstört, wenn zwei zuvor unterscheidbare Zustände ununterscheidbar werden; ohne Dissipation nicht möglich (Determinismus) logisch irreversibel → physikalisch irreversibel → Dissipation einer bestimmten Energiemenge Frage: Ist Irreversibilität Voraussetzung für Berechnungen? logische Irreversibilität Prinzipiell: Logische Irreversibilität nicht nötig Voraussetzung: ausschließliche Verwendung reversibler Gatter; z.B. Fredkin-Gates mit vorher gesetzten Bits Führt zu mehr Output als nötig; Falls Löschen: Dissipation Aber: Rückwärtslaufenlassen → Ausgangszustand Reversible Logik Nicht nur Berechnung sondern auch Speicherung nötig Standardmodell: universelle Turing-Maschine reversible Turing-Maschine ist möglich Beruht auf fast zufälliger Bewegung anderes Modell: UhrwerkTuringmaschine (reibungslos) mit minimaler treibender Kraft Reversible Logik Fazit: Diverse (auch klassische) Modelle keine minimale Energiemenge für bestimmte Berechnung (falls ausreichend langsam) kein Widerspruch zur Heisenbergschen Unschärferelation (keine Messung des genauen Zeitpunkts der Berechnung) Bsp: meiste Quantengatter: Reversible Logik Landauer (1961): Berechung erfordert Irreversibilität logische Irreversibilität → physikalische Irreversibilität → Produktion von Wärme bzw. Dissipation Minimale Informationsverarbeitung Bsp: RESTORE TO ONE im abgebildeten Potential dissipationslos bei Verwendung unterschiedlicher Routinen je nach Anfangszustand Durch einfache Kraft nicht möglich ohne Reibung (Determinismus bei Reversibilität) Mit Reibung: Kraft nach rechts, Dämpfung verhindert Rückschwingen Minimale Informationsverarbeitung Verwendung von Speicher, der unterschiedliche Eigenschaften aufweist, je nach Vorzustand: Abweichungen häufen sich an Reversibler Computer: jeder output legt eindeutig input fest nur Gatter verwendbar, deren Wahrheitstabelle gleich oft 1 und 0 enthält, d.h. IDENTITY, NOT, EXOR; kein vollständiges Set Wenn zusätzliche Bits gespeichert werden: Möglichkeit eines reversiblen universellen Satzes Minimale Informationsverarbeitung irreversible Funktion → Einbettung in größeres Gatter → reversibel überflüssige bits sammeln sich an (Gesamte Berechnung nur reversibel, wenn jeder Teilschritt reversibel ist) kein Programm ausführbar, das nicht terminiert extra input nötig nötig: Wissen, wie oft welche Wahrheitsfunktion benötigt wird, dies widerspricht der Intention eines generellen Computers Für allgemeine Berechnungen ist Irreversibilität und damit Entropieproduktion erforderlich Zusammenfassung Unterschiedliche Maße für Komplexität Grenzen der Berechenbarkeit Energie begrenzt Rate Entropie begrenzt Speicher Energiedissipation prinzipiell nicht nötig in der Praxis: Dissipation für allgemeine Berechnungen erforderlich Berechnung → Entropieproduktion Vielen Dank für die Aufmerksamkeit! Quellen: Landauer, R., (1961). Irreversibility and Heat Generation in the Computing Process. IBM Journal of Research and Development, 5:183-191. Bennett, C. H., (1990). How to Dene Complexity in Physics, and Why. In Zurek, W. H., editor, Complexity, Entropy and the Physics of Information, Santa Fe Studies in the Sciences of Complexity, 137-148. Reading, Mass.: Addison-Wesley. Bennett, C. H., and Landauer, R., (1985). The Fundamental Limits of Computation. Scientic American, 253(1): 48-56. Lloyd, S. (2000). Ultimate physical limits to computation. Nature vol. 406, 1047-1054 Bennett, C.H., (1988) Logical Depth and Physical Complexity. The universal Turing Machine: A Half-Century Survey, Oxford University Press Fredkin, E., T. Toffoli (1982). Conservative Logics. Intl. J. Theor. Phys. 21: 219ff.