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

Slides:



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

Verifizieren versus Berechnen
Algorithmen und Komplexität
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/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation 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
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
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
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 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/
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/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
K-SAT: Ein heuristischer Algorithmen- Vergleich Kann man den Brute Force Search Algorithmus schlagen?
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
 Präsentation transkript:

Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/

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

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

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 <N/3 Fragen Darf nicht falsch klassifizieren Wenn 2/3 ¢ N Positionen, die 1 sein können, Algorithmus muss also >2N/3 Eingaben falsch verwerfen, Fehler also >1/3 Also muss jeder Algorithmus mindestens N/3 Fragen stellen

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

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

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

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 |

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<N 1/2 /10, dann ist der Abstand kleine Konstante, d.h. Fehler zu gross, denn auf 0 N und y(i) mit hoher Wahrscheinlichkeit gleiche Ausgabe

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 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

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

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