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

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 04 –Hashing
Advertisements

WS 03/04 Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Christian Schindelhauer
Effiziente Faktorisierung
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
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/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /2.1.
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
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
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
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
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 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/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
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/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
 Präsentation transkript:

Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/

Simons Problem Gegeben: Black Box Funktion f:{0,1} n ! {0,1} n Es gibt ein geheimes s 2 {0,1} n : Für alle x: f(x)=f(x © s) Für alle x,y: x y © s ) f(x) f(y) Bestimme s ! Beispiel: f(x)=2 b x/2 c Jedes k: f(2k)=f(2k+1); s= Simons Algorithmus löst das Problem in Zeit poly(n) Jeder klassische randomisierte Algorithmus benötigt (2 n/2 ) Fragen an die Black Box, selbst wenn Fehler erlaubt sind

Klassische Algorithmen Gegeben: randomisierter Fragealgorithmus, der s berechnet, gegeben Orakelzugriff auf f Fixiere ein f=f s für jedes s 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 s E r [Erfolg auf f s bei Zusatzeingabe r]=p ) es gibt ein r, so dass E s [Erfolg auf f s bei Zusatzeingabe r] ¸ p Fixiere r ) deterministischer Algorithmus

Klassische Algorithmen s sei zufällig aus {0,1} n -{0 n } Dies bestimmt f=f s Gegeben: deterministischer Fragealgorithmus, Erfolg 2/3 auf zufälligem s k Fragen seien schon gestellt; Fixiere Werte (x i,f(x i )) Wenn es x i,x j gibt mit f(x i )=f(x j ), dann Erfolg, Stop Sonst: alle f(x i ) verschieden, kein Wert x i © x j =s, Anzahl Paare Es gibt noch mindestens 2 n -1- mögliche s s kann noch als uniform zufällig unter diesen angesehen werden

Klassische Algorithmen Es gibt noch 2 n -1- ¸ 2 n -k 2 mögliche s s kann noch als uniform zufällig unter diesen angesehen werden Frage x k+1 (abhängig vorherige Fragen/Antworten) Für jedes feste x k+1 gibt es k Kandidaten s(1),...,s(k): s(j)=x j © x k+1 für s Wahrscheinlichkeit, dass ein Kandidat richtiges s trifft · k/ (2 n -k 2 ) [über Wahl von s]

Klassische Algorithmen Wahrscheinlichkeit, dass ein Kandidat richtiges s trifft · k/(2 n -k 2 ) [über Wahl von s] Gesamterfolgswahrscheinlichkeit: Wenn T<2 n/2 /10, dann Erfolg zu klein

Variation Entscheidungsproblem: mit Wahrscheinlichkeit 1/2: s=0 n mit Ws 1/2: s uniform aus {0,1} n -{0 n } Algorithmus entscheide, welcher Fall Analyse analog zu vorher, bei weniger als 2 n/2 /10 Fragen Erfolgswahrscheinlichkeit nah 1/2

Der Quantenalgorithmus Beginne mit Zustand |0 n i |0 n i Wende H ­ n auf erste n Qubits an Wende U f an Messe Qubits n+1,...,2n Ergebnis f(z) Es gibt z, z © s mit f(z)=f(z © s) Zustand: (1/2 1/2 |z i + 1/2 1/2 |z © s i ) |f(z) i Vergesse |f(z) i

Der Quantenalgorithmus Zustand: 1/2 1/2 |z i + 1/2 1/2 |z © s i Jedes z 2 {0,1} n mit Wahrscheinlichkeit 1/2 n, gegeben also Wahrscheinlichkeitsverteilung auf Zuständen [gemischter Zustand] Messung ergäbe einfach zufälliges z aus {0,1} n [zufälliges z aus Messung 1, dann mit Ws. 1/2: z, mit Ws. 1/2: z © s, insgesamt zufälliges z] Wie bekommt man Information über s? Wende wieder an H ­ n an

Der Quantenalgorithmus Zustand: 1/2 1/2 |z i + 1/2 1/2 |z © s i z uniform zufällig Wende wieder an H ­ n an Ergebnis: y y |y i mit y =1/2 1/2 ¢ 1/2 n/2 (-1) y ¢ z +1/2 1/2 ¢ 1/2 n/2 (-1) y ¢ (z © s) =1/2 (n+1)/2 ¢ (-1) y ¢ z [1+(-1) y ¢ s ] y ¢ z= i y i z i

