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

25
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12.

Upload: hagan-wessner

Post on 05-Apr-2015

107 views

Category:

Documents


1 download

TRANSCRIPT

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

Quantum Computing

Hartmut KlauckUniversität FrankfurtWS 05/068.12.

Page 2: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12

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 2n Belegungen der Variablen Wie schnell kann dies ein Quantenalgorithmus ?

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

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=2n Belegungen Suchproblem: Bits x0,...,xN-1 gegeben,

finde xi=1 wenn vorhanden

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

Suchprobleme

Erstes Problem: Gegeben x0,...,xN-1, finde i mit xi=1 wenn vorhanden

Zweites Problem: Gegeben x0,...,xN-1 mit Garantie, dass genau ein xi=1, finde i

Drittes Problem: Gegeben x0,...,xN-1, Berechne ODER(x0,...,xN-1)

Viertes Problem: Gegeben x0,...,xN-1 mit Garantie, dass genau ein xi=1 oder kein xi=1, Entscheide welcher Fall

2),3) einfacher als 1), 4) einfacher als 2),3)

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

Klassische Algorithmen

Betrachte randomisierte Algorithmen mit Fehler 1/3 für Problem 4)

Wir zeigen später: (N) Fragen an die Black Box notwendig

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

Quantenalgorithmen

Wie schnell kann ein Quantenalgorithmus das Suchproblem lösen?

Grovers Algorithmus kann dies in O(N1/2) Historisch kam untere Schranke zuerst Jeder Algorithmus für das Suchproblem

(Genauer für Problem 4) ) braucht (N1/2) Fragen

D.h. “brute Force” Algorithmen für SAT brauchen Zeit 2n/2

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

Grovers Algorithmus

[Grover 96]

Löst das Suchproblem mit N1/2 Fragen im worst case

Allgemeiner: Wenn t Positionen i mit xi=1 existieren, dann Zeit (N/t)1/2

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

Grovers Algorithmus

Betrache Fall mit genau einer Lösung xi=1 (Problem 2)

Betrache Vektoren |ii sowie |0i=j=0...N-1 1/N1/2 |ji

”Ziel” und “Start” Wie kann man den Abstand verringern? Betrachte Ebene von |ii und |0i; |ei sei

orthogonal zu |ii in der Ebene

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

Grovers Algorithmus

Betrachte Ebene von |ii und |i; |ei sei orthogonal zu |ii in der Ebene

Reflektiere um |ei und dann um |0i Ergebnis:

|ii

|ei

|i

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

Grovers Algorithmus

Betrachte Ebene von |ii und |i; |ei sei orthogonal zu |ii in der Ebene

Reflektiere um |ei und dann um |0i Ergebnis:

|ii

|ei

|i

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

Grovers Algorithmus

Betrachte Ebene von |ii und |i; |ei sei orthogonal zu |ii in der Ebene

Reflektiere um |ei und dann um |0i Ergebnis: Rotation um 2

|ii

|ei

|i

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

Grovers Algorithmus

Betrachte Ebene von |ii und |i; |ei sei orthogonal zu |ii in der Ebene

Reflektiere um |ei und dann um |i Ergebnis: Rotation um 2 Wenn Winkel zu |0i, dann erst -- zu |

ei und dann 2 + zu |0i|ii

|ei

|i

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

Grovers Algorithmus

Reflektiere um |ei und dann um |i Ergebnis: Rotation um 2 |ei=i j 1/(N-1)1/2 |ji

Wie viele Iterationen? Höchstens (/2)/(2) Iterationen 1/N1/2 =hi|0i = cos(/2- ) = sin() Dann 1/N1/2 = sin() ¼

und ca. /4 ¢ N1/2 Iterationen

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

Grovers Algorithmus

Reflektiere um |ei und dann um |i Ergebnis: Rotation um 2 |ei=i j 1/(N-1)1/2 |ji Aber wie? Reflektion um |ei:

