Quantencomputing I

Werbung
Quantencomputing I
Quantencomputing I
Hecke Schrobsdorff
Max Punck Institut für Dynamik und Selbstorganisation
Oberseminar Theoretische Informatik SS 2005
Quantencomputing I
Inhalt
1
Einführung
2
Qubits
3
Messen
4
Unitäre Transformationen
5
Quantenregister
6
Quantenschaltkreise
7
Das Deutsch-Problem
8
Deutsch-Jozsa
Quantencomputing I
Einführung
Einführung
Hauptidee:
Miniaturisierung führt zu Quantenphänomenen.
Kann man das nutzen?
Quantenmechanik
eröffnet neue Rechenmöglichkeiten,
vereinfacht einige Berechnungen.
Aber
nicht alles wird einfacher,
es gibt Grenzen in der Beschleunigung.
Quantencomputing I
Qubits
Qubits statt Bits
Ein Quantumbit, kurz Qubit, hat die Form
|φi = α · |0i + β · |1i mit: α, β ∈ C,
|α|2 + |β|2 = 1
| · i: Ket-Schreibweise bezeichnet einen Basiszustand
Standard-Orthonormalbasis |0i und |1i
Superposition als Linearkombination der Basis
kontinuierliche Werte auf dem Einheizkreis
Wahrscheinlichkeitsinterpretation (→ Messen) der
Amplituden α und β
Quantencomputing I
Qubits
Rechnen mit Qubits
Präparation eines Anfangszustands
Zustandsänderung mittels unitärer Transformationen, die
auf den aktuellen Zustand angewendet werden
Informationsextraktion per Messung
Achtung! Die Messung ist keine unitäre Transformation,
sondern höchst nichtlinear.
Quantencomputing I
Messen
Messen
Immer nur bezüglich einer Orthonormalbasis
Das Ergebnis ist einer der Basiszustände
Die Amplitudenquadrate bezeichnen die
Wahrscheinlichkeiten des Messens des entsprechenden
Zustands.
|α|2 = P(M(φ) = |0i)
|β|2 = P(M(φ) = |1i)
Zusammenbruch der Superposition
Der gemessene Zustand wird angenommen.
“Man kann nichts beobachten, ohne es zu verändern”
Quantencomputing I
Unitäre Transformationen
Unitäre Transformationen
Qubits liegen immer auf dem Einheitskreis ⇒ alle
Transformationen sind unitär
Definition : Eine Matrix M heißt unitär,
T
wenn M ∗ := M = M −1 gilt.
Dies entspricht den orthogonalen Matrizen, wenn man sich
nicht über C sondern über R bewegt.
Reversibilität ist Pflicht
Basis von 2 Elementen, also 2 × 2-Matrizen
Zustände sind als 2er Vektoren darstellbar
Quantencomputing I
Unitäre Transformationen
Die Hadamardtransformation H1
1
H1 := √
2
1 1
1 −1
=
√1
2
√1
2
Damit ist:
H1 |0i =
H1 |1i =
1
√ (|0i + |1i)
2
1
√ (|0i − |1i)
2
und wieder (H1−1 = H1 )
1
H1 √ (|0i + |1i) = |0i
2
1
H1 √ (|0i − |1i) = |1i
2
√1
2
− √1
2
!
Quantencomputing I
Unitäre Transformationen
nochmal Messen
Eine wichtige Basis ungleich {|0i, |1i} ist
{|+i, |−i} = {H1 |1i, H1 |0i}
1
1
= { √ (|0i + |1i), √ (|0i − |1i)}
2
2
Zum Messen wird transformiert
1
|φi = √ ((α + β)|+i + (α − β)|−i)
2
Die Amplitudenquadrate in dieser Basis geben dann die
Wahrscheinlichkeiten an, wenn in dieser Basis gemessen
wird.
1
2 |α
1
2 |α
+ β|2
− β|2
den Zustand
|+i
.
|−i
Quantencomputing I
Quantenregister
Quantenregister
Mehrere Qubits verschaltet geben ein Quantenregister
|xn i...|x2 i|x1 i =: |xn ... x2 x1 i
Im Prinzip äußeres Produkt der einzelnen Hilbärträume
Hier reicht: Basiszustände des n-Registers sind
Binärzahlen der Länge n
Für n = 2 ist
R = α0 · |0i|0i + α1 · |0i|1i + α2 · |1i|0i + α3 · |1i|1i
= α0 · |00i + α1 · |01i + α2 · |10i + α3 · |11i
n −1
n −1
2X
2X
|αi |2 = 1
αi · |ii mit
n allgemein:
R=
i=0
wobei
i=0
|ii=|b
ˆ n bn−1 ...b1 i und (bn bn−1 ...b1 ) = bin(i)
Quantencomputing I
Quantenregister
Transformation von Registern
Manipulationen an Registern werden nun durch unitäre
2n × 2n -Matrizen (!) beschrieben.
Beispiel: n = 2
XOR : |x, yi 7→ |x, x