Der Quantenalgorithmus y y |y i mit y =1/2 (n+1)/2 ¢ (-1) y ¢ z [1+(-1) y ¢ s ] Fall 1: y ¢ s ungerade ) y =0 Fall 2: y ¢ s gerade ) y = § 1/2 (n-1)/2 Messe nun [Wahrscheinlichkeiten unabhängig von z] Immer: Ergebnis y: y i s i ´ 0 mod 2 Also Gleichung über Z 2, alle y mit y i s i ´ 0 mod 2 gleich wahrscheinlich

Postprocessing Ergebnis Gleichung y i s i ´ 0 mod 2 Alle y mit y i s i ´ 0 mod 2 gleiche Ws. Reduziert Anzahl der möglichen s um 1/2 Weiteres Vorgehen: Wiederhole n-1 mal Löse Gleichungssystem Wenn n-1 linear unabhängige Gleichungen erhalten, dann ist s bestimmt

Simons Algorithmus H |0 n i UfUf n-1 mal, dann Gleichungssystem lösen H y(1),...,y(n-1)

Analyse Durch n-1 linear unabhängige Gleichungen ist s bestimmt, jede Gleichung hat uniform zufällige Koeffizienten y(j) 1,...,y(j) n unter Bedingung y(j) ¢ s=0 mod 2 [d.h. aus Unterraum U Dim. n-1 von (Z 2 ) n ] Wahrscheinlichkeit, dass y(j+1) linear abhängig von y(1),...,y(j): V j =span[y(1),...,y(j)] hat Dim. j Ws, dass zufälliges y(j+1) aus U in V j liegt: 2 j /2 n-1 Wahrscheinlichkeit, dass alle lin. unabh.: j=1,...,n-1 (1-2 j-1 /2 n-1 )= j=1,...,n-1 (1-1/2 j )

Analyse Wahrsch. dass alle lin. unabh.: j=1,...,n-1 (1-1/2 j ) Abschätzung: mindestens 1/2 ¢ (1-[ j=2,...,n-1 1/2 j ]) ¸ 1/4 [Benutze (1-a)(1-b) ¸ 1-a-b für 0<a,b<1] D.h. mit Wahrscheinlichkeit 1/4 findet der Algo n-1 linear unabh. Gleichungen, und s kann berechnet werden Durch Gauss Elimination O(n 3 ) oder durch andere Verfahren O(n )

Variation Entscheidungsproblem: mit Wahrscheinlichkeit 1/2: s=0 n mit Ws 1/2: s uniform aus {0,1} n -{0 n } Algorithmus soll entscheiden, welcher Fall Verwende selben Algorithmus wie zuvor

Zusammenfassung Simons Problem kann durch einen Quantenalgorithmus mit Zeit O(n ) und O(n) Fragen mit Erfolgswahrscheinlichkeit 0.99 gelöst werden Jeder klassische randomisierte Algorithmus mit Erfolgswahrscheinlichkeit 2/3 braucht (2 n/2 ) Fragen (und Zeit)

Bisherige Algorithmen Deutsch-Josza und Simon: f balanciert oder konstant f hat Periode s (über (Z 2 ) n ) Erst Hadamard, dann U f, dann Hadamard und Messung D-J: Black Box mit Ausgabe (-1) f(x) S: normale Black Box

Bestimmen der Ordnung über Z N Gegeben seien ganze Zahlen x, N, x<N Ordnung r(x) von x in Z N : min. r: x j =1 mod N Periode der Potenzen von x Black Box U x,N rechne U x,N |j i |k i = |j i |x j k mod N i Quantenalgorithmus, um r(x) zu bestimmen?

Bestimmen der Ordnung über Z N U x,N |j i |k i = |j i |x j k mod N i Quantenalgorithmus, um r(x) zu bestimmen? Algorithmus von Shor findet r(x) in Zeit poly(log N) trivialer klassischer Ansatz: berechne x i für i=1,...,r(x) ist ineffizient, da r(x)=N möglich

Anwendung eines solchen Algorithmus Faktorisierungsproblem: Gegeben natürliche, zusammengesetzte Zahl N finde einen nichttrivialen Faktor Kann durch einen Algorithmus zur Ordnungsbestimmung gelöst werden !

