Übersicht Eine neue Informatik für Quantenrechner? Roland Rüdiger Fachbereich Informatik – FH Braunschweig/Wolfenbüttel 6. Dezember 2005 Beitrag zur FH-Vortragsreihe Wissenschaft trifft Wirtschaft sowie zur Vortragsreihe der Regionalgruppe Braunschweig der Gesellschaft für Informatik (GI) Roland Rüdiger Eine neue Informatik für Quantenrechner? Übersicht Übersicht 1 Einführung 2 Quantensysteme Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung 3 Quantenalgorithmik Berechnungsmodelle Ein Quantenalgorithmus 4 Quantenprogrammiersprachen Ziele und Design Beispiel: zwei imperative Sprachen 5 Ausblick und Resümee Roland Rüdiger Eine neue Informatik für Quantenrechner? Übersicht Übersicht 1 Einführung 2 Quantensysteme Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung 3 Quantenalgorithmik Berechnungsmodelle Ein Quantenalgorithmus 4 Quantenprogrammiersprachen Ziele und Design Beispiel: zwei imperative Sprachen 5 Ausblick und Resümee Roland Rüdiger Eine neue Informatik für Quantenrechner? Übersicht Übersicht 1 Einführung 2 Quantensysteme Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung 3 Quantenalgorithmik Berechnungsmodelle Ein Quantenalgorithmus 4 Quantenprogrammiersprachen Ziele und Design Beispiel: zwei imperative Sprachen 5 Ausblick und Resümee Roland Rüdiger Eine neue Informatik für Quantenrechner? Übersicht Übersicht 1 Einführung 2 Quantensysteme Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung 3 Quantenalgorithmik Berechnungsmodelle Ein Quantenalgorithmus 4 Quantenprogrammiersprachen Ziele und Design Beispiel: zwei imperative Sprachen 5 Ausblick und Resümee Roland Rüdiger Eine neue Informatik für Quantenrechner? Übersicht Übersicht 1 Einführung 2 Quantensysteme Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung 3 Quantenalgorithmik Berechnungsmodelle Ein Quantenalgorithmus 4 Quantenprogrammiersprachen Ziele und Design Beispiel: zwei imperative Sprachen 5 Ausblick und Resümee Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Übersicht 1 Einführung 2 Quantensysteme Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung 3 Quantenalgorithmik Berechnungsmodelle Ein Quantenalgorithmus 4 Quantenprogrammiersprachen Ziele und Design Beispiel: zwei imperative Sprachen 5 Ausblick und Resümee Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee klassische“ Informatik ” 1/27 höhere Strukturen 0, 1 höhere Programmiersprachen Klassen Module ADTs funktionale Sprachen Prozessalgebren ... + Instruktionssatz eines Prozessors klassische Hardware Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Quanten-Informatik“ – ein neues Gebiet? ” Quantenprogrammiersprachen höhere Strukturen ??? ??? ... |0>, |1> + unitäre Transformationen Quantenhardware Roland Rüdiger Eine neue Informatik für Quantenrechner? 2/27 Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Übersicht 1 Einführung 2 Quantensysteme Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung 3 Quantenalgorithmik Berechnungsmodelle Ein Quantenalgorithmus 4 Quantenprogrammiersprachen Ziele und Design Beispiel: zwei imperative Sprachen 5 Ausblick und Resümee Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Zustandsräume klassisch 3/27 . Zustandsraum in klassischem System: z. B.: in Algorithmus oder Automat . typisch: von der Realisierung (Implementierung) von Zuständen und Zustandsübergängen wird abstrahiert . Gemeinsamkeiten von Quanten- und klassischen Systemen: Innerhalb eines Alg. befindet sich das System jederzeit in einem Zustand, repräsentiert durch lokale Variablen des Alg. Das System wird präpariert durch einen Aufruf, eine Aktivierung des Algorithmus Der Zustand unterliegt einer Dynamik, z. B. Berechnung von Ausdrücken, Zuweisungen am Ende: Ergebnis wird mit return ausgelesen ( Messung“) ” Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Zustandsräume quantenmechanisch . analog: Bestandteile der Beschreibung von Quantensystemen: 1 2 3 Zustandspräparation zeitliche Entwicklung des Zustands abschließende Messung . tiefliegende Unterschiede von Quanten- zu klass. Systemen: Zustände sind interferenzfähig, insbesondere auch in zusammengesetzten Systemen Nur statistische Aussagen sind möglich. Dynamik in abgeschlossenen Systemen ist reversibel ( U-Entwicklung“, Roger Penrose in [Pen94]) ” Die abschließende Messung ( Vergröberung auf die klassische ” Ebene“) vernichtet irreversibel einen Teil der vorhandenen Information ( R-Entwicklung“, Penrose in [Pen94]). ” Roland Rüdiger Eine neue Informatik für Quantenrechner? 4/27 Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Formale Postulate (1) 5/27 . Postulat 1: Zu jedem isolierten physikalischen System gehört ein komplexer Vektorraum mit Skalarprodukt (Hilbert-Raum), der Zustandsraum. Traditionelle Notation für Vektoren: |ψi . Postulat 2: Die zeitliche Entwicklung eines abgeschlossenen Quantensystems wird beschrieben durch eine unitäre Transformation (in diesem Kontext: eine Drehung): |ψ 0 i = U|ψi |ψ 0 i = statet=t2 , |ψi = statet=t1 Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Formale Postulate (2) 6/27 . Postulat 3: Eine Messung bedeutet eine Zustandsreduktion“. ” . Postulat 4: Zustandsraum eines zusammengesetzten physikalischen Systems (das “UND” in der Quantenphysik (Penrose [Pen94])): Tensorprodukt der Zustandsräume der Komponenten-Systeme. formal: |ψn−1 i ⊗ · · · ⊗ |ψ1 i ⊗ |ψ0 i und Superpositionen solcher Zustände Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Quanten kann man nicht klonen 7/27 . |bi = blank ( leeres Blatt“) ” . (nicht erreichbares) Ziel: Kopieren von |ψi auf |bi unter Erhaltung des Originals |bi |ψi?? Ucopy |ψi |ψi . Es gibt keinen (exakt arbeitenden) Kopierer für beliebige Quantenzustände Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Begründung und Anwendung 8/27 . Einfache Begründung (im Prinzip): Die Operation Ucopy in |ψi|ψi = Ucopy (|bi|ψi) kann im zweiten Argument nicht linear sein (Widerspruch zur Unitarität von Ucopy ) . Konkrete Konsequenzen: Z. B. gibt es also kein Gerät, das den Polarisationszustand eines Photons registriert (ohne Messung), diesen auf ein zweites Photon überträgt und dann beide weiterschickt. bereits realisierte Anwendung: Quantenkryptographie Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Verschränkung: Historie 9/27 . Begriff geprägt von E. Schrödinger, 1935: Verschränkung als die Essenz der Quantentheorie . Arbeit von Einstein, Podolski und Rosen (EPR), 1935: Ist die Quantentheorie eine vollständige Theorie? (Grundlagendebatte) . EPR-Variante von D. Bohm, 1951: verschränktes Paar von Spin- 12 -Teilchen . J. Bell, 1964 Bellsche Ungleichungen: Einschränkung von Korrelationen in klassischen Systemen, können durch Quantensysteme verletzt werden. Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Verschränkung als Ressource 10/27 . experimenteller Nachweis der Verletzung: Aspect, 1981/82 [AGR81], Gruppe in Genf um N. Gisin, 1998 [TBZG98] . inzwischen: Verschränkung“ in populärwissenschaftlichen ” Zeitschriften [Spr01] und als technisches Hilfsmittel mit Beschreibung in Computer-Zeitschriften, z. B.: [Sti04, Win04] . quantenkryptographisches Experiment, Wien [PFU+ 04] . Beim Ablauf von Quantenalgorithmen spielt Verschränkung ein wesentliche Rolle. Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Charakterisierende Eigenschaften 11/27 . charakt. Eigenschaften eines (maximal) verschränkten Zustands in einem System aus zwei Komponenten (einem bipartiten System) Der Zustand jedes der beiden Teilsysteme ist vollständig undefiniert. Gleichzeitig ist der Zustand des Gesamtsystems vollständig definiert (im Sinne der Quantentheorie). Die Information über das Gesamtsystem steckt (ausschließlich) in den Korrelationen. populär (und möglicherweise mißverständlich): Das Ganze ist mehr als die Summe seiner Teile.“ ” . Eine Messung separiert“ die beiden Teilsysteme. ” Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Ein Beispiel 12/27 . Beispiel: Zustand vor der Messung (sog. Singlett-Zustand): 1 |ψi = √ (|0iA |1iB − |1iA |0iB ) 2 . und nach der Messung: √ 2 1 entweder |0iA und |1iB mit Wahrscheinlichkeit 1/ 2 = 2 √ 2 1 oder |1iA und |0iB mit Wahrscheinlichkeit −1/ 2 = 2 Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Eine kleine Illustration 13/27 . Alice und Bob auf Wahlkampftour in der Galaxis In je einem Interview haben beide jeweils genau eine von 3 Fragen zu beantworten. Wahrscheinlichkeit für gleiche / verschiedene Antwort: je 1/2 (Zufällig) gleiche Fragen sind stets verschieden zu beantworten. F 1? Nein F 2? Bob Ja Ja Alice F 3? Nein Ja Nein F 2? Ja Nein Nein Ja F 1? Beteigeuze F 3? Ja Nein Aldebaran −5 53 Lj 1.5 .10 Lj 270 Lj Erde Sonne Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung Wie läßt sich die Wahlkampftour“ realisieren? ” . Z. B. mit einem Paar verschränkter Spin- 12 -Teilchen (einem EPR-Paar“) und 3 Messrichtungen unter 1200 -Winkeln ” (entsprechend den Fragen F1 , F2 , F3 ) . Zufällig gleich gewählte Richtungen ergeben bei einer Messung mit Sicherheit verschiedene Spin-Einstellungen: entweder ↑↓ oder ↓↑ . Der Versuch einer klassischen Erklärung“ führt zu falschen ” Wahrscheinlichkeiten. . Fazit: Ein räumlich verteiltes Quantensystem kann i. a. nicht durch ein räumlich verteiltes System klassischer Rechner simuliert werden ohne zusätzliche Ressourcen. Roland Rüdiger Eine neue Informatik für Quantenrechner? 14/27 Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Berechnungsmodelle Ein Quantenalgorithmus Übersicht 1 Einführung 2 Quantensysteme Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung 3 Quantenalgorithmik Berechnungsmodelle Ein Quantenalgorithmus 4 Quantenprogrammiersprachen Ziele und Design Beispiel: zwei imperative Sprachen 5 Ausblick und Resümee Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Berechnungsmodelle Ein Quantenalgorithmus Modell Quantum Random Access Machine (QRAM) . Turing-Maschinen, Zellularautomaten, . . . . heute populär: QRAM, Gattermodell ( Schaltkreismodell“) ” bytecode quantum device driver quantum device measure Classical Computer (Master) Quantum Processor (Slave) . detaillierte Instruktionssätze für beide Komponenten: SQRAM [NPW05] Roland Rüdiger Eine neue Informatik für Quantenrechner? 15/27 Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Berechnungsmodelle Ein Quantenalgorithmus Gattermodell (1) 16/27 . Beispiel: 1 qubit (H = C2 ): preparation / state |ψi „ | . . . . {z « measurement / observable } U (2) Zustände sind |ψi = α|0i + β|1i, wobei |α|2 + |β|2 = 1: → |α|2 = Wahrscheinlichkeit, dass eine Messung 0 ergibt → |β|2 = Wahrscheinlichkeit, dass eine Messung 1 ergibt Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Berechnungsmodelle Ein Quantenalgorithmus Gattermodell (2) 17/27 2 ): . Beispiel: 3 qubits (H =0 C2 ⊗ C2 ⊗ C 1 preparation / state |ψ0 i |ψ1 i |ψ2 i B B B B B B B B B @ . . . . . . . . . . . . . . . . | . . . . . . . . . . . . . . . . . . . . . . . . {z . . . . . . . . . . . . . . . . . . . . . . . . C C C C C C C C C A measurement / observable } U (8) Zustand ist |ψi = |ψ2 i ⊗ |ψ1 i ⊗ |ψ0 i z. B.: |0i ⊗ |1i ⊗ |1i = |011i = |3i |1i ⊗ |0i ⊗ |1i = |101i = |5i Überlagerung: |3i + |5i Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Berechnungsmodelle Ein Quantenalgorithmus Simulation auf klassischem“ Rechner ” 18/27 . Auszuführen sind die Vektorraumoperationen (elementar). . In n qubit-System: die Größe der Matrizen ist 2n × 2n . . Fazit: Das Verhalten von Quantensystemen kann man auf klassischen Rechnern numerisch nachvollziehen, im allgemeinen aber nicht effizient. . Frage: Gibt es Algorithmen, die ein Quantenrechner schneller“ abarbeitet als ein klassischer Rechner? ” . Die Anwort JA widerlegt die sog. starke Church-Turing These: Jede (physikalisch realisierbare) Anordnung, die rechnen kann, kann durch eine probabilistische Turing-Maschine mit höchstens polynomiellem Overhead simuliert werden. [EW04] Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Berechnungsmodelle Ein Quantenalgorithmus Faktorisierungsalgorithmus von Shor: Grundidee 19/27 . Die Faktorisierung wird zurückgeführt auf die Bestimmung der Periode einer periodischen Funktion. . technisch: Rechnung erfolgt in den Bereichen ZN und Z∗N : ZN = {0, 1, . . . N − 1} = additive Gruppe modulo N Z∗N = {x | x ∈ ZN ∧ N, x teilerfremd: gcd(x, N) = 1} = multiplikative Gruppe modulo N . Die Entdeckung dieses Algorithmus war eine wissenschaftliche Sensation: mit einer Realisierung ließe sich u. a. das RSA-Verfahren brechen. Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Berechnungsmodelle Ein Quantenalgorithmus Faktorisierungsalgorithmus von Shor: Details 20/27 . Zusammenfassung [NC00, Hir01, Wer02] als Pseudocode: Factorize(N) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if N is even then return (2, N/2) if N = q b for prime q ≥ 3 and b ≥ 2 then return (q, N/q) repeat repeat choose a ∈ ZN , a ≥ 2 d ← gcd(a, N) if d > 1 then return (d, N/d) we luckily guessed d correctly determine period r of x 7→ a x mod N the quantum part until no failure indicated and r is even d+ ← gcd(N, ar /2 + 1) evaluate 2nd argument modulo N until d+ < N d− ← gcd(N, ar /2 − 1) return (d+ , d− ) the algorithm guarantees 1 < d+ , d− < N Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Ziele und Design Beispiel: zwei imperative Sprachen Übersicht 1 Einführung 2 Quantensysteme Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung 3 Quantenalgorithmik Berechnungsmodelle Ein Quantenalgorithmus 4 Quantenprogrammiersprachen Ziele und Design Beispiel: zwei imperative Sprachen 5 Ausblick und Resümee Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Ziele und Design Beispiel: zwei imperative Sprachen Was soll erreicht werden? 21/27 . Wozu? (Größere) Quantenrechner gibt es noch nicht! . Aber es gibt Simulatoren! . Anwendung in der Algorithmik bekannte Algorithmen genau formulieren neue Algorithmen finden? . aber: keine der (vielen) Quantenprogrammiersprachen (QPLs) hat bisher zur Entdeckung eines neuen Algorithmus geführt, . auch der (Nicht-Quanten)-Programmierer sollte Quantenprogramme schreiben können ( ADT-Idee“) ” . tieferes Verständnis von Informatik und Quantentheorie Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Ziele und Design Beispiel: zwei imperative Sprachen QCL (1) 22/27 Erste echte Quantenprogrammiersprache von B. Ömer [Öm98, Öm00, Öm02] . Features QCL: eine prozedurale Sprache in der Tradition von Pascal / C erweitert um spezifische Konstrukte für Quantenrechner (eigentlich: Konstrukte zur Steuerung eines Quantenexperiments) Operatoren sind syntaktisch auf der Ebene von Prozeduren angesiedelt, also statische Gebilde Aufrufhierarchie zur Vermeidung von Nebeneffekten procedure ⊂ operator ⊂ qufunct ⊂ function Sprachkonstrukt zur Invertierung eines Operators Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Ziele und Design Beispiel: zwei imperative Sprachen QCL (2) 23/27 . Features qubits werden zusammengefasst zu Registern, reichhaltige Sprachkonstrukte zur Manipulation von Registern (ähnlich zu Arrays bzw. Strings) Register verschiedener Typen lokale Variablen, die quantenmechanisch automatisch korrekt behandelt werden ( quantum memory management“) ” didaktisch bestens geeignet . (vielleicht) Nachteile / Schwächen nur prozedural, nicht OOP keine formale Semantik, daher: Analyse von Algorithmen nur über Standardformalismus der Quantentheorie als Folge der Aufrufhierarchie: Rückgabe von Werten nur über globale Variablen oder durch direkte Ausgabe Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Ziele und Design Beispiel: zwei imperative Sprachen Qlanguage (1) 24/27 Sprache von S. Bettelli, L. Calarco und T. Serafini [BCS03] . Features: Verwendung einer Standardsprache (C++) OO-basierte Spracherweiterung mittels ADTs zur implementierten Schnittstelle gehören u. a.: qubits / Register Quantenoperationen vordefinierte elementare Standardoperationen Quantenoperationen sind dynamische Sprachkonstrukte (Objekte) daher: potenziell automatische Optimierung von Quantennetzwerken (Gattern) didaktisch geeignet: bekannte Welt der imperativen / OO-Sprachwelt Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Ziele und Design Beispiel: zwei imperative Sprachen Qlanguage (2) 25/27 . (vielleicht) Nachteile / Schwächen keine formalisierte Semantik Der Compiler kann möglicherweise fehlerhaften Code nicht erkennen (u. a. Typfehler, die Verstöße gegen Gesetze der Quantenmechanik bedeuten) Beispiel: unitärer Operator, der eine Messoperation enthält das Problem aus C++-Sicht: manche Methodenaufrufe sind nicht zugelassen im Kontext bestimmter anderer Methoden Diese Situation ist für einen C++-Compiler nicht als Fehler zu entdecken. Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Aktuelles Eine neue“ Informatik? ” Literatur Übersicht 1 Einführung 2 Quantensysteme Grundpostulate der Theorie Konsequenz der Linearität: No-Cloning Konsequenz der Linearität: Verschränkung 3 Quantenalgorithmik Berechnungsmodelle Ein Quantenalgorithmus 4 Quantenprogrammiersprachen Ziele und Design Beispiel: zwei imperative Sprachen 5 Ausblick und Resümee Roland Rüdiger Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Aktuelles Eine neue“ Informatik? ” Literatur Aktuelle Forschungsaktivitäten 26/27 . Versuch einer Quantisierung“ von theoretischen Konzepten ” der Informatik und Logik [Sel04, Sel05] . Ziel: tiefergehendes Verständnis diese Konzepte und der Quantentheorie Kategorientheorie Lineare Logik Lambda−Kalkül Prozessalgebren Funktionale Sprachen Roland Rüdiger Denotationale Semantik Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Aktuelles Eine neue“ Informatik? ” Literatur Worin könnte die neue Informatik bestehen? . pragmatischer Aspekt Zu speziellen Probleme gibt es schnellere“ Algorithmen, also ” solche in besseren Komplexitätsklassen. U. a. ist eine schnelle Simulationen physikalischer Vorgänge durch Quantensysteme möglich (Feynman). kryptographische Anwendungen auf der Basis von No-Cloning und Verschränkung . theoretischer Aspekt Hoffnung für die Zukunft: vielleicht tiefergehendes Verständnis der Grundlagen1 1 also der Informatik (so die Physiker) bzw. der Physik (so die Informatiker) Roland Rüdiger Eine neue Informatik für Quantenrechner? 27/27 Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Aktuelles Eine neue“ Informatik? ” Literatur Zum Nachlesen von Details Literaturverzeichnis [Pen94] [AGR81] A. Aspect, P. Grangier, and G. Roger. Experimental tests of realistic local theories via Bell’s theorem. Phys. Rev. Lett., 47:460–463, 1981. [BCS03] [PFU+ 04] A. Poppe, A. Fredrizzi, R. Ursin, R. Böhm, T. Lorünser, O. Maurhardt, M. Peev, M. Suda, C. Kurtsiefer, H. Weinfurter, T. Jennewein, and A. Zeilinger. Practical quantum key distribution with polarization entangled photons. Optics Express, 12(16), 2004. S. Bettelli, T. Calarco, and L. Serafini. Toward an architecture for quantum programming. Eur. Phys. J., D 25(2):181–200, 2003. http://arXiv.org/abs/cs.PL/0103009abs. [Sel04] [EW04] J. Eisert and M. M. Wolf. Quantum computing, 2004. http://arXiv.quant-ph/0401019 v1. [Hir01] Mika Hirvensalo. Quantum Computing. Springer-Verlag, Berlin, Heidelberg, 2001. [NC00] Michael A. Nielsen and Isaac L Chuang. Quantum Computation and Quantum Information. Cambridge University Press, Cambridge, 2000. [Sel05] [Spr01] [NPW05] Rajagopal Nagarajan, Nikolaos Papanikolaou, and David Williams. Simulating and compiling code for the Sequential Quantum random Access Machine. In Peter Selinger, editor, Proceedings of the 3rd International Workshop on Quantum Program- [Sti04] ming Languages, pages 91–112, Chicago, USA, June 30 - July 1 2005. Electronic Notes in Theoretical Computer Science, URL: [TBZG98] www.elsevier.nl/locate/entcs. [Öm98] B. Ömer. A procedural formalism for quantum computing. Master’s thesis, TU Wien, 1998. http://tph.tuwien.ac.at/˜oemer/papers.html. [Öm00] B. Ömer. Quantum programming in QCL. Master’s thesis, TU Wien, 2000. http://tph.tuwien.ac.at/˜oemer/papers.html. [Öm02] B. Ömer. Classical concepts in quantum programming, 2002. http://arxiv.org/abs/quant-ph/0211100arXiv: abs. Roland Rüdiger Roger Penrose. Shadows of the mind. Oxford University Press, 1994. Peter Selinger, editor. Proceedings of the 2nd International Workshop on Quantum Programming Languages, volume TUCS General Publication No 33, Turku, Finland, July 12-13 2004. Turku Centre for Computer Science. Peter Selinger, editor. Proceedings of the 3rd International Workshop on Quantum Programming Languages, Chicago, USA, June 30 - July 1 2005. Electronic Notes in Theoretical Computer Science, URL: www.elsevier.nl/locate/entcs. Michael Springer. Verschränkung total. Finale Widerlegung von Einsteins Kritik an der Quantenmechanik. Spektrum der Wissenschaft, 6:21, 2001. Wolfgang Stieler. Bob wird geschäftsfähig. Erste Banküberweisung mit Quantenkryptographie. c’t, 10:54, 2004. W. Tittel, J. Brendel, H. Zbinden, and N. Gisin. Violation of Bell inequalities by photons more than 10 km apart. Phys. Rev. Lett., 81:3563, 1998. [Wer02] R.F. Werner. Quantenrechner – die neue Generation von Supercomputern? In Jürgen Audretsch, editor, Verschränkte Welt. Faszination der Quanten. Wiley-VCH, 2002. [Win04] Veronika Winkler. Durchs Nadelöhr. Verschränkte Photonen für kleine Chipstrukturen. c’t, 12:48, 2004. Eine neue Informatik für Quantenrechner? Einführung Quantensysteme Quantenalgorithmik Quantenprogrammiersprachen Ausblick und Resümee Aktuelles Eine neue“ Informatik? ” Literatur ENDE – und Danke für das Interesse – Roland Rüdiger Eine neue Informatik für Quantenrechner?