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

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Verifizieren versus Berechnen
Algorithmen und Komplexität
Seminar parallele Programmierung SS 2003
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /2.1.
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 04/05
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Hartmut Klauck Universität Frankfurt WS 06/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Hartmut Klauck Universität Frankfurt WS 06/
K-SAT: Ein heuristischer Algorithmen- Vergleich Kann man den Brute Force Search Algorithmus schlagen?
Limited Local Search And Restart Nähere Betrachtungen.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Scaffold 29S: Komplexe Zahlen
 Präsentation transkript:

Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/

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 ?

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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