Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12.

Ähnliche Präsentationen


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

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

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 später: (N) Fragen an die Black Box notwendig

6 Quantenalgorithmen Wie schnell kann ein Quantenalgorithmus das Suchproblem lösen? 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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 j : Amplitude von i 0 nach j Iterationen; l j : andere Amplituden nach j Iterationen; 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

24 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

25 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


Herunterladen ppt "Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12."

Ähnliche Präsentationen


Google-Anzeigen