quantum computing hartmut klauck universität frankfurt ws 05/06 28.11

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

Upload: adelinde-ackmann

Post on 05-Apr-2015

110 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

Quantum Computing

Hartmut KlauckUniversität FrankfurtWS 05/0628.11.

Page 2: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.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

Page 3: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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:

Page 4: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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

Page 5: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

Shors Algorithmus

Ergebnis:

Wende QFT an Ergebnis:

d.h. Wahrscheinlichkeit von k ist unabhängig von j0 (Translationsinvarianz)

Page 6: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

Shors Algorithmus

Ergebnis:

Messung: Wahrscheinlichkeit von k ist

Vereinfachende Annahme: r teilt L, d.h. A=L/r, dann

Page 7: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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.

Page 8: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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

Page 9: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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

Page 10: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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)

Page 11: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

Shors Algorithmus

|1-eik|· |k| ;|1-eiAk|¸ 2A|k|/, wenn A|k|· Ak · A r/L < (1+r/L)

Page 12: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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

Page 13: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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

Page 14: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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

Page 15: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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

Page 16: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 28.11

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