Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/05 5.1.

Ähnliche Präsentationen


Präsentation zum Thema: "Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/05 5.1."—  Präsentation transkript:

1 Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/

2 Frage: Können wir NP-vollständige Probleme in polynomieller Zeit lösen?? [Auf einem Quantenrechner] Spezifischer: Reicht die Parallelität des Modells um exponentielle Beschleunigung zu erreichen? Z.Bsp. SAT Problem: gegeben KNF Formel auf n Variablen, ist die Formel erfüllbar? Ansatz: Teste alle 2 n Belegungen der Variablen Wie schnell kann dies ein Quantenalgorithmus ?

3 Black Box Modell Kann das SAT Problem im Black Box Modell schnell gelöst werden? D.h. Gegeben Black Box, die bei gegebener Belegung der Variablen anzeigt, ob Formel erfüllt ist, keine weitere Information über Formel n Boolesche Variablen, N=2 n Belegungen Suchproblem: Bits x 0,...,x N-1 gegeben, finde x i =1 wenn vorhanden

4 Suchprobleme Erstes Problem: Gegeben x 0,...,x N-1, finde i mit x i =1 wenn vorhanden Zweites Problem: Gegeben x 0,...,x N-1 mit Garantie, dass genau ein x i =1, finde i Drittes Problem: Gegeben x 0,...,x N-1, Berechne ODER(x 0,...,x N-1 ) Viertes Problem: Gegeben x 0,...,x N-1 mit Garantie, dass genau ein x i =1 oder kein x i =1, Entscheide welcher Fall 2),3) einfacher als 1), 4) einfacher als 2),3)

5 Klassische Algorithmen Betrachte randomisierte Algorithmen mit Fehler 1/3 für Problem 4) Wir zeigen: (N) Fragen an die Black Box notwendig

6 Klassische Algorithmen Gegeben: randomisierter Fragealgorithmus Wenn es randomisierten Algo mit T Fragen (worst case) und Erfolgswahrscheinlichkeit p gibt, dann gibt es einen deterministischen Algo mit T Fragen und Erfolg p für zufällige s Randomisierter Algorithmus ist Schaltkreis mit zusätzlicher Eingabe r 2 {0,1} m E x E r [Erfolg bei Zusatzeingabe r]=p ) es gibt ein r, so dass E x [Erfolg auf bei Zusatzeingabe r] ¸ p Fixiere r ) deterministischer Algorithmus

7 Klassische Algorithmen Verteilung auf den Eingaben: mit Wahrscheinlichkeit 1/2 Eingabe 0 N, Eingaben mit Wahrscheinlichkeit 1/(2N) jeweils Betrachte deterministischen Algorithmus mit Fehler 1/3 und 2N/3 Eingaben falsch verwerfen, Fehler also >1/3 Also muss jeder Algorithmus mindestens N/3 Fragen stellen

8 Quantenalgorithmen Wie schnell kann ein Quantenalgorithmus das Suchproblem lösen? Wir wissen schon: Grovers Algorithmus kann dies in O(N 1/2 ) Historisch kam untere Schranke zuerst Jeder Algorithmus für das Suchproblem (Genauer für Problem 4) ) braucht (N 1/2 ) Fragen D.h. brute Force Algorithmen für SAT brauchen Zeit 2 n/2

9 Die Untere Schranke Betrache beliebigen Quanten Fragealgorithmus A Lasse A auf 0 N laufen, mit T Fragen Folge von Quantenfragen Zustände 0...N-1 a i,t |i i ­ |u i,t i­ |v i,t i i: Adresse, u Register für Ausgabe der Black Box, v für restlichen Speicher, t=1..T Zeit Definiere Fragegrösse M(i) = t=1...T |a i,t | 2 Intuitiv Wahrscheinlichkeit, dass i gefragt wird Erwartungswert E i M(i) · T/N Fixiere i mit M(i) · T/N A hat wenig Information über x i, kann nicht gut vorhersagen ob x i =1 oder =0

10 Die Untere Schranke Fragegrösse M(i) = t=1...T |a i,t | 2 Fixiere i mit M(i) · T/N Mit Cauchy Schwartz gilt t=1...T |a i,t | · t=1...T 1 ¢ |a i,t | · T 1/2 ( t=1...T |a i,t | 2 ) 1/2 · T/N 1/2 y(i) sei String mit y(i) i =1 und 0 sonst Betrachte A in folgenden Situationen: In Frage 1 bis t enthält Black Box 0 N Ab Frage t+1 enthält Black Box y(i) Endzustand sei | (t) i | (0) i Endzustand A auf y(i); | (T) i Endzustand A auf 0 N