1 0 0
 0 1 0
⇒ XOR =
ˆ
 0 0 0
0 0 1
⊕ yi

0
0 

1 
0
Die klassische Form |x, yi 7→ |x ⊕ yi ist nicht reversibel.
gesteuertes NOT : Das zweite Bit wird genau dann
negiert, wenn das erste Bit x den Wert 1 hat.
Quantencomputing I
Quantenregister
Die allgemeine Hadamardtransformation
Sei |xi eim n-Qubit Quantenregister |xn xn−1 ...x1 i.
Verallgemeinerte Hadamardtransformation:
n
M
X
1
x·y
Hn |xi = √
(−1) |yi, wobei x · y =
xi yi
2 y ∈{|0i,|1i}n
i=1
Die Summe läuft über alle möglichen Zustände des
Registers. |xi taucht nur noch im Vorzeichen auf.
Beispiele:
gleichgewichtete Superposition aller Zustände:
n
2 −1
1 X
(−1)0 |yi
Hn |0i = Hn |00...0i = √
2 y =0
H2 |01i = 21 (|00i − |01i + |10i − |11i)
Quantencomputing I
Quantenregister
Lokalität
Jede Transformation eines n-Quantenregisters zerfällt in n
Transformationen, die je auf einem Qubit arbeiten.

1
1
1
1

1
1
1 −1
1 −1
H1 H1
H2 = H1 ⊗H1 = √
= 
1 −1 −1
2 1
2 H1 −H1
1 −1 −1
1
Das liegt an der Struktur des äußeren Produktes.
Dadurch wird die Anzahl der verschiedenen Gatter
sehr eingeschränkt.




