15.07.2013 Aufrufe

Algorithmen für Quantencomputer II - Institut für Theoretische Physik ...

Algorithmen für Quantencomputer II - Institut für Theoretische Physik ...

Algorithmen für Quantencomputer II - Institut für Theoretische Physik ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong><br />

Der Shor Algorithmus<br />

Hauptseminar <strong>Theoretische</strong> <strong>Physik</strong><br />

Universität Stuttgart, SS 2011<br />

Uwe Pracht


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Inhalte des Vortrags<br />

● Motivation: wie findet man Primfaktoren auf klassischem Wege?<br />

● Zwei Sätze der Zahlentheorie und ein Stellvertreterproblem.<br />

● Die Quantenmechanik des Shor Algorithmus.<br />

● Zusammenfassung und Literatur.<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 01/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Aufgabe: Finde zu einer natürlichen Zahl N zwei Primzahlen p,q mit N=pq.<br />

Einfachster Algorithmus: Ausprobieren, ob ein Teiler von N ist.<br />

Laufzeit völlig ineffizient!<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 02/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Aufgabe: Finde zu einer natürlichen Zahl N zwei Primzahlen p,q mit N=pq.<br />

Einfachster Algorithmus: Ausprobieren, ob ein Teiler von N ist.<br />

Laufzeit völlig ineffizient!<br />

Derzeit bester Algorithmus: general number field sieve (GNFS) [Pom96]<br />

Laufzeit ca. Kompl. Klasse NP<br />

exp. schwierig.<br />

[Pom96] Carl Pommercance, A Tale Of Two Sieves , Notices of the AMS 43 (12): pp. 1473–1485, (1996)<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 02/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Aufgabe: Finde zu einer natürlichen Zahl N zwei Primzahlen p,q mit N=pq.<br />

Einfachster Algorithmus: Ausprobieren, ob ein Teiler von N ist.<br />

Laufzeit völlig ineffizient!<br />

Derzeit bester Algorithmus: general number field sieve (GNFS) [Pom96]<br />

Laufzeit ca. Kompl. Klasse NP<br />

exp. schwierig.<br />

Abhilfe durch Quantenmechanik: Shor Algorithmus<br />

Laufzeit Kompl. Klasse P<br />

erheblich schneller<br />

als GNFS!<br />

Beispiel: L=130, GNFS benötigt 42 Tage L=260, GNFS benötig ca. 1 Mio. Jahre<br />

L=130, Shor benötigt 7 Stunden L=260, Shor benötigt 8x7=56 Stunden<br />

[Pom96] Carl Pommercance, A Tale Of Two Sieves , Notices of the AMS 43 (12): pp. 1473–1485, (1996)<br />

[Bru04] Dagmar Bruß, Skriptum zur Vorlesung Quanteninformationstheorie, Uni. Düsseldorf (2004/2005)<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 02/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Der Shor Algorithmus (nach Peter W. Shor, 1994) führt die Suche nach den<br />

Primfaktoren p,q auf die Suche nach der Periodizität r einer bestimmten Funktion f(x).<br />

Primfaktoren p.q werden anschließend aus r berechnet.<br />

Diese Periodizität kann klassisch ermittelt werden, oder wesentlich effizienter mit Hilfe<br />

der sog. Quantenfouriertransformation (QFT).<br />

Klassischer Teil zur<br />

Reduzierung des Problems<br />

auf Funktion f(x).<br />

Shor Algorithmus<br />

[Sho94]Peter W. Shor, SIAM Journal on Computing, ,26, S. 1484–1509 (1994)<br />

Quantenmechanischer Teil<br />

zur effizienten Lösung<br />

des Restproblems.<br />

(Finden der Periode r)<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 03/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

SATZ 1<br />

Seien p,q Primzahlen mit N=pq und a


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

SATZ 1<br />

Seien p,q Primzahlen mit N=pq und a


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

SATZ 1<br />

Seien p,q Primzahlen mit N=pq und a


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

● Ausgangspunkt <strong>für</strong> Quantenteil:<br />

2 Register der Länge n und m N<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 05/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

● Ausgangspunkt <strong>für</strong> Quantenteil:<br />

2 Register der Länge n und m N<br />

● Erzeuge gleichgewichtete<br />

Superposition im 1. Register<br />

mit<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 05/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

● Ausgangspunkt <strong>für</strong> Quantenteil:<br />

2 Register der Länge n und m N<br />

● Erzeuge gleichgewichtete<br />

Superposition im 1. Register<br />

mit<br />