Faktorisierung Wenn ein nichttrivialer Faktor in polynomieller Zeit gefunden werden kann, kann die komplette Primfaktorisierung in polynomieller Zeit gefunden werden, da es zu N höchstens log N Primfaktoren gibt polynomieller Zeit: in der Länge von N, d.h. log N Naiver Algorithmus: teste alle Faktoren <N 1/2, d.h. exponentielle Zeit Bester bekannter klassischer Algo: Zeit exp( O ( log 1/3 N loglog 2.3 N ) )

Reduktion Faktorisierung auf Ordnungsfinden Eingabe natürliche Zahl N 1. Test ob N Primzahl, Ausgabe N 2. Test ob N= a b für nat. Zahlen a,b>1, Ausgabe a 3. Test ob N gerade, Ausgabe 2 4. Wenn nein: N=p 1 (1) p m (m) mit m>1, (j) ¸ 1

Reduktion Faktorisierung auf Ordnungsfinden N=p 1 (1) p m (m) mit m>1, (j) ¸ 1 Ansatz: Wenn man eine nichttriviale Lösung zu x 2 =1 mod N finden kann, dann kann ein Faktor von N berechnet werden Wenn y aus [1,...,N-1] gezogen wird und teilerfremd zu N ist, dann ist die Ordnung r von y mit hoher Ws. gerade und y r/2 -1 mod N y r/2 1 mod N Dann erfüllt x=y r/2 die Gleichung x 2 =1 mod N und x ist nichttrivial Z * N : Gruppe der y aus [1,...,N-1] die teilerfremd zu N sind, mit Multiplikation

Reduktion Faktorisierung auf Ordnungsfinden Theorem V.1: Sei N eine zusammengesetzte Zahl und x eine Lösung von x 2 =1 mod N mit 1 < x < N-1. Dann sind nichttriviale Teiler von N: ggt(x-1,N) ggt(x+1,N) Theorem V.2: Wenn N=p 1 (1) p m (m) Primfaktorisierung, und x uniform aus Z * N gezogen wird, dann ist Prob[r(x) ist gerade und x r/2 -1 mod N] ¸ 1-1/2 m-1 ¸ 1/2

Reduktion Faktorisierung auf Ordnungsfinden Eingabe natürliche Zahl N 1. Test ob N Primzahl, Ausgabe N 2. Test ob N= a b für nat. Zahlen a,b>1, Ausgabe a 3. Test ob N gerade, Ausgabe 2 4. Wenn nein: N=p 1 (1) p m (m) mit m>1, (j) ¸ 1

Reduktion Faktorisierung auf Ordnungsfinden 4.N=p 1 (1) p m (m) mit m>1, (j) ¸ 1 5.Bestimme zufälliges x aus [1,...,N-1]. Wenn ggt(x,N) 1, dann Ausgabe ggt(x,N) 6.Bestimme Ordnung r von x in Z N 7.Wenn r gerade ist, und x r/2 -1 mod N, dann berechne ggt(x-1,N) und ggt(x+1,N) 8.Wenn nicht, dann wiederhole 5.-7.

Analyse: Schritt 1 [Primzahltest] deterministisch in Zeit poly(log N) [AKS02] [Test, ob a b für nat. Zahlen a,b; Test ob Primzahl] Schritt 5: ggt(y,N) kann in Zeit O(L 3 ) berechnet werden, Euklidischer Algorithmus Schritt 6: per Reduktion Schritt 7: mit Wahrscheinlichkeit 1/2 Schritt 8: erwartet O(1) Wiederholungen

Bemerkung Finden der Ordnung von x in Z N ist tatsächlich per Polynomialzeit-Reduktionen äquivalent zum Faktorisierungsproblem Shors Algorithmus löst Ordnungsfinden bezüglich einer als Black Box gegebenen Potenzierungsfunktion

Theorem V.1 Theorem V.1: Sei N eine zusammengesetzte Zahl und x eine Lösung von x 2 =1 mod N mit 1 < x < N-1. Dann sind nichttriviale Teiler von N: ggt(x-1,N) ggt(x+1,N) Beweis: x 2 =1 mod N ) (x-1)(x+1)=0 mod N N teilt (x-1)(x+1), x-1<x+1<N, daher gibt es einen nichttrivialen gemeinsamen Faktor