bilde a|ii+b|ei ab auf -a |ii+ b|ei Durch Frage an Black Box! Wechsele Vorzeichen wenn xi=1

|ei|i

|ii

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

Grovers Algorithmus

Reflektiere um |ei und dann um |i

Reflektion um |0i:

Wende Operation 2|0ih 0|- I an Sei N=2n, Positionen 0,...,N-1 in

Binärdarstellung Implementierung durch H n P H n, wobei

P|0ni=|0ni und P|xi=-|xi sonst

|ei|i

|ii

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

Grovers Algorithmus

Operation 2|0ih 0|- I Implementierung durch H n P H n, wobei P|

0ni=|0ni und P|xi=-|xi sonst

Page 17: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12

Grovers Algorithmus

Operation 2|0ih 0|- I Implementierung durch H n P H n, wobei P|

0ni=|0ni und P|xi=-|xi sonst

Page 18: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12

Grovers Algorithmus

Operation 2|0ih 0|- I Andere Interpretation:

Vektor (a0,...,aN-1) wird abgebildet auf Vektor mit (2j aj/N)-ai an Position i

Inversion über den Mittelwert

Page 19: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12

Grovers Algorithmus

Black Box: Zusätzliches Qubit 1/21/2 (|0i-|1i) Anwendung der normalen Black Box: |

ii|ai wird auf |ii|a©xii abgebildet Trick mit zusätzlichem Qubit: Black Box

bildet |ii auf (-1)xi |ii ab

Page 20: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12

Grovers Algorithmus

Register mit n Qubits Starte mit Zustand |0i=j=0...N-1 1/N1/2 |ji

[durch Anwendung von H n auf |0ni] Iteriere ungefähr N1/2 mal:

Wende Black Box an Wende H n P H n an, wobei P|0ni=|0ni und

P|xi=-|xi sonst Messe i, teste ob xi=1

Page 21: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12

Grovers Algorithmus

HH

HH

HH

O

HH

HH

HH

HH

HH

HH

P

N1/2

Page 22: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12

Beispiel

x0=1, andere xi=0

Anfang: j=0...N-1 1/N1/2 |ji

Dann j=1...N-1 1/N1/2 |ji-1/N1/2|0i Dann Inversion über den Mittelwert

Vektor (a0,...,aN-1) wird abgebildet auf Vektor mit (2j aj/N)-ai an Position i

Ergebnis: Amplitude von |0i steigt ungefähr um 2/N1/2, andere Amplituden bleiben fast gleich

Ähnlich in anderen Schritten Fertig nach (/2)/(2/N1/2)=(/4) N1/2 Schritten

Page 23: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12

Genaue Anzahl der Iterationen Macht man zuviele Iterationen, wird der Zustand wieder von

der Lösung entfernt !

Anfangszustand: j=0...N-1 1/N1/2 |ji

1/N1/2 |i0i +ji0 1/N1/2 |ji

kj: Amplitude von i0 nach j Iterationen; lj: andere Amplituden nach j Iterationen; k0,l0=1/N1/2

Iteration setzt kj+1= (N-2)/N ¢ kj+2(N-1)/N¢ lj lj+1= (N-2)/N ¢ lj -2/N¢ kj

Man kann zeigen, dass kj=sin((2j+1)); lj=1/(N-1)1/2 cos((2j+1)) wobei so dass sin2()=1/N

km=1 wenn (2m+1)=/2, wenn m=(-2)/(4) Fehler kleiner als 1/N wenn b /4 N1/2c Iterationen

Page 24: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12

Mehr als eine Lösung

Es gebe t Werte von i mit xi=1 t sei bekannt Verwende selben Algorithmus, andere

Anzahl von Iterationen Ähnliche Analyse wie zuvor, Fehler t/N bei

b/4 ¢ (N/t)1/2c Iterationen

Page 25: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 8.12

Unbekannte Anzahl von Lösungen Es gebe t Werte von i mit xi=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 2a/2=O(1) geometrische Reihe