11 Die Untere Schranke Betrachte Abstand zwischen den Zuständen | (t) i und | (t-1) i Klar: Bis Schritt t-1 selber Zustand im Algorithmus In Schritt t wird Abstand 2 1/2 |a i,t | eingeführt Ab Schritt t+1 werden dieselben unitären Transformationen ausgeführt, d.h. Abstand nicht verändert Setze |E(t) i = | (t) i -| (t-1) i Dann k E(t) k· 2 1/2 |a i,t |

12 Die Untere Schranke | (0) i Endzustand A auf y(i); | (T) i Endzustand A auf 0 N k | (T) i - | (0) i k = k | (T) i - | (T-1) i +| (T-1) i - | (0) i k · k | (T) i - | (T-1) i k + k | (T-1) i - | (0) i k · t=1...T k | (t) i - | (t-1) i k = t=1...T k |E (t) i k · t=1...T 2 1/2 |a i,t | · 2 1/2 T/N 1/2 Wenn T

13 Grovers Algorithmus [Grover 96] Löst das Suchproblem mit N 1/2 Fragen im worst case Allgemeiner: Wenn t Positionen i mit x i =1 existieren, dann Zeit (N/t) 1/2

14 Grovers Algorithmus Betrache Fall mit genau einer Lösung x i =1 (Problem 2) Betrache Vektoren |i i sowie | 0 i = j=0...N-1 1/N 1/2 |j i Ziel und Start Wie kann man den Abstand verringern? Betrachte Ebene von |i i und | 0 i ; |e i sei orthogonal zu |i i in der Ebene

15 Grovers Algorithmus Betrachte Ebene von |i i und | i ; |e i sei orthogonal zu |i i in der Ebene Reflektiere um |e i und dann um | 0 i Ergebnis: |i i |e i | i

16 Grovers Algorithmus Betrachte Ebene von |i i und | i ; |e i sei orthogonal zu |i i in der Ebene Reflektiere um |e i und dann um | 0 i Ergebnis: |i i |e i | i

17 Grovers Algorithmus Betrachte Ebene von |i i und | i ; |e i sei orthogonal zu |i i in der Ebene Reflektiere um |e i und dann um | 0 i Ergebnis: Rotation um 2 |i i |e i | i

18 Grovers Algorithmus Betrachte Ebene von |i i und | i ; |e i sei orthogonal zu |i i in der Ebene Reflektiere um |e i und dann um | i Ergebnis: Rotation um 2 Wenn Winkel zu | 0 i, dann erst - - zu |e i und dann 2 + zu | 0 i |i i |e i | i

19 Grovers Algorithmus Reflektiere um |e i und dann um | i Ergebnis: Rotation um 2 |e i = i j 1/(N-1) 1/2 |j i Wie viele Iterationen? Höchstens ( /2)/(2 ) Iterationen 1/N 1/2 = h i| 0 i = cos( /2- ) = sin( ) Dann 1/N 1/2 = sin( ) ¼ und ca. /4 ¢ N 1/2 Iterationen

20 Grovers Algorithmus Reflektiere um |e i und dann um | i Ergebnis: Rotation um 2 |e i = i j 1/(N-1) 1/2 |j i Aber wie? Reflektion um |e i : bilde a|i i +b|e i ab auf -a |i i + b|e i Durch Frage an Black Box! Wechsele Vorzeichen wenn x i =1 |e i | i |i i

21 Grovers Algorithmus Reflektiere um |e i und dann um | i Reflektion um | 0 i : Wende Operation 2| 0 ih 0 |- I an Sei N=2 n, Positionen 0,...,N-1 in Binärdarstellung Implementierung durch H ­ n P H ­ n, wobei P|0 n i =|0 n i und P|x i =-|x i sonst |e i | i |i i

22 Grovers Algorithmus Operation 2| 0 ih 0 |- I Implementierung durch H ­ n P H ­ n, wobei P|0 n i =|0 n i und P|x i =-|x i sonst

23 Grovers Algorithmus Operation 2| 0 ih 0 |- I Implementierung durch H ­ n P H ­ n, wobei P|0 n i =|0 n i und P|x i =-|x i sonst

24 Grovers Algorithmus Operation 2| 0 ih 0 |- I Andere Interpretation: Vektor (a 0,...,a N-1 ) wird abgebildet auf Vektor mit (2 j a j /N)-a i an Position i Inversion über den Mittelwert

