Eine neue Informatik für Quantenrechner?

Werbung
Ü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?
Herunterladen