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