25 Grovers Algorithmus Black Box: Zusätzliches Qubit 1/2 1/2 (|0 i -|1 i ) Anwendung der normalen Black Box: |i i |a i wird auf |i i |a © x i i abgebildet Trick mit zusätzlichem Qubit: Black Box bildet |i i auf (-1) x i |i i ab

26 Grovers Algorithmus Register mit n Qubits Starte mit Zustand | 0 i = j=0...N-1 1/N 1/2 |j i [durch Anwendung von H ­ n auf |0 n i ] Iteriere ungefähr N 1/2 mal: Wende Black Box an Wende H ­ n P H ­ n an, wobei P|0 n i =|0 n i und P|x i =-|x i sonst Messe i, teste ob x i =1

27 Grovers Algorithmus H H H H H H O H H H H H H H H H H H H P N 1/2

28 Beispiel x 0 =1, andere x i =0 Anfang: j=0...N-1 1/N 1/2 |j i Dann j=1...N-1 1/N 1/2 |j i -1/N 1/2 |0 i Dann Inversion über den Mittelwert Vektor (a 0,...,a N-1 ) wird abgebildet auf Vektor mit (2 j a j /N)-a i an Position i Ergebnis: Amplitude von |0 i steigt ungefähr um 2/N 1/2, andere Amplituden bleiben fast gleich Ähnlich in anderen Schritten Fertig nach ( /2)/(2/N 1/2 )=( /4) N 1/2 Schritten

29 Genaue Anzahl der Iterationen Macht man zuviele Iterationen, wird der Zustand wieder von der Lösung entfernt ! Anfangszustand: j=0...N-1 1/N 1/2 |j i 1/N 1/2 |i 0 i + j i 0 1/N 1/2 |j i k 0,l 0 =1/N 1/2 Iteration setzt k j+1 = (N-2)/N ¢ k j +2(N-1)/N ¢ l j l j+1 = (N-2)/N ¢ l j -2/N ¢ k j Man kann zeigen, dass k j =sin((2j+1) ); l j =1/(N-1) 1/2 cos((2j+1) ) wobei so dass sin 2 ( )=1/N k m =1 wenn (2m+1) = /2, wenn m=( -2 )/(4 ) Fehler kleiner als 1/N wenn b /4 N 1/2 c Iterationen

30 Mehr als eine Lösung Es gebe t Werte von i mit x i =1 t sei bekannt Verwende selben Algorithmus, andere Anzahl von Iterationen Ähnliche Analyse wie zuvor, Fehler t/N bei b /4 ¢ (N/t) 1/2 c Iterationen

31 Unbekannte Anzahl von Lösungen Es gebe t Werte von i mit x i =1 t sei unbekannt Verwende immer kleinere Schätzungen von t und lasse vorigen Algorithmus laufen s=N/2,N/4,N/8,...,t/2,... Laufzeiten O((N/s) 1/2 ) jeweils Gesamtlaufzeit s=N/2,N/4,...,t/2 (N/s) 1/2 = O((N/t) 1/2 ) Betrachte (N/t) -1/2 ¢ a=1,...,log N-log t+1 2 a/2 =O(1) geometrische Reihe

32 Exaktes Suchen Wenn Anzahl der Lösungen bekannt ist, kann im Prinzip mit der richtigen Anzahl Iterationen Erfolgswahrscheinlichkeit 1 erzielt werden Problem: Anzahl ist integer Lösung: Abwandlung der Iteration im letzten Schritt, die um genau den richtigen Winkel dreht D.h. Suchproblem bei gegebener Anzahl t von Lösungen in Zeit O((N/t) 1/2 ) exakt lösbar Gilt nicht z. Beispiel für das Entscheiden des ODERs von N Bits: hier Fehler unumgänglich

33 Amplituden Amplifikation Problem: Gegeben Quantenalgorithmus, der mit Erfolgswahrscheinlichkeit a<1 funktioniert, wobei Erfolg verifizierbar ist [Ohne interne Messungen] Klassische Wiederholungstechnik braucht (1/a) Iterationen um konstante Erfolgswahrscheinlichkeit zu erzielen Grovers Technik erlaubt selbiges in O(1/a 1/2 ) Wiederholungen Selber Ansatz wie zuvor, ersetze Black Box durch Laufen des gegebenen Algorithmus plus Verifikation


Herunterladen ppt "Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/05 5.1."

Ähnliche Präsentationen


Google-Anzeigen