Wprowadzenie do teorii komputerów kwantowych

Transkrypt

Wprowadzenie do teorii komputerów kwantowych
Wprowadzenie do teorii komputerów kwantowych
mgr inż. Olga Siedlecka
[email protected]
Instytut Informatyki Teoretycznej i Stosowanej
Wprowadzenie do teorii komputerów kwantowych – p.1/35
Plan seminarium
Wstep
˛
Historia
Fizyka klasyczna
Układy probabilistyczne
Mechanika kwantowa
Informacja kwantowa
Algorytm Grovera
Wprowadzenie do teorii komputerów kwantowych – p.2/35
Wstep
˛
Teoria komputerów kwantowych zawiera piek˛
no niezależnie od tego czy uda sie˛ kiedyś zrealizować ja˛ w praktyce.
N.D. Mermin
Wprowadzenie do teorii komputerów kwantowych – p.3/35
Historia
Richard Feynman - symulacja ewolucji układów kwantowych na klasycznych maszynach,
Rolf Laundauer, Charles H. Bennet - udowodnili, że wszystkie algorytmy,
które przeprowadza zwykła maszyna Turinga, moga˛ by c´przeprowadzone
w taki sposób, aby były odwracalne,
lata 80 - te, Paul Benioff wykazał, że komputer może działa c´ opierajac
˛
sie˛ jedynie o operacje kwantowo - mechaniczne,
David Deutsch - podał dwa modele obliczen´ kwantowych: uniwersalna˛
kwantowa˛ maszyne˛ Turinga i siec´ bramek kwantowych
Wprowadzenie do teorii komputerów kwantowych – p.4/35
Historia
1994r. Peter W. Shor - algorytm rozkładu liczby na czynniki pierwsze przy
użyciu zjawisk splatania
˛
i superpozycji,
1995r. Lov Grover - zaproponował kwantowy algorytm wyszukiwania informacji w dużych zbiorach danych.
1995r. konferencja w Turynie (we Włoszech) - projekty budowy obwodów
kwantowych,
1996r. Christopher R. Monroe, David J.Wineland, H. Jeff Kimble - zbudowali niektóre prototypowe elementy mogace
˛ posłuży c´ do budowy komputera kwantowego,
Wprowadzenie do teorii komputerów kwantowych – p.5/35
Fizyka klasyczna
Fizyka klasyczna jest nauka˛ empiryczna,
˛ zatem teoria zostaje uznana za
prawdziwa,
˛ gdy jej przewidywania zgodza˛ sie˛ z wynikami do s´wiadczalnymi. Pojecie
˛
obserwabli (zmiennych dynamicznych) ma w niej ogromne
znaczenie. Przykładami obserwabli zwiazanych
˛
z układem fizycznym jest
położenie i ped.
˛ Pełny opis układu nazywamy stanem układu.
Wprowadzenie do teorii komputerów kwantowych – p.6/35
Fizyka klasyczna
Fizyka klasyczna jest nauka˛ empiryczna,
˛ zatem teoria zostaje uznana za
prawdziwa,
˛ gdy jej przewidywania zgodza˛ sie˛ z wynikami do s´wiadczalnymi. Pojecie
˛
obserwabli (zmiennych dynamicznych) ma w niej ogromne
znaczenie. Przykładami obserwabli zwiazanych
˛
z układem fizycznym jest
położenie i ped.
˛ Pełny opis układu nazywamy stanem układu.
Układ fizyczny jest opisany wektorem stanu x ∈ Rk dla danego k. Zbiór
możliwych stanów układu nazywamy przestrzenia˛ fazowa˛ układu.
Wprowadzenie do teorii komputerów kwantowych – p.6/35
Fizyka klasyczna
Fizyka klasyczna jest nauka˛ empiryczna,
˛ zatem teoria zostaje uznana za
prawdziwa,
˛ gdy jej przewidywania zgodza˛ sie˛ z wynikami do s´wiadczalnymi. Pojecie
˛
obserwabli (zmiennych dynamicznych) ma w niej ogromne
znaczenie. Przykładami obserwabli zwiazanych
˛
z układem fizycznym jest
położenie i ped.
˛ Pełny opis układu nazywamy stanem układu.
Układ fizyczny jest opisany wektorem stanu x ∈ Rk dla danego k. Zbiór
możliwych stanów układu nazywamy przestrzenia˛ fazowa˛ układu.
Jeżeli stan układu zależy od czasu możemy używa c´oznaczenia x (t) lub
xt .
Wprowadzenie do teorii komputerów kwantowych – p.6/35
Fizyka klasyczna
Fizyka klasyczna jest nauka˛ empiryczna,
˛ zatem teoria zostaje uznana za
prawdziwa,
˛ gdy jej przewidywania zgodza˛ sie˛ z wynikami do s´wiadczalnymi. Pojecie
˛
obserwabli (zmiennych dynamicznych) ma w niej ogromne
znaczenie. Przykładami obserwabli zwiazanych
˛
z układem fizycznym jest
położenie i ped.
˛ Pełny opis układu nazywamy stanem układu.
Układ fizyczny jest opisany wektorem stanu x ∈ Rk dla danego k. Zbiór
możliwych stanów układu nazywamy przestrzenia˛ fazowa˛ układu.
Jeżeli stan układu zależy od czasu możemy używa c´oznaczenia x (t) lub
xt .
Jeżeli dwa układy sa˛ opisane stanami x oraz y , to stan układu powstałego z ich połaczenia
˛
bedzie
˛
iloczynem kartezja ńskim wektorów stanu
podukładów (xx ,yy).
Wprowadzenie do teorii komputerów kwantowych – p.6/35
Układy probabilistyczne
W wypadku układów probabilistycznych nie znamy stanu układu z całkowita˛ pewno´
scia,
˛ znamy jedynie rozkład prawdopodobie ństwa dla stanów: układ może znajdowac´ sie˛ w stanach x 1 ,xx2 , ...,xxn z prawdopodo´
bienstwem
odpowiednio p1 , p2 , ..., pn , takimi że p1 + p2 + ... + pn = 1.
Wprowadzenie do teorii komputerów kwantowych – p.7/35
Układy probabilistyczne
W wypadku układów probabilistycznych nie znamy stanu układu z całkowita˛ pewno´
scia,
˛ znamy jedynie rozkład prawdopodobie ństwa dla stanów: układ może znajdowac´ sie˛ w stanach x 1 ,xx2 , ...,xxn z prawdopodo´
bienstwem
odpowiednio p1 , p2 , ..., pn , takimi że p1 + p2 + ... + pn = 1.
Wyrażenie p1 [xx 1 ] + p2 [xx 2 ] + ... + pn [xx n ], gdzie pi > 0 oraz p1 + p2 + ... +
´
i oznacza, że układ
pn = 1, reprezentuje rozkład prawdopodobienstwa
´
pi . Powyższy rozkład
znajduje sie˛ w stanie x i z prawdopodobienstwem
jest nazywany stanem mieszanym, natomiast stany x i sa˛ tzw. stanami
czystymi.
Wprowadzenie do teorii komputerów kwantowych – p.7/35
Układy probabilistyczne
W wypadku układów probabilistycznych nie znamy stanu układu z całkowita˛ pewno´
scia,
˛ znamy jedynie rozkład prawdopodobie ństwa dla stanów: układ może znajdowac´ sie˛ w stanach x 1 ,xx2 , ...,xxn z prawdopodo´
bienstwem
odpowiednio p1 , p2 , ..., pn , takimi że p1 + p2 + ... + pn = 1.
Wyrażenie p1 [xx 1 ] + p2 [xx 2 ] + ... + pn [xx n ], gdzie pi > 0 oraz p1 + p2 + ... +
´
i oznacza, że układ
pn = 1, reprezentuje rozkład prawdopodobienstwa
´
pi . Powyższy rozkład
znajduje sie˛ w stanie x i z prawdopodobienstwem
jest nazywany stanem mieszanym, natomiast stany x i sa˛ tzw. stanami
czystymi.
Każdy układ można uczynic´ probabilistycznym przy użyciu układu pomocniczego. W taki sposób sa˛ konstruowane algorytmy probabilistyczne:
algorytm sam w sobie jest s´ci´
sle deterministyczny, natomiast korzysta on
z bitów losowych.
Wprowadzenie do teorii komputerów kwantowych – p.7/35
Układy probabilistyczne
Załóżmy, że ewolucja czasowa układu ze stanami czystymi x 1 ,xx 2 , ...,xxn
zależy od układu pomocniczego ze stanami czystymi o oraz r , w taki spo-
o) przechodzi w ustalonym przedziale
sób, że stan układu złożonego (xxi ,o
o), natomiast stan (xxi ,rr ) przechodzi w (xxr(i) ,rr ), gdzie
czasu w stan (xx o(i) ,o
o, r : {1, ..., n} −→ {1, ..., n} sa˛ pewnymi funkcjami. Układ ze stanami o
oraz r jest układem sterujacym,
˛
który w stanie mieszanym nazywamy
randomizerem.
Wprowadzenie do teorii komputerów kwantowych – p.8/35
Układy probabilistyczne
Załóżmy, że ewolucja czasowa układu nie jest deterministyczna i układ
zmienia sie˛ w taki sposób, iż każdy stan przechodzi w rozkład
xi −→ p1i [xx1 ] + p2i [xx2 ] + ... + pni [xxn ]
gdzie p1 + p2 +...+ pn = 1 dla każdego i. Wielko´
sc´ p ji jest prawdopodo´
bienstwem,
że układ znajdujacy
˛ sie˛ w stanie x i przejdzie do stanu x j . W
danym przedziale czasu rozkład p1 [xx1 ] + p2 [xx2 ] + ... + pn [xxn ] przechodzi
w
p1 (p11 [xx1 ] + ... + pn1 [xxn ]) + ... + pn (p1n [xx1 ] + ... + pnn [xxn ]) =
= (p11 p1 + ... + p1n pn )[xx1 ] + ... + (pn1 p1 + ... + pnn pn )[xxn ] =
= p01 [xx1 ] + p02 [xx2 ] + ... + p0n [xxn ],
p0i = pi1 p1 + ... + pin pn .
Wprowadzenie do teorii komputerów kwantowych – p.9/35
Układy probabilistyczne
´
Prawdopodobienstwa
pi oraz p0i zwiazane
˛
sa˛ zależnos´cia:
˛








p01
p02
..
.
p0n


p
  11
 
  p21
=
  ..
  .
 
pn1
p12
...
p1n
p22
...
p2n
..
.
..
..
.
pn2
...
.
pnn








p1
p2
..
.
pn








Przy czym zachodzi p1i + p2i +...+ pni = 1, co zapewnia spełnienie rówsci
no´
sci p01 + p02 + ... + p0n = p1 + p2 + ... + pn . Macierz o takiej własno´
nazywa sie˛ macierza˛ Markowa, natomiast układ probabilistyczny zmieniajacy
˛ sie˛ w czasie w sposób opisany powyżej - ła ńcuchem Markowa.
Wprowadzenie do teorii komputerów kwantowych – p.10/35
Mechanika kwantowa
W mechanice kwantowej stan n-poziomowego układu jest reprezentowany przez wektor jednostkowy w n-wymiarowej zespolonej przestrzeni wektorowej Hn , która˛ nazywamy przestrzenia˛ stanów układu. Wybierzmy w przestrzeni stanów Hn baz˛e ortonormalna˛ {|xx1 i, |xx2 i, ..., |xxn i}.
Wektory bazowe |xx i i nazywamy stanami bazowymi. Dowolny stan ukła-
du kwantowego można przedstawic´ w postaci superpozycji stanów ba-
zowych:
α1 |xx1 i + α2 |xx2 i + ... + αn |xxn i
gdzie αi sa liczbami zespolonymi nazywanymi amplitudami prawdopodobieństwa wzgledem
˛
wybranej bazy. Warunek unormowania wektora
stanu wymaga, by spełniały one równanie |α1 |2 + |α2 |2 + ... + |αn |2 = 1
´
Prawdopodobienstwo
zaobserwowania własnos´ci x i wynosi |α1 |2 .
Wprowadzenie do teorii komputerów kwantowych – p.11/35
Informacja kwantowa - qubity
Bitem kwantowym (qubitem) nazywac´bedziemy
˛
dwupoziomowy układ kwantowy. W dwuwymiarowej zespolonej przestrzeni wektorowej H2 wybierzmy baz˛e
ortonormalna˛ B = {|0i, |1i}, tzw. baz˛e obliczeniowa.
˛ Stany |0i i |1i nazywamy
stanami bazowymi. Dowolny stan qubitu można przedstawi c´ w postaci superpozycji stanów bazowych:
α0 |0i + α1 |1i
o jednostkowej normie, tzn. |α0 |2 + |α1 |2 = 1, liczby α0 i α1 sa˛ amplitudami
stanów bazowych, odpowiednio |0i i |1i.Mówimy, że obserwacja (odczyt) qubitu
´
odpowiednio |α0 |2 i |α1 |2 .
daje wynik |0i lub |1i z prawdopodobienstwem
Wprowadzenie do teorii komputerów kwantowych – p.12/35
Informacja kwantowa - unarne bramki
kwantowe
Unarna˛ (jednoargumentowa)
˛ bramka˛ kwantowa˛ nazywamy operacje˛ na qubicie, której odpowiada unitarne odwzorowanie U : H2 −→ H2 . Unarna bramka
kwantowa definiuje liniowa˛ operacje˛
|0i −→ a|0i + b|1i
|1i −→ c|0i + d|1i

taka,
˛ że macierz: 
a
b
c
d


a
c

 jest unitarna, tzn.
b
d


a∗
b∗
c∗
d∗


=
1 0
0 1


Wprowadzenie do teorii komputerów kwantowych – p.13/35
Informacja kwantowa - unarne bramki
kwantowe
Bramka kwantowej negacji:

M¬ = 
0 1
1 0


M¬ |0i = |1i
M¬ |1i = |0i
Wprowadzenie do teorii komputerów kwantowych – p.14/35
Informacja kwantowa - unarne bramki
kwantowe
Bramka kwantowej negacji:

M¬ = 
0 1
1 0


M¬ |0i = |1i
M¬ |1i = |0i
Pierwiastek kwadratowy z negacji:
√
√

M¬ = 
1+i
2
1−i
2
1−i
2
1+i
2
1−i
1+i
|0i +
|1i
M¬ |0i =
2
2

√ √
M ¬ M ¬ = M¬

√
M¬ |1i =
1+i
1−i
|0i +
|1i
2
2
Wprowadzenie do teorii komputerów kwantowych – p.14/35
Informacja kwantowa - unarne bramki
kwantowe
Bramka Hadamarda-Walsha:

W2 = 
1
1
W2 |0i = √ |0i + √ |1i
2
2
√1
2
√1
2
√1
2
− √12


1
1
W2 |1i = √ |0i − √ |1i
2
2
W2W2 |0i = |0i interferencja konstruktywna
W2W2 |1i = |1i interferencja destruktywna
Wprowadzenie do teorii komputerów kwantowych – p.15/35
Informacja kwantowa - unarne bramki
kwantowe
Bramka Hadamarda-Walsha:

W2 = 
1
1
W2 |0i = √ |0i + √ |1i
2
2
√1
2
√1
2
√1
2
− √12


1
1
W2 |1i = √ |0i − √ |1i
2
2
W2W2 |0i = |0i interferencja konstruktywna
W2W2 |1i = |1i interferencja destruktywna


1 0


Bramka zmiany fazy:
0 −1
Wprowadzenie do teorii komputerów kwantowych – p.15/35
Informacja kwantowa - pary qubitów
Stany układu dwóch bitów kwantowych tworza˛ czterowymiarowa˛ przestrze n´Hilberta H4 = H2 ⊗ H2 z baza˛ ortonormalna˛ {|0i|0i, |0i|1i, |1i|0i, |1i|1i}. Stan
układu dwóch qubitów jest wektorem:
α0 |00i + α1 |01i + α2 |10i + α3 |11i
o jednostkowej normie, tzn. |α0 |2 + |α1 |2 + |α2 |2 + |α3 |2 = 1.
Odczyt układu dwóch qubitów daje wynik |00i, |01i, |10i, |11i z prawdopodo´
bienstwem
odpowiednio |α0 |2 , |α1 |2 , |α2 |2 , |α3 |2 . Jeżeli chcemy odczytac´ stan
´
jednego z qubitów, to dla pierwszego otrzymamy |0i z prawdopodobie nstwem
|α0 |2 + |α1 |2 , za´
s |1i z prawdopodobieństwem |α2 |2 + |α3 |2 . Analogicznie dla
drugiego qubitu.
Wprowadzenie do teorii komputerów kwantowych – p.16/35
Informacja kwantowa - splatanie
˛
Stan układu dwóch qubitów z ∈ H4 jest rozkładalny, jeżeli można go
przedstawi´
c za pomoca˛ w postaci iloczynu tensorowego stanów z przestrzeni
H2 , z = x ⊗xx. Stan, który nie jest rozkładalny, jest splatany.
˛
Stan 12 (|00i + |01i + |10i + |11i) jest rozkładalny:
1
1
1
(|0i|0i + |0i|1i + |1i|0i + |1i|1i) = √ (|0i + |1i) √ (|0i + |1i)
2
2
2
Stan 12 (|00i + |11i) jest splatany,
˛
odczyt każdego qubitu z osobna da wynik
´
|0i lub |1i z jednakowym prawdopodobienstwem.Odczyt
układu jako całos´ci da
zawsze qubity o jednakowej wartos´ci. Para takich qubitów jest nazywana para˛
EPR (Einstein, Podolski, Rosen).
Wprowadzenie do teorii komputerów kwantowych – p.17/35
Informacja kwantowa - bramki binarne
Binarna˛ bramka˛ kwantowa˛ nazywamy operacje˛ na parach qubitów, której odpowiada unitarne odwzorowanie U : H4 −→ H4 .
Bramka sterowanej negacji:

Mcnot
1 0

 0 1

=
 0 0

0 0
0 0


0 0 


0 1 

1 0
Mcnot |00i = |00i
Mcnot |01i = |01i
Mcnot |10i = |11i
Mcnot |11i = |10i
Wprowadzenie do teorii komputerów kwantowych – p.18/35
Informacja kwantowa - bramki binarne
Bramka Hadamarda-Walsha:

1

 1

W4 = W2 ⊗W2 = 
 1

1
1
1
1


−1
1 −1 


1 −1 −1 

−1 −1
1
Dla dowolnych x0 , x1 ∈ {0, 1} zachodzi
1
W4 |x0 x1 i = (|0i + (−1)x0 |1i)(|0i + (−1)x1 |1i) =
2
1
= (|00i + (−1)x1 |01i + (−1)x0 |10i + (−1)x0 +x1 |11i)
2
Wprowadzenie do teorii komputerów kwantowych – p.19/35
Informacja kwantowa - rejestry
Uporzadkowany
˛
układ m qubitów bedziemy
˛
nazywa c´rejestrem kwantowym o
długo´
sci m. Przestrzen´ stanów takiego układu jest m-krotnym iloczynem tensorowym H2m = H2 ⊗ ... ⊗ H2 , natomiast stany bazowe maja˛ postac´
{|xxi : x ∈ {0, 1}m }
Jeżeli x = x1 ...xm utożsamimy z liczba˛ zapisana˛ w systemie dwójkowym, to
można powiedzie´
c, że stany bazowe maja˛ postac´
{|ai : a ∈ {0, 1, ..., 2m − 1}}
Stan układu m-qubitów ma postac´:
α0 |0i + α1 |1i + ... + α2m −1 |2m − 1i
Wprowadzenie do teorii komputerów kwantowych – p.20/35
Informacja kwantowa - nieklonowanie
Rozważmy układ kwantowy o n stanach bazowych |a 1 i, ..., |an i. Wyróznijmy
˛
dokonywac´ zapisu informacji.
stan |a1 i jako stan, na którym bedziemy
Unitarne odwzorowanie w przestrzeni Hn ⊗ Hn nazywamy kwantowa˛ maszyna˛
kopiujac
˛ a,
˛ jeżeli dla dowolnego stanu |xxi ∈ Hn zachodzi U(|xx i|a1 i) = |xx i|xxi.
˛ nie
Twierdzenie o nieklonowaniu: Dla n > 1 kwantowa maszyna kopiujaca
istnieje.
Możliwe jest jedynie otrzymanie kopii stanów bazowych.
Wprowadzenie do teorii komputerów kwantowych – p.21/35
Informacja kwantowa - obserwacja
Postulat rzutowania: po dokonaniu pomiaru układ znajduje sie˛ w jednym ze
swoich stanów bazowych.
Załóżmy, że przeprowadzamy pomiar na układzie w stanie:
α1 |xx1 i + α2 |xx2 i + ... + αn |xxn i
Otrzymali´
smy w wyniku x k , co za tym idzie układ jest w stanie bazowym |xxk i.
Wprowadzenie do teorii komputerów kwantowych – p.22/35
Informacja kwantowa - obserwacja
Rozpatrzmy układ złożony:
n
m
∑ ∑ αi j |xxi i|yy j i
i=1 j=1
obserwacja pierwszego podukładu dała w wyniku x k z prawdopodobieństwem
P(k) = ∑mj=1 |αk j |2 , zatem układ znajduje sie˛ w stanie:
1
p
P(k)
m
∑ αk j |xxk i|yy j i
j=1
Przej´
scie pierwszego ze stanów w drugi jest nieodwracalne, a zatem niezgodne
z zasada˛ ewolucji unitarnej. Proponowane rozwiazanie
˛
to wprowadzenie układu pomocniczego, do którego kopiujemy stany bazowe |xx i i|xx 1 i −→ |xx i i|xx i i.
Wprowadzenie do teorii komputerów kwantowych – p.23/35
Informacja kwantowa - teleportacja
Załóżmy, że Alicja i Bob, to dwie komunikujace
˛
sie˛ ze soba˛ strony, Alicja
jest w posiadaniu qubitu a|0i + b|1i, który chce teleportowa c´. Teleportacja
kwantowa jest możliwa, jeżeli obie strony posiadaja˛ qubity splatane
˛
ze soba,
˛
np. √1 (|00i + |11i). Przyjmijmy, że qubit lewy należy do Alicji, za s´ prawy do
2
Boba. Stan złożonego układu ma postac´:
1
(a|0i + b|1i) √ (|00i + |11i) =
2
a
a
b
b
= √ |0i|00i + √ |0i|11i + √ |1i|00i + √ |1i|11i =
2
2
2
2
a
b
b
a
√
√
√
√
|000i +
|011i +
|100i +
|111i
=
2
2
2
2
Wprowadzenie do teorii komputerów kwantowych – p.24/35
Informacja kwantowa - teleportacja
Protokół teleportacji:
Alicja wykonuje na swoich qubitach operacje˛ sterowanej negacji:
a
b
b
a
√ |000i + √ |011i + √ |110i + √ |101i
2
2
2
2
Wprowadzenie do teorii komputerów kwantowych – p.25/35
Informacja kwantowa - teleportacja
Protokół teleportacji:
Alicja wykonuje na swoich qubitach operacje˛ sterowanej negacji:
a
b
b
a
√ |000i + √ |011i + √ |110i + √ |101i
2
2
2
2
Alicja wykonuje transformate˛ Hadamarda-Walsha na lewym qubicie:
a 1
a 1
√ √ (|0i + |1i)|00i + √ √ (|0i + |1i)|11i+
2 2
2 2
b 1
b 1
√ √ (|0i − |1i)|10i + √ √ (|0i − |1i)|01i =
2 2
2 2
a
a
a
b
b
b
b
a
|000i+ |100i+ |011i+ |111i+ |010i− |110i+ |001i− |101i
2
2
2
2
2
2
2
2
Wprowadzenie do teorii komputerów kwantowych – p.25/35
Informacja kwantowa - teleportacja
Wydzielamy qubit Boba:
1
1
1
1
|00ia|0i + |10ia|0i + |01ia|1i + |11ia|1i+
2
2
2
2
1
1
1
1
|01ib|0i − |11ib|0i + |00ib|1i − |10ib|1i =
2
2
2
2
Wprowadzenie do teorii komputerów kwantowych – p.26/35
Informacja kwantowa - teleportacja
Wydzielamy qubit Boba:
1
1
1
1
|00ia|0i + |10ia|0i + |01ia|1i + |11ia|1i+
2
2
2
2
1
1
1
1
|01ib|0i − |11ib|0i + |00ib|1i − |10ib|1i =
2
2
2
2
1
1
|00i(a|0i + b|1i) + |01i(a|1i + b|0i)+
2
2
1
1
|10i(a|0i − b|1i) + |11i(a|1i − b|0i)
2
2
Wprowadzenie do teorii komputerów kwantowych – p.26/35
Informacja kwantowa - teleportacja
Wydzielamy qubit Boba:
1
1
1
1
|00ia|0i + |10ia|0i + |01ia|1i + |11ia|1i+
2
2
2
2
1
1
1
1
|01ib|0i − |11ib|0i + |00ib|1i − |10ib|1i =
2
2
2
2
1
1
|00i(a|0i + b|1i) + |01i(a|1i + b|0i)+
2
2
1
1
|10i(a|0i − b|1i) + |11i(a|1i − b|0i)
2
2
Alicja przeprowadza obserwacje stanu swoich dwóch qubitów i przesyła
jej wynik do Boba.
Wprowadzenie do teorii komputerów kwantowych – p.26/35
Informacja kwantowa - teleportacja
Jeżeli Bob otrzymał 00, nie musi nic robic´, jego qubit jest już w stanie
a|0i + b|1i.
Wprowadzenie do teorii komputerów kwantowych – p.27/35
Informacja kwantowa - teleportacja
Jeżeli Bob otrzymał 00, nie musi nic robic´, jego qubit jest już w stanie
a|0i + b|1i.
Jeżeli Bob otrzymał 01, wykonuje na swoim qubicie operacje˛ negacji.
Wprowadzenie do teorii komputerów kwantowych – p.27/35
Informacja kwantowa - teleportacja
Jeżeli Bob otrzymał 00, nie musi nic robic´, jego qubit jest już w stanie
a|0i + b|1i.
Jeżeli Bob otrzymał 01, wykonuje na swoim qubicie operacje˛ negacji.
Jeżeli Bob otrzymał 10, wykonuje operacje˛ zmiany fazy.
Wprowadzenie do teorii komputerów kwantowych – p.27/35
Informacja kwantowa - teleportacja
Jeżeli Bob otrzymał 00, nie musi nic robic´, jego qubit jest już w stanie
a|0i + b|1i.
Jeżeli Bob otrzymał 01, wykonuje na swoim qubicie operacje˛ negacji.
Jeżeli Bob otrzymał 10, wykonuje operacje˛ zmiany fazy.
Jeżeli Bob otrzymał 11, wykonuje operacje˛ negacji, a nastepnie
˛
zmiany
fazy.
Wprowadzenie do teorii komputerów kwantowych – p.27/35
Informacja kwantowa - kodowanie supergeste
˛
Załóżmy, że Alicja tym razem nie chce przesłac´ stanu dodatkowego qubitu,
ale zwykła˛ pare˛ bitów. Jest to operacja komplementarna do teleportacji, a
nazywamy ja˛ kodowaniem supergestym.
˛
Alicja posiada dwa klasyczne bity b1 i b2 oraz lewy qubit pary EPR, Bob posiada
prawy qubit pary EPR:
1
√ (|00i + |11i)
2
Wprowadzenie do teorii komputerów kwantowych – p.28/35
Informacja kwantowa - kodowanie supergeste
˛
Protokół kodowania supergestego:
˛
Alicja wykonuje operacje na swoim qubicie w zależno s´ci od warto´
sci bitów b1 i b2
b1
b2
Operacja wykonana przez Alicj˛e
0
0
0
1
1
0
1
1
√1 (|00i + |11i)
2
√1 (|10i + |01i)
2
√1 (|00i − |11i)
2
√1 (|10i − |01i)
2
Wprowadzenie do teorii komputerów kwantowych – p.29/35
Informacja kwantowa - kodowanie supergeste
˛
Protokół kodowania supergestego:
˛
Alicja wykonuje operacje na swoim qubicie w zależno s´ci od warto´
sci bitów b1 i b2
b1
b2
Operacja wykonana przez Alicj˛e
0
0
0
1
1
0
1
1
√1 (|00i + |11i)
2
√1 (|10i + |01i)
2
√1 (|00i − |11i)
2
√1 (|10i − |01i)
2
Alicja przesyła swój qubit Bobowi
Wprowadzenie do teorii komputerów kwantowych – p.29/35
Informacja kwantowa - kodowanie supergeste
˛
Bob wykonuje na obu qubitach bramk˛e kwantowa˛ zdefiniowana˛ przez
macierz:

√1
2

 0

B=
 √1
 2
0
√1
2
0
0
√1
2
√1
2
0
0
0
− √12
√1
2
− √12
0







Wprowadzenie do teorii komputerów kwantowych – p.30/35
Informacja kwantowa - kodowanie supergeste
˛
Bob wykonuje na obu qubitach bramk˛e kwantowa˛ zdefiniowana˛ przez
macierz:

√1
2

 0

B=
 √1
 2
0
√1
2
0
0
√1
2
√1
2
0
0
0
− √12
√1
2
− √12
0







Bob po wykonaniu operacji otrzymuje wartos´ci bitów b1 i b2
Wprowadzenie do teorii komputerów kwantowych – p.30/35
Algorytm wyszukiwania Grovera
Dany jest nieuporzadkowany
˛
zbiór S zawierajacy
˛ 2 n -elementów, szukamy w
nim elementu y. Dana jest również funkcja f : S −→ {0, 1},
w przypadku wyszukiwania kwantowego funkcja f ma posta c´:
f : Fn2 −→ F2 , gdzie F2 jest ciałem o dwóch elementach 0 i 1.
Dodawanie i mnożenie zdefiniowane sa˛ nastepuj
˛ aco:
˛
0 + 0 = 1 + 1 = 0,
0 + 1 = 1,
0 ∗ 0 = 0 ∗ 1 = 0,
1∗1 = 1
Funkcja f jest okre´
slona:

 1 x =y
f (xx) =
 0 x=
6 y
Wprowadzenie do teorii komputerów kwantowych – p.31/35
Algorytm wyszukiwania Grovera
Algorytm Grovera, to algorytm wyszukiwania probabilistycznego, tzn. nie be˛
dziemy wymaga´
c, aby algorytm zawsze znajdował taki x , że f (xx ) = 1, chcemy
jedynie, aby dawał poprawny wynik z niezerowym prawdopodobie ństwem
(0 < p 6 1).
Algorytm ma charakter iteracyjny, w każdym kroku stan bazowy odpowiadajacy
˛
szukanemu elementowi ma zmieniana˛ faz˛e, poza tym nastepuj
˛ e˛ obrót wokół
s´redniej wszystkich amplitud, a także wzmocnienie amplitudy szukanego stanu.
Wprowadzenie do teorii komputerów kwantowych – p.32/35
Algorytm wyszukiwania Grovera
Etapy algorytmu wyszukiwania Grovera:
Posługujac
˛ sie transformata˛ Hadamarda Hn normalizujemy rejestr
|φi = |0(n) i:
1
xy
√
Hn |xxi =
(−1)
|yyi
∑
n
2 y∈Fn
2
1
√
|φ0 i = Hn |0 i =
|xxi
∑
n
2 x∈Fn
(n)
2
Wprowadzenie do teorii komputerów kwantowych – p.33/35
Algorytm wyszukiwania Grovera
Etapy algorytmu wyszukiwania Grovera:
Posługujac
˛ sie transformata˛ Hadamarda Hn normalizujemy rejestr
|φi = |0(n) i:
1
xy
√
Hn |xxi =
(−1)
|yyi
∑
n
2 y∈Fn
2
1
√
|φ0 i = Hn |0 i =
|xxi
∑
n
2 x∈Fn
(n)
2
n
Stosujemy operator Gn (operator Grovera), 14 Π2 2 razy, gdzie
Gn = −Hn Rn HnV f
Hn - transformata Hadamarda
Rn - operator kwantowy,
V f - zmodyfikowany operator sprawdzenia
Wprowadzenie do teorii komputerów kwantowych – p.33/35
Algorytm wyszukiwania Grovera
Gn = −Hn Rn HnV f
1
Hn |xxi = √ ∑ (−1)xy |yyi
2n y∈Fn
2

Rn |0i = −|0i, Rn |xxi = |xxi,



Rn = 



gdy x 6= 0
−1 0
... 0
0 1
... 0
..
.
..
.
0 0
..
.
..
.
... 1








V f |xxi = (−1) f (xx) |xxi
Wprowadzenie do teorii komputerów kwantowych – p.34/35
Algorytm wyszukiwania Grovera
Gn = −Hn Rn HnV f
1
Hn |xxi = √ ∑ (−1)xy |yyi
2n y∈Fn
2

Rn |0i = −|0i, Rn |xxi = |xxi,



Rn = 



gdy x 6= 0
−1 0
... 0
0 1
... 0
..
.
..
.
0 0
..
.
..
.
... 1








V f |xxi = (−1) f (xx) |xxi
Dokonujemy pomiaru.
Wprowadzenie do teorii komputerów kwantowych – p.34/35
Źródła
E. Riffel, W. Polak, An introduction to quantum computation for non physics, ACM Computer Surveys, vol. 32, issue 3, Sept.2000
L. K. Grover, A fast quantum-mechanical algorithm for database search,
Proceedings of the 28th Annual ACM Symposium on the Theory of Computing - STOC, 212 - 219 (1996)
M. Hirvensalo, Algorytmy kwantowe, Wydawnictwa Szkolne i Pedagogiczne S.A., Warszawa 2004
S. W˛egrzyn, J. Klamka, J.A. Miszczak, Kwantowe systemy informatyki, Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice
2003
Wprowadzenie do teorii komputerów kwantowych – p.35/35