Quantum Computing
Hartmut KlauckUniversität FrankfurtWS 05/0617.11.
Simons Problem
Gegeben: Black Box Funktion f:{0,1}n!{0,1}n Es gibt ein geheimes s2{0,1}n mit s0n
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)=2bx/2c Jedes k: f(2k)=f(2k+1); s=00 ... 01
Simons Algorithmus löst das Problem in Zeit poly(n)
Jeder klassische randomisierte Algorithmus benötigt (2n/2) Fragen an die Black Box, selbst wenn Fehler erlaubt sind
Der Quantenalgorithmus
Beginne mit Zustand |0ni|0ni Wende H n auf erste n Qubits an Wende Uf an Messe Qubits n+1,...,2n Ergebnis f(z) Es gibt z, z©s mit f(z)=f(z©s) Zustand: (1/21/2 |zi + 1/21/2|z©si) |f(z)i Vergesse |f(z)i
Der Quantenalgorithmus
Zustand: 1/21/2 |zi + 1/21/2|z©si Jedes z2{0,1}n mit Wahrscheinlichkeit 1/2n,
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/21/2 |zi + 1/21/2|z©si z uniform zufällig Wende wieder an H n an Ergebnis:
y y |yi mit y=1/21/2 ¢1/2n/2 (-1)y¢z +1/21/2¢1/2n/2(-1)y¢
(z©s)
=1/2(n+1)/2 ¢ (-1)y¢z [1+(-1)y¢s]
y¢z=i yizi
Der Quantenalgorithmus
y y |yi 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: yi si ´ 0 mod 2
Also Gleichung über Z2, alle y mit yi si ´ 0 mod 2 gleich wahrscheinlich
Postprocessing
Ergebnis Gleichung yi si ´ 0 mod 2
Alle y mit yi si ´ 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|0ni
|0niUf
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 Bedingungy(j)¢s=0 mod 2[d.h. aus Unterraum U Dim. n-1 von (Z2)n]
Wahrscheinlichkeit, dass y(j+1) linear abhängig von y(1),...,y(j): Vj=span[y(1),...,y(j)] hat Dim. j
Ws, dass zufälliges y(j+1) aus U in Vj liegt:2j/2n-1
Wahrscheinlichkeit, dass alle lin. unabh.:j=1,...,n-1 (1-2j-1/2n-1)= j=1,...,n-1 (1-1/2j)
Analyse
Wahrsch. dass alle lin. unabh.:j=1,...,n-1 (1-1/2j)
Abschätzung: mindestens1/2 ¢ (1-[j=2,...,n-1 1/2j])¸ 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(n3) oder durch andere Verfahren O(n2.376)
Variation
Entscheidungsproblem: mit Wahrscheinlichkeit 1/2: s=0n
mit Ws 1/2: s uniform aus {0,1}n-{0n} Algorithmus soll entscheiden, welcher Fall
Klassische Algorithmen
Gegeben: randomisierter Fragealgorithmus, der s berechnet, gegeben Orakelzugriff auf f
Fixiere ein f=fs 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 r2{0,1}m
Es Er [Erfolg auf fs bei Zusatzeingabe r]=p ) es gibt ein r, so dass Es [Erfolg auf fs bei Zusatzeingabe r]¸ p
Fixiere r ) deterministischer Algorithmus
Klassische Algorithmen
s sei zufällig aus {0,1}n-{0n} Dies bestimmt f=fs
Gegeben: deterministischer Fragealgorithmus, Erfolg 2/3 auf zufälligem s
k Fragen seien schon gestellt; Fixiere Werte (xi,f(xi)) Wenn es xi,xj gibt mit f(xi)=f(xj), dann Erfolg, Stop Sonst: alle f(xi) verschieden,
kein Wert xi©xj=s, Anzahl Paare Es gibt noch mindestens 2n-1- mögliche s s kann noch als uniform zufällig unter diesen
angesehen werden
Klassische Algorithmen
Es gibt noch 2n-1- ¸ 2n-k2 mögliche s s kann noch als uniform zufällig unter
diesen angesehen werden Frage xk+1 (abhängig vorherige
Fragen/Antworten) Für jedes feste xk+1 gibt es k Kandidaten
s‘(1),...,s‘(k): s‘(j)=xj©xk+1 für s Wahrscheinlichkeit, dass ein Kandidat
richtiges s trifft · k/ (2n-k2)[über Wahl von s]
Klassische Algorithmen
Wahrscheinlichkeit, dass ein Kandidat richtiges s trifft · k/(2n-k2)[über Wahl von s]
Gesamterfolgswahrscheinlichkeit:
Wenn T<2n/2/10, dann Erfolg zu klein
Variation
Entscheidungsproblem: mit Wahrscheinlichkeit 1/2: s=0n
mit Ws 1/2: s uniform aus {0,1}n-{0n} Algorithmus entscheide, welcher Fall Analyse analog zu vorher, bei weniger als
2n/2/10 Fragen Erfolgswahrscheinlichkeit nah 1/2
Zusammenfassung
Simons Problem kann durch einen Quantenalgorithmus mit Zeit O(n2.376) und O(n) Fragen mit Erfolgswahrscheinlichkeit 0.99 gelöst werden
Jeder klassische randomisierte Algorithmus mit Erfolgswahrscheinlichkeit 2/3 braucht (2n/2) Fragen (und Zeit)
Bisherige Algorithmen
Deutsch-Josza und Simon: f balanciert oder konstant f hat „Periode“ s (über (Z2)n)
Erst Hadamard, dann Uf, dann Hadamard und Messung
D-J: Black Box mit Ausgabe (-1)f(x)
S: normale Black Box
Bestimmen der Ordnung über ZN
Gegeben seien ganze Zahlen x, N, x<N Ordnung r(x) von x in ZN:
min. r: xr =1 mod N „Periode“ der Potenzen von x Black Box Ux,N rechne
Ux,N |ji|ki= |ji|xjk mod Nix und N teilerfremd
Quantenalgorithmus, um r(x) zu bestimmen?