Beispiel N=15 (1111)<br />

● Wähle (mindestens) n=3 und m=4<br />

● Superposition<br />

● Die Nummer eines Zustands ist<br />

gleichzeitig der Messwert.<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 05/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

● Bilde das erste auf das zweite Register<br />

durch die unitäre Transformation<br />

ab. Es folgt<br />

● Periodizität ist globale Eigenschaft der<br />

Funktion und steckt nach bereits einer<br />

Operation in den Zuständen des 1.<br />

Registers!<br />

David Deutsch:<br />

“massive quantum parallelism”<br />

Erster Hauptgrund <strong>für</strong> hohe Effizienz!<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 06/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

● Bilde das erste auf das zweite Register<br />

durch die unitäre Transformation<br />

ab. Es folgt<br />

● Periodizität ist globale Eigenschaft der<br />

Funktion und steckt nach bereits einer<br />

Operation in den Zuständen des 1.<br />

Registers!<br />

David Deutsch:<br />

“massive quantum parallelism”<br />

Erster Hauptgrund <strong>für</strong> hohe Effizienz!<br />

Wähle ein a < N = 15 mit ggT(a,N)=1<br />

z.B. a=11 (oder 14, 13, 8, 7, 4, 2)<br />

Damit lautet der Zustand nach der<br />

unitären Transformation<br />

Die Nummern der Zustände des 1.<br />

Registers haben i.A einen Offset l<br />

gegenüber Null. Hier ist l=0 und l=1.<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 06/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

● Messung am 2. Register projeziert das<br />

1. Register je nach Offset l auf<br />

Mit [d/r] der größten natürlichen Zahl<br />

kleiner gleich d/r (Gauß-Klammer)<br />

● Durch (sehr) häufige Wiederholung der<br />

Messung und Selektion nach Offset<br />

lässt sich prinzipiell jetzt schon Periode<br />

r auslesen.<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 07/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

● Messung am 2. Register projeziert das<br />

1. Register je nach Offset l auf<br />

Mit [d/r] der größten natürlichen Zahl<br />

kleiner gleich d/r (Gauß-Klammer)<br />

● Durch (sehr) häufige Wiederholung der<br />

Messung und Selektion nach Offset<br />

lässt sich prinzipiell jetzt schon Periode<br />

r auslesen.<br />

Nur Projektion auf die Zustände<br />

des 2. Registers ist ungleich 0:<br />

● Offset l=0 ; also Projektion auf<br />

1. Register in Superposition<br />

● Offset l=1 ; also Projektion auf<br />

1. Register in Superposition<br />

● Durch häufige Messung am 1. Register<br />

lassen sich die Nummern der Zustände<br />

und damit die Periode zu r=2 auslesen<br />

● Für große N unpraktisch, schneller mit<br />

Quantenfouriertransformation (QFT)<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 07/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Idee der QFT : Verschiebe den uninteressanten Offset in eine <strong>für</strong> die Messung irrelevante<br />

Phase. Die Wirkung des unitären QFT Operators auf einen Zustand ist definiert als<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 08/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Idee der QFT : Verschiebe den uninteressanten Offset in eine <strong>für</strong> die Messung irrelevante<br />

Phase. Die Wirkung des unitären QFT Operators auf einen Zustand ist definiert als<br />

Betrachte im Folgenden den Fall , also . Die QFT des 1.<br />

Registers lautet somit<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 08/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Genauere Betrachung der Funktion g(z)<br />

Summe ist geometrische Reihe<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 09/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Genauere Betrachung der Funktion g(z)<br />

Summe ist geometrische Reihe<br />

1) sei<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 09/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Genauere Betrachung der Funktion g(z)<br />

Summe ist geometrische Reihe<br />

1) sei<br />

2) sei<br />

Alle Zustände, die die Bedingung 2) erfüllen, verschwinden durch destruktive Interferenz.<br />

Zweiter Hauptgrund <strong>für</strong> hohe Effizienz!<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 09/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Zusammengefasst lautet die QFT des 1. Registers somit<br />

z-Summation auf k-Summation umgeschrieben<br />

Unterschied zum Anfang: Offset l steht nicht mehr im Zustand sondern in dem <strong>für</strong> die<br />

quantentheoretische Messung irrelevanten Phasenfaktor.<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 10/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Der Gesamtzustand ( 1. und 2. Register)<br />

lautet somit<br />

Wobei der l-abhängige Phasenfaktor in<br />

das nicht interessierende 2. Register<br />

geschoben wurde. Die Periodizität steht<br />

