Quantum Computing
Hartmut KlauckUniversität FrankfurtWS 05/0628.11.
Finden von Perioden
Funktion f:ZL!ZN als Black BoxEs gibt ein r<N: f(i)=f(i+r) für alle i2ZL
i j+kr ) f(i)f(j) Finde r Lösen für beliebige periodische f
Uf: |ji |yi |ji |f(j) yi; j2ZL; f(j)y 2 ZN
Shors Algorithmus
log L+log N Arbeitsqubits log L Qubits im Zustand |0i ; 02ZL
log N Qubits im Zustand |1i ; 12ZN
Wende Hadamard auf 1. Register an Wende Uf an Ergebnis:
Messe zweites Register Ergebnis:
Shors Algorithmus
Ergebnis:
0 · j0 · r-1;
L-r · j0+(A-1)r · L-1 A-1 < L/r < A+1
Messung des ersten Registers jetzt wäre nutzlos
Shors Algorithmus
Ergebnis:
Wende QFT an Ergebnis:
d.h. Wahrscheinlichkeit von k ist unabhängig von j0 (Translationsinvarianz)
Shors Algorithmus
Ergebnis:
Messung: Wahrscheinlichkeit von k ist
Vereinfachende Annahme: r teilt L, d.h. A=L/r, dann
Shors Algorithmus
Vereinfachende Annahme: r teilt L, d.h. A=L/r, dann
Wenn A Teiler von k, dann =1/r Wenn A kein Teiler von k, dann = 0 (weil r mal
Wahrscheinlichkeit 1/r in Fall 1 für alle r Werte k die Vielfache von A sind)
D.h. wir erhalten Vielfaches von A=L/r, also cL/r mit 0· c· r-1
Mit hoher Ws. ist c teilerfremd zu L/r Dann ggt(cL/r,L)=L/r, L bekannt, wir erhalten r.
Shors Algorithmus
Allgemein: Wahrscheinlichkeit von k ist
„favorisiert“ Werte von k mit kr/L nahe an Integer Geometrische Reihe
mit k=2kr (mod L)/ L
Shors Algorithmus
mit k=2kr (mod L)/ L
Es gibt genau r Werte von k2ZL mit -r/2· kr (mod L) · r/2
Für diese also - r/L· k· r/Ld.h. mit 0· j· A-1<L/r liegen die Winkel jk alle in einer Halbebene ) konstruktive Interferenz!
Betrachte solches k
Shors Algorithmus
Einige Abschätzungen: Es gilt |1-eik|· |k|
[direkte Distanz „1“ von „eik“ ist kleiner als Bogenlänge]
Es gilt |1-eiAk|¸ 2A|k|/, wenn A|k|· denn sei dist(0,)=|1-ei|,dann ist dist(0,)/||¸ dist(0,)/=2/
Es gilt allerdings nur A < (L/r)+1,also Ak · A r/L < (1+r/L)
Shors Algorithmus
|1-eik|· |k| ;|1-eiAk|¸ 2A|k|/, wenn A|k|· Ak · A r/L < (1+r/L)
Shors Algorithmus
Wir erhalten jedes der r gewünschten k mit Wahrscheinlichkeit proportional zu 1/r, also insgesamt mit konstanter Wahrscheinlichkeit ein k mit-r/2· kr (mod L) · r/2 [Erfolg]
|kr-cL|· r/2 für ein c Dann:|k/L-c/r|· 1/(2L), d.h. k/L ist Approximation von c/r Wir kennen k und L. Wähle reduzierte Darstellung von k/L als
rationale Zahl. c ist uniform zufällig aus 0,...,r-1 c kein Teiler von r mit Wahrscheinlichkeit 1/log c Dann: Berechnung von c/r gibt uns auch r Wähle also L gross genug, um gute Approximation zu erhalten
Shors Algorithmus
Wir erhalten mit konstanter Wahrscheinlichkeit ein k mit |k/L-c/r|· 1/(2L)
Mit Wahrscheinlichkeit 1/log c<1/log L ist ggt(c,r)=1
Sei r<N, L=N2
c/r ist rationale Zahl mit Nenner <N Zwei solche Zahlen liegen nicht dichter
aneinander als 1/N2=1/L > 1/(2L) Es gibt also im Intervall nur die eine rationale Zahl
c/r mit Nenner < N Finde die rationale Zahl mit Nenner < N, die nah
an k/L liegt Kettenbruchmethode
Kettenbruchmethode
Die Kettenbruchmethode berechnet zu einer reellen Zahl die Kettenbruchdarstellung
Wenn |c/r-|· 1/(2r2), dann wird in einem der Schritte das Paar c,r erzeugt, nach höchstens O(t3) Operationen für t-Bit Zahlen
Performance insgesamt
Mit konstanter Wahrscheinlichkeit ist k gut Mit Wahrscheinlichkeit 1/log N ist auch c gut (d.h.
teilerfremd zu r) Anzahl Wiederholungen daher O(log N)
Zum Finden der Ordnung in ZN wähle also L=N2,
d.h. 2 log N +log N Qubits insgesamt Fouriertransformation in O(log2 L) Dann kann mit dem Kettenbruchalgorithmus r
bestimmt werden aus k/L in O(log3 L) Zeit Errechnetes r kann mit Black Box getestet
werden Also Zeit erwartet O(log4 N), kann auf O(log3 N)
gesenkt werden
Kettenbruchmethode
Gegeben reelles Approximiere durch
Finde Darstellung so: Nehme ganzzahligen Teil als a0, invertiere Rest, iteriere
Theorem: |p/q-|· 1/(2q2), dann tritt p/q im Algorithmus nach O(log (p+q)) Schritten auf