Quantencomputing I
Quantenregister
Entkopplung der Transformationen
Wir hatten: H2 |01i = 21 (|00i − |01i + |10i − |11i)
Das lässt sich auch lokal berechnen:
H1 aufs
erste Qubit
|01i −→
=
H1 aufs
zweite Qubit
−→
=
1
√ (|0i + |1i)|1i
2
1
1
√ |01i + √ |11i
2
2
1
1
1
1
√ |0i √ (|0i − |1i) + √ |1i √ (|0i − |1i)
2
2
2
2
1
(|00i − |01i + |10i − |11i)
2
Quantencomputing I
Quantenschaltkreise
Quantenschaltkreise
Schaltkreise liefern eine gute Übersicht von
Quantenalgorithmen
Sie definieren die Komplexität eines Quantenalgorithmus
über die Anzahl der Einqubit-Gatter.
|xi
|yi
XOR
XOR
XOR
|x ⊕ yi
|xi
Hier passieren folgende Zustandsübergänge:
|x, yi → |x, x ⊕ yi
tausch
→ |x ⊕ y, xi
→ |x ⊕ y, x ⊕ x ⊕ yi = |x ⊕ y, yi
→ |x ⊕ y, x ⊕ y ⊕ yi = |x ⊕ y, xi
Quantencomputing I
Quantenschaltkreise
Zufall
|0i
H1
|0i
H1
|0i
H1
|0i
H1
Messung
Ein Quantencomputer kann echte Zufallszahlen
generieren.
Durch Messen einer gleichgewichteten Superposition
Registerinhalt nach dem ersten Schritt:
n −1
2P
Hn
√1
|0..0i −→
|ii
n
2
i=0
Messen ergibt: |ii mit Wahrscheinlichkeit P =
√1
2n
Quantencomputing I
Das Deutsch-Problem
Das Deutsch-Problem
Problemstellung
Gegeben sei eine Blackbox, die eine Funktion
f : {0, 1} 7→ {0, 1} berechnet. Davon gibt es vier verschiedene.
Ziel des Spiels ist es nun, zu entscheiden, ob
f konstant (f (0) = f (1)) oder
f balanciert (f (0) 6= f (1)) ist.
Orakelabfragen sind erlaubt
Ein klassischer Computer muss zwei solcher Abfragen
tätigen
Quantencomputer müssen nur einmal schauen.
Quantencomputing I
Das Deutsch-Problem
Das Deutsch-Problem
Die Idee
Erzeuge eine gleichgewichtete Superposition der beiden
Basiszustände
Wende f darauf an.
Messe bezüglich der Basis, deren reine Zustände die
beiden Ergebnisse der Rechnung sind.
Quantencomputing I
Das Deutsch-Problem
Das Deutsch-Problem
Eine Transformation für f
eine unitäre Form des Funktionsaufrufes ist
Uf : |x, yi 7→ |x, y ⊕ f (x)i
f ist an sich nicht reversibel
Uf schon.
Es ist Uf−1 = Uf .
Quantencomputing I
Das Deutsch-Problem
Das Deutsch-Problem
Algorithmus
1
2
3
4
R = |x, yi ← |01i
R ← H2 R
R ← Uf R
Messe das erste Bit |xi bezüglich der Basis
1
1
{|+i, |−i} = { √ (|0i + |1i), √ (|0i − |1i)}
2
2
Sage “konstant“ falls das Ergebnis |−i ist, sonst
“balanciert“.
|0i
H
|1i
H
H
M
f
H
Quantencomputing I
Das Deutsch-Problem
Das Deutsch-Problem
Analyse
H
2
|01i −→
U
f
−→
1
2
1
1
1
1
|00i − |01i + |10i − |11i
2
2
2
2
(|0i · (|0 ⊕ f (0)i − |1 ⊕ f (0)i) + |1i · (|0 ⊕ f (1)i − |1 ⊕ f (1)i))
= 1 2|0,f (0)i− 1 |0,1+f (0)i+ 1 |1,f (0)i− 1 |1,1+f (1)i
2
2
2
= 1 2 |0i·(−1)f (0) (|0i−|1i)+|1i·(−1)f (1) (|0i−|1i)
(
)
= 1 2 (−1)f (0) |0i+(−1)f (1) |1i (|0i−|1i)
(
)

1

2 (|0i + |1i) · (|0i − |1i)

fallsf (0) = f (1)


oder − 21 (|0i + |1i) · (|0i − |1i)






1
(|0i − |1i) · (|0i − |1i) 
=
2




1


oder
−
·
(|0i
−
|1i)
(|0i
−
|1i)
fallsf (0) 6= f (1)





|2 {z
} | {z } 


|y i
|xi
Quantencomputing I
Das Deutsch-Problem
Das Deutsch-Problem
Alternativer Algorithmus
1
2
3
4
5
R = |x, yi ← |01i
R ← H2 R
R ← Uf R
|xi ← H1 |xi
Messe das erste Bit |xi bezüglich der Basis {|0i, |1i} Sage
“konstant“ falls das Ergebnis |1i ist, sonst “balanciert“.
|0i
H
|1i
H
M
f
Quantencomputing I
Das Deutsch-Problem
Das Deutsch-Problem
Analyse
Nach GS3 haben wir den folgenden Zustand:
1
1 √ (−1)f (0) |0i − (−1)f (1) |1i · √ (|0i − |1i)
2
2
H1 auf |xi
−→
(−1)f (0) √12 (|0i + |1i) + (−1)f (1) √12 (|0i − |1i) ·
√1
2
=1 √2 (−1)f (0) +(−1)f (1) |0i+ (−1)f (0) +(−1)f (1) |1i · √1 (|0i−|1i)
((
)
(
) ) 2

