Folien zum Vortrag

Transcription

Folien zum Vortrag
Schnelle Algorithmen für
Quantenrechner
Roland Rüdiger
[email protected]
Vortrag im Rahmen einer Vortragsreihe der Regionalgruppe Braunschweig der
Gesellschaft für Informatik
Wolfenbüttel, 29. September 2004
Zusammenfassung
Das Verhalten von Quantensystemen läßt sich im allgemeinen nicht effizient auf herkömmlichen Rechnern simulieren. Richard Feynman hat als erster den positiven Aspekt
dieser Tatsache gesehen: wenn man Quantensysteme als Rechner einsetzen könnte, so
sollten diese im Prinzip das Potenzial besitzen, algorithmische Probleme effizienter zu
lösen als normale Rechner. Man benötigt dazu aber Algorithmen auf solchen Systemen
( Quantenalgorithmen“), die diese Fähigkeit auch auszunutzen erlauben. Erste Ansätze
”
zeigten, dass man tatsächlich Probleme, für die ein klassischer Rechner mehrere Schritte
benötigt, mit einem solchen (hypothetischen) Quantenrechner in nur einem Schritt lösen
kann. Allerdings gab es für diese Algorithmen noch keine erkennbar sinnvolle Anwendung;
sie zeigten zunächst nur das Prinzip. Den spektakulären Durchbruch erreichte dann Peter
Shor im Jahr 1994, als er zeigte, dass es einen Quantenalgorithmus gibt, heute Shor”
Algorithmus“ genannt, mit dem die Faktorisierung großer Zahlen effizient möglich ist.
Alle bekannten Faktorisierungsalgorithmen auf klassischen Rechnern sind nicht-effizient.
Da die Sicherheit von Verfahren der Kryptographie wie RSA und ElGamal gerade auf
dieser Tatsache beruht, hat seine Entdeckung erhebliches Aufsehen hervorgerufen, zumal
sie durch aktuelle Anforderungen an sicherer Kommunikation im Internet noch zusätzlich
an Brisanz gewonnen hat.
Der Vortrag soll den allgemeinen Hintergrund zum Thema Quantenalgorithmen erläutern und einige der bis heute entdeckten Algorithmen, insbesondere den Shor-Algorithmus,
genauer behandeln.
Übersicht
Quantentheorie
Alles (nur) Mystik und Magie?
Grundpostulate
Quantennetzwerkmodell
Ablauf von Quanten-Algorithmen
Elementare Netzwerk-Bausteine
Quanten-Algorithmen
Berechnung von Funktionen
Deutsch-Jozsa
Grover
Shor
Resümee
Quantentheorie
Alles (nur) Mystik und Magie?
. Richard Feynman: “I think I can safely say that nobody understands quantum mechanics.”
. Niels Bohr: “Anyone who is not shocked by quantum theory has
not understood it.”
. “Die Quantenmechanik ist eine mathematische Rahmentheorie,
eine Reihe von Regeln zur Konstruktion physikalischer Theorien.”
(Nielsen & Chuang [NC00, p. 2])
. Rahmentheorie ist hochgradig nicht-intuitiv:
physikalische Zustände und Prozesse werden beschrieben in einer
Zustandsraum-Terminologie.
. Analogie zu Zustandsraum klassischer Systeme:
Beispiel:
gcd(a, b)
1 while a 6= b
2
do if a > b
3
then a ← a − b
4
else b ← b − a
5 return a
. typisch: Realisierung (Implementierung) von Zuständen und Zustandsübergängen wird nicht spezifiziert
. Gemeinsamkeiten von Quanten- und klassischen Systemen:
– Innerhalb von gcd befindet sich das System jederzeit in einem
Zustand, hier repräsentiert durch die lokalen Variablen a, b
– Das System wird präpariert durch einen Aufruf, z. B.:
gcd(35, 15).
– Der Zustand unterliegt einer Dynamik, hier: Berechnung von
Ausdrücken, Zuweisungen
– am Ende: Ergebnis wird mit return ausgelesen ( Messung“)
”
. Das sind auch wesentliche Bestandteile der Beschreibung von Quantensystemen:
1. Zustandspräparation
2. zeitliche Entwicklung des Zustands
3. abschließende Messung
. tiefliegende Unterschiede von Quanten- zu klassischen Systemen:
– Zustände sind (linear) superponierbar, insbesondere auch in
zusammengesetzten Systemen
– Nur statistische Aussagen sind möglich.
– Dynamik in abgeschlossenen Systemen ist reversibel ( U-Ent”
wicklung“, Roger Penrose in [Pen94])
( Quantenprogramme kann man auch rückwärts laufen lassen
”
mit vertauschtem In- und Output.“)
– Die abschließende Messung ( Vergröberung auf die klassische
”
Ebene“) vernichtet irreversibel einen Teil der vorhandenen Information ( R-Entwicklung“, Penrose in [Pen94]).
”
. Eine Konsequenz: A. Zeilinger [Zei03], frei nach L. Wittgenstein:
Die Welt ist alles, was der Fall ist, und auch alles,
”
was der Fall sein kann.“
Grundpostulate
. 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):
|ψ 0i = U |ψi
(|ψ 0i = statet=t2 , |ψi = statet=t1 )
. 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:
|ψ1i ⊗ |ψ2i ⊗ · · · ⊗ |ψni
Quantennetzwerkmodell
Ablauf von Quanten-Algorithmen
. Beispiel: 1 qubit (H = C2):
preparation /
state
|ψi
|
. .
. .
{z
U
measurement /
observable
(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
. Beispiel: 3 qubits (H = C2 ⊗ C2 ⊗ C2):
preparation /
state
|ψ0 i
|ψ1 i
|ψ2 i











|
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
. .
. .
. .
. .
. .
. .
{z
.
.
.
.
.
.
.
.
U (8)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.











}
measurement /
observable
– Zustand ist |ψi = |ψ2i ⊗ |ψ1i ⊗ |ψ0i
– z. B.:
|0i ⊗ |1i ⊗ |1i = |011i = |3i
|1i ⊗ |1i ⊗ |1i = |111i = |7i
. (Scheinbar kein) Vorteil / Unterschied zu klassischem System?
→ DOCH: Man betrachte Superpositionen:
√1 |0i + |1i ⊗ |1i ⊗ |1i = √1 |011i + |111i =
2
2
√1
2
|3i + |7i
. Superposition von 8 Zahlen, die (möglicherweise) gleichzeitig verarbeitet werden können:
1
1
1
√ |0i + |1i ⊗ √ |0i + |1i ⊗ √ |0i + |1i
2
2
2
1
= √ 3 |000i + |001i + |010i + · · · + |110i + |111i
2
. Der Zustandsraum H tendiert dazu, groß zu werden:
– Zustandsraum eines n qubit Systems:
2 ⊗n
H= C
, dimH = 2n
– Jedes zusätzliche qubit verdoppelt die Größe (Dimension) des
Raumes.
– Dieses ist ein Problem für die (klassische) Simulation und gleichzeitig
– der Schlüssel für potenzielle erfolgreiche Anwendungen von Quantenrechnern
. Beispiel: n = 5 qubits:
preparation /
state
|ψ0 i
|ψ1 i
|ψ2 i
|ψ3 i
|ψ4 i
 .
 .
 .

 .

 .

 .

 .

 .

 .

 .

 .

 .

 .

 .

 .

 .

 .
 .

 .

 .

 .

 .

 .

 .

 .

 .


 .
 .

 .

 .

.
.
|
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
{z
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
unitary 32 × 32 matrix U
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
(32)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

























































measurement /
observable
}
. Wie kann eine solche Matrix in kleinere Bestandteile zerlegt werden? oder:
Wie kann ein komplexes Netzwerk aus einfachen Konstituenten
(building blocks) aufgebaut werden?
Elementare Netzwerk-Bausteine
. ein möglicher Satz universeller Gatter“ (quantum gates):
”
– Hadamard-gate
– Phase-gate
– CNOT-gate (controlled-NOT, XOR)
– T-gate
Hadamard = Mix
Phase
H
S
√1
2
1
1
1 −1
|xi → 2−1/2 (−1)x |xi + |1 − xi
CNOT = XOR
T-gate
u
T
e
1 .
. i
π
|xi → ei 2 x |xi


1 . . .
 . 1 . . 


 . . . 1 
. . 1 .
|xi ⊗ |yi → |xi ⊗ |x ⊕ yi
(Punkte bedeuten verschwindende Matrix Elemente)
1
.
. eiπ/4
π
|xi → ei 4 x |xi
. Wirkungen im Detail:
– Beispiel “Mix Operation”:
1
⊗3
H |000i = √ |000i + |001i + |010i + · · · + |111i
23
– Beispiel CNOT-gate:
|00i → |00i
|10i → |11i
|01i → |01i
|11i → |10i
für Fallunterscheidungen wichtig: das quantum-If“
”
eine rein klassische Operation?
→ NEIN:
1
CNOT 1
√ (|0i + |1i)|0i −→ √ (|00i + |11i) (verschränkter Zust.)
2
2
. Tool-basierte Konstruktion und Simulation von Quantennetzwerken:
Applet / Java application: Quasi (Universität Karlsruhe)
Quanten-Algorithmen
einige Algorithmen:
. Deutsch/Jozsa [DJ92]
. Grovers Datenbanksuche“
[Gro97], (search for a needle in a hay”√
stack) (O( N ) vs O(N ))
. Shors Faktorisierungsalgorithmus [Sho94, Sho97] (exponentielle Beschleunigung gegenüber bekannten klassischen Algorithmen)
. Varianten und Verallgemeinerungen
ein Beispiel für Quantenparallelismus:
Eine Visualisierung von Grovers Algorithmus (applet, University of
Hertfordshire):
Quantum Computer - quantum search simulator
Berechnung von Funktionen
. Berechnung einer Funktion f : {0, 1}n → {0, 1}m, n, m ∈ N
(eigentlich: f : Z2n → Z2m )
. definiere: Uf : |x, yi → |x, y ⊕ f (x)i:
(Uf ist unitär.)
. Quantennetzwerk:
n
x
x
Uf
m
y
y ⊕ f (x)
. f ohne Nebeneffekte (math. Funktion vs. Funktionsprozedur)
. Wie erhält man Uf konkret? (exponential slowdown? )
Deutsch-Jozsa
. Gegeben: eine Funktion f : {0, 1}n → {0, 1}, n ∈ N, die (als
Vorbedingung)
– entweder konstant ist: f ∈ Fconst
– oder ausbalanciert“ d. h. unter ihren Werte treten 0en und
”
1en gleich häufig auf: f ∈ Fbalanced
Andere Funktionen werden von vornherein ausgeschlossen.
. Fragestellung: Wieviele Funktionszugriffe sind erforderlich, um
mit Sicherheit zu entscheiden, welcher der beiden Fälle vorliegt:
– konstant (also f ∈ Fconst) oder
– ausbalanciert (also f ∈ Fbalanced)
. Beispiel klassisch (n = 3):
x2 0 0 0 0
x1 0 0 1 1
x0 0 1 0 1
Argumentwert: 0 1 2 3
f0 0 0 0 0
f1 0 0 0 0
f2 0 0 0 0
...
f60 0 0 1 1
...
f255 1 1 1 1
1
0
0
4
0
0
0
1
0
1
5
0
0
0
1
1
0
6
0
0
1
1
1
1
7
0 konstant
1 nicht ausbalanciert
0 nicht ausbalanciert
1 1 0 0 ausbalanciert
1 1 1 1 konstant
→0 0 0 0
Zugriffe z. B.:
Anzahl also: 2n/2 + 1
0 0 0 0
→1 1 1 1
. Der Quantenalgorithmus von Deutsch/Jozsa benötigt
nur einen solchen Zugriff.
. entsprechendes Quantennetzwerk:
qreg
Mix
Mix
q
Flip
Uf
Measure
. Algorithmus (Notation nach [CLRS01]):
Deutsch-Jozsa(Uf , qreg, q)
1 Reset(qreg & q)
2 Flip(q)
3 Mix(qreg & q)
4 Uf (qreg & q)
5 Mix(qreg)
6 m ← Measure(qreg)
7 if m = 0
8
then return f ∈ Fconst
9
else return f ∈ Fbalanced
. Ergebnis:
z.B.: n = 3:
Meßwerte f ausbalanciert
f konstant
0
unmöglich (w = 0)
sicher (w = 1)
1
2
3
4
sicher (w = 1)
unmöglich (w = 0)
5
6
7
Grover
. Zeitkomplexität von Grovers Algorithmus (b) vs klassischer Standardalgorithmus = lineare Suche (a) (frei gewählte Zeiteinheiten)
106
(a) N/2
105
(b)
√
N (Grover)
104
(a)
time 103
102
(b)
10
1
10
102
103
104
105
N = number of items in unsorted database
. Problem: Wie erhält man Uf ?
106
. Algorithmus:
Grover-Search(Qf , qreg, q)
1 Reset(qreg & q)
2 Flip(q)
3 Mix(qreg
√& q) 4 R ← π 2n/4
5 for i ← 1 to R
6
do Grover(Qf , qreg, q)
7 m ← Measure(qreg)
8 return m
Grover(Qf , qreg, q)
1 Qf (qreg & q)
2 Mix(qreg)
3 Phase(qreg)
4 Mix(qreg)
Shor
. Wirkung: Faktorisierung großer Zahlen in polynomialer Zeit
. Algorithmus ist eine raffinierte Kombinationen von Ergebnissen
der Zahlentheorie, der Quantentheorie und der Informatik
. Perspektive von Faktorisierungszeiten (nach Hughes, 1997, zitiert
in Gruska [Gru99, p. 123])
number of bits/
size in bits
1024
2048
4096
factoring in 2006 105 years 5 × 1015 years 3 × 1029 years
CC factoring in 2024 38 years
1012 years
7 × 1025 years
factoring in 2042
3 days
3 × 108 years 2 × 1022 years
number of qubits
5124
10244
20484
9
11
QC number of gates
3 × 10
2 × 10
2 × 1012
factoring time
4.5 min.
36 min.
4.8 hours
CC:
QC:
classical computer (Abschätzung basierend auf dem Mooreschen Gesetz)
quantum computer
. Zeitkomplexität von Shor-Algorithmus (b) verglichen mit den derzeitig besten bekannten klassischen Algorithmen (a) (frei gewählte
Zeiteinheit)
1/3 N 1/3 (ln N )2/3
(a) exp ( 64
9 )
1020
(b) N 3 (Shor)
(a)
1015
time
1010
(b)
105
10
100
200
300
N = number of bits
400
500
Der zahlentheoretische Teil
. Was hat die Faktorisierung von Zahlen zu tun mit periodischen
Funktionen?
. Gegeben sei eine zusammengesetzte Zahl N . (Anzahl der BitStellen von N (realistisch) z. B. 1024)
. zwei Definitionen:
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 Funktion
fa(x) := ax mod N
mit a ∈ Z∗N ist eine periodische Funktion:
ax+r ≡ ax
(mod N )
. Die Periode r ist der kleinste Wert, der ar ≡ 1
(mod N ) erfüllt.
r = ordN (a) = Ordnung von a modulo N
. ar ≡ 1
(mod N ) bedeutet: ar − 1 = k · N mit k ∈ N
. Der Algorithmus (verkürzt):
– Wähle ein a ∈ ZN zufällig aus.
– Bestimme r = ordN (a): falls r gerade sein sollte:
ar − 1 = (ar/2 − 1)(ar/2 + 1) = k · N
– Daher: Die Faktoren von N müssen in N− := ar/2 −1 und/oder
N+ := ar/2 + 1 auftreten.
– Bestimme (effizient) d− = gcd(N, N−) und d+ = gcd(N, N+).
– Diese sind dann Faktoren von N .
. Komplikation: Die Faktoren können trivial sein.
. Zusammenfassung [NC00, Hir01, Wer02] als Pseudocode:
Factorize(N )
1 if N is even
2
then return 2
3 if N = q b for prime q ≥ 3 and b ≥ 2
4
then return q
5 repeat
6
repeat choose a ∈ ZN , a ≥ 2
7
d ← gcd(a, N )
8
if d > 1
9
then return d we luckily guessed d correctly
10
r ← Find-OrderN (a) the quantum part
11
until no failure indicated and r is even
12
d+ ← gcd(N, ar/2 + 1) evaluate 2nd argument modulo N
13
until d+ < N
14 d− ← gcd(N, ar/2 − 1)
15 return (d+ , d− ) the algorithm guarantees 1 < d+ , d− < N
. Zahlenbeispiel N = 21:
a ∈ Z21
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
r
N+ N− d+ d−
6
−
3
6
−
−
2
−
6
6
−
2
−
−
3
6
−
6
2
9
−
−
21
−
−
9
−
14
9
−
14
−
−
−
21
−
14
21
7
−
−
19
−
−
7
−
12
7
−
12
−
−
−
19
−
12
19
3
3
−
21
3
7
3
3
7
3
3
7
7
3
−
21
3
7
21
7
−
−
1
−
−
7
−
3
7
−
3
−
−
−
1
−
3
1
nachrechnen: 26 = 64 = 3 · 21 + 1, also 26 ≡ 1
d+ geraten
r ungerade ←
d+ geraten
d+ geraten
d+ geraten
d+ geraten
d+ geraten
d+ geraten
r ungerade ←
d+ geraten
(mod 21)
. Zahlenbeispiel N = 8249:
a ∈ Z8249
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
...
r
N+
N−
d+
252
336
126
1008
1008
168
84
168
112
504
1008
504
504
72
63
336
72
1008
1008
336
56
1008
336
504
504
112
1243
1243
1243
1243
1243
7008
1243
1243
1243
8249
1243
8249
7008
7008
−
1243
1243
1243
1243
1243
8249
1243
1243
1243
8249
1243
1241
1241
1241
1241
1241
7006
1241
1241
1241
8247
1241
8247
7006
7006
−
1241
1241
1241
1241
1241
8247
1241
1241
1241
8247
1241
113
113
113
113
113
73
113
113
113
8249
113
8249
73
73
−
113
113
113
113
113
8249
113
113
113
8249
113
d−
73
73
73
73
73
113
73
73
73
1
73
1
113
113
− r ungerade
73
73
73
73
73
1
73
73
73
1
73
a
...
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
r
N+
N−
d+
d−
504
112
504
504
336
1008
56
336
1008
1008
72
336
126
72
504
504
1008
504
112
168
84
168
1008
1008
126
336
252
2
7008
1243
8249
1243
1243
1243
8249
1243
1243
1243
1243
1243
8249
7008
7008
8249
1243
8249
1243
1243
1243
7008
1243
1243
7008
1243
1243
8249
7006
1241
8247
1241
1241
1241
8247
1241
1241
1241
1241
1241
8247
7006
7006
8247
1241
8247
1241
1241
1241
7006
1241
1241
7006
1241
1241
8247
73
113
8249
113
113
113
8249
113
113
113
113
113
8249
73
73
8249
113
8249
113
113
113
73
113
113
73
113
113
8249
113
73
1
73
73
73
1
73
73
73
73
73
1
113
113
1
73
1
73
73
73
113
73
73
113
73
73
1
Die Rolle des Quantenrechners
. Periode r der Funktion fa(x) = ax mod N wird durch Quantenfouriertransformation bestimmt (quantum order finding)
. Quantennetzwerk dazu:
qreg 1
QFT−1
Mix
Ua,N
qreg 2.
. Ua,N repräsentiert die Funktion fa.
Measure
Resümee
. Jeder klassische Algorithmus läuft im Prinzip auch auf einem
Quantenrechner.
. Es gibt speziell auf Quantenrechner zugeschnittene Algorithmen,
die schneller“ sind, d. h. die besseren Komplexitätsklassen an”
gehören.
. Der mit Abstand wichtigste solche Algorithmus ist der Faktorisierungsalgorithmus von Peter Shor.
. Schnelle Algorithmen für Quantenrechner sind (derzeitig noch)
stets Einzelanfertigungen“.
”
Literatur
[CLRS01] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest und Clifford Stein. Introduction
to Algorithms. MIT Press, 2001.
[DJ92]
David Deutsch und Richard Jozsa. Rapid solutions of problems by quantum computation.
Proc. R. Soc. London A, 439:553, 1992.
[Gro97]
L. Grover. Quantum mechanics helps in searching for a needle in a hystack. Phys. Rev.
Lett., 79(2):325, 1997.
[Gru99]
Jozef Gruska. Quantum Computing. McGraw-Hill, 1999.
[Hir01]
Mika Hirvensalo. Quantum Computing. Springer-Verlag, 2001.
[NC00]
Michael A. Nielsen und Isaac L Chuang. Quantum Computation and Quantum Information.
Cambridge University Press, 2000.
[Pen94]
Roger Penrose. Shadows of the mind. Oxford University Press, 1994.
[Sho94]
P.W. Shor. Algorithms for quantum computation: discrete logarithms and factoring. In
S. Goldwasser, editor, Proceedings of the 35th Annual Symposium on the Foundations of
Computer Science, page 124. IEEE Computer Society Press, Los Alamitos, CA, 1994.
[Sho97]
P.W. Shor. Polynomial-time algorithms for prime factorization and discrete logarithms on
a quantum computer. SIAM J. Comput., 26(5):1484–1509, 1997.
[Wer02]
R.F. Werner. Quantenrechner – die neue Generation von Supercomputern? In Jürgen
Audretsch, Hrsg., Verschränkte Welt. Faszination der Quanten. Wiley-VCH, 2002.
[Zei03]
Anton Zeilinger. Einsteins Schleier. Die neue Welt der Quantenphysik. C. H. Beck, 2003.
— ENDE —
und danke für das Interesse

Documents pareils