nun in der Bezeichnung der Zustände<br />

des 1. Registers und ist durch Messung<br />

am 1. Register direkt zugänglich<br />

Bekannt:<br />

Bekannt durch Messung:<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 11/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Der Gesamtzustand ( 1. und 2. Register)<br />

lautet somit<br />

Wobei der l-abhängige Phasenfaktor in<br />

das nicht interessierende 2. Register<br />

geschoben wurde. Die Periodizität steht<br />

nun in der Bezeichnung der Zustände<br />

des 1. Registers und ist durch Messung<br />

am 1. Register direkt zugänglich<br />

Bekannt:<br />

Bekannt durch Messung:<br />

Register 2 wurde im Zustand<br />

entsprechend l=1 präpariert. QFT des 1.<br />

Registers:<br />

Damit lautet der Endzustand<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 11/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

● Endzustand<br />

● Mit der Wahrscheinlichkeit ½ wird am 1. Register der Messwert gemessen,<br />

der zum Zustand mit Nummer 0 (k=0) gehört<br />

, also keine Information<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 12/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

● Endzustand<br />

● Mit der Wahrscheinlichkeit ½ wird am 1. Register der Messwert gemessen,<br />

der zum Zustand mit Nummer 0 (k=0) gehört<br />

, also keine Information<br />

● Mit gleicher Wahrscheinlichkeit wird , also der Zustand mit Nummer 4 (k=1)<br />

gemessen<br />

, also r=2<br />

● Damit ist der Quantenteil des Algorithmus am Ende.<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 12/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

● Endzustand<br />

● Mit der Wahrscheinlichkeit ½ wird am 1. Register der Messwert gemessen,<br />

der zum Zustand mit Nummer 0 (k=0) gehört<br />

, also keine Information<br />

● Mit gleicher Wahrscheinlichkeit wird , also der Zustand mit Nummer 4 (k=1)<br />

gemessen<br />

, also r=2<br />

● Damit ist der Quantenteil des Algorithmus am Ende.<br />

● Klassisch geht es weiter nach SATZ 2:<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 12/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Zusammenfassung des Shor Algorithmus<br />

● Findet nicht-triviale Faktoren in polynomialer Zeit und damit wesentlich schneller als<br />

alle bisher bekannten klassischen Verfahren (exponentielle Laufzeit).<br />

● Aufgebaut aus klassischem und quantenmechanischen Teil.<br />

● Im Quantenteil: Suche nach Faktoren wird in Suche nach Periodizität r der Funktion<br />

f(x) verwandelt. Suche erfolgt durch Quantenfouriertransformation.<br />

● Superposition Implementierung QFT Durchläufe Insgesamt<br />

● Praktische Umsetzung jedoch auf heutigem Stand ausgesprochen schwierig und<br />

bisher nur <strong>für</strong> den einfachsten Fall N=15 mit insgesamt 7 Qubits gelungen, [Lan07].<br />

● Größtes Problem: Für Zahlen, die klassisch nicht mehr faktorisiert werden können,<br />

sind extrem lange Dekohärenzzeiten (> mehrere Stunden) erforderlich.<br />

● Fazit: Shor Algorithmus in der Theorie von großer Bedeutung, aber momentan noch<br />

jenseits einer praktischen Umsetzung.<br />

[Lan07] B. P. Lanyon et al., PRL 99, 250505 (2007)<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 13/14


Einführung zahlentheo. Aspekte Implementierung von f QFT Auswertung Konklusion<br />

Verwendete und weiterführende Literatur<br />

● Zahlentheoretische Aspekte<br />

[Pom96] Carl Pommercance, A Tale Of Two Sieves , Notices of the AMS 43 (12): pp. 1473–1485, (1996)<br />

● Zur Theorie<br />

[Bru04] Dagmar Bruß, Skriptum zur Vorlesung Quanteninformationstheorie, Uni. Düsseldorf (2004/2005)<br />

[Ste97] Andrew Steane, Skriptum Quantum Computing, University of Oxford (1997)<br />

[Aud05] Jürgen Audretsch, Verschränkte Systeme, Wiley-VCH Verlag (2005)<br />

[Sho94] Peter W. Shor, SIAM Journal on Computing, ,26, S. 1484–1509 (1994)<br />

● Zur experimentellen Umsetzung<br />

[Lan07] B. P. Lanyon et al., PRL 99, 250505 (2007)<br />

<strong>Algorithmen</strong> <strong>für</strong> <strong>Quantencomputer</strong> <strong>II</strong> Uwe Pracht 14/14

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!