1
√

 ±|1i · 2 (|0i − |1i) fallsf (0) = f (1)


1
±|0i · √ (|0i − |1i) fallsf (0) 6= f (1)
=
{z
}
|

2

{z
}

 |xi |
|y i
√1 (|0i
2
− |1i)
Quantencomputing I
Deutsch-Jozsa
Deutsch-Jozsa
Problem
Gegeben sei wieder eine Blackbox, die eine Funktion
f : {0, 1}n 7→ {0, 1} berechnet.
Wir wissen, dass f entweder
konstant
balanciert
f (i) = f (j)∀i, j ∈ {0, 1}n oder
ist.
Im letzteren Fall werden gleich viele Eingaben auf 0 wie auf 1
abgebildet. Dann ist also |f −1 (0)| = |f −1 (1)| = 2n−1 .
Ein klassischer Computer muss im schlechtesten Fall
2n−1 + 1 solcher Abfragen tätigen
Quantencomputer müssen nur einmal schauen.
Quantencomputing I
Deutsch-Jozsa
Deutsch-Jozsa
Algorithmus
1
2
3
4
5
R = |xn−1 . . . x0 i|yi ← |0 . . . 0i|1i
R ← Hn+1 R
R ← Uf R
|xi|yi ← (Hn |xi)|yi
Messe |xi. Sage “konstant” falls das Ergebnis |0 . . . 0i ist,
sonst “balanciert”.
|0i
H
H
M
|0i
H
|1i
H
H
f
Quantencomputing I
Deutsch-Jozsa
Deutsch-Jozsa
Analyse
hn+1
|0 . . . 0i|1i ←
!
2n −1
1
1 X
√
|xi · √ (|0i − |1i) = |φ2 i
n
2 x=0
2
1
1
Uf
|xi √ (|0i − |1i) −→
|xi √ (|f (x)i − |1 ⊕ f (x)i)
2
2
1
f (x)
= (−1)
· |xi · √ (|0i − |1i)
2
!
n −1
2X
1
1
Uf
√
(−1)f (x) |xi · √ (|0i − |1i)
|φ2 i −→
n
2 x=0
2
!
n
n
2 −1 2 −1
1 X X
1
Hn
−→
(−1)f (x) (−1)x·z |zi · √ (|0i − |1i) = |φ4 i
2n
2
z=0 x=0
Quantencomputing I
Deutsch-Jozsa
Deutsch-Jozsa
Analyse
M(|xn−1 . . . x0 i) =
|φ′4 i
|zi
=
1
2n
n −1
2P
x=0
(−1)f (x) (−1)x·z |zi , für festes
Fall: konstant Für z = 0 gilt x · z = 0:
n
|φ′4 i
2 −1
1 X
= n
±|0i = ±|0i.
2
x=0
Da |φ′4 i ansonsten symmetrisch ist verschwindet die Amplitude
von jedem |zi mit z 6= 0.
Fall: balanciert Für z = 0 ist
|φ′4 i
=
1
2n
n −1
2P
x=0
(−1)f (x) |0 . . . 0i.
Für die eine Hälfte der x ist f (x) = 0, für die andere ist
f (x) = 1. Also ist die Amplitude von |0i gleich 0.
Quantencomputing I
Zusammenfassung
Zusammenfassung
Die Quantenmechanik bietet neue Möglichkeiten für
Algorithmen.
Es ist gewöhnungsbedürftig, aber nicht schwer.
Manche Verfahren sind überraschend
Quantencomputing I
Zusammenfassung
|cati =
√1 |deadi
2
+
√1 |alivei
2
Herunterladen