Algorytm Grovera - Kwantowe przeszukiwanie zbioru

Transkrypt

Algorytm Grovera - Kwantowe przeszukiwanie zbioru
Algorytm Grovera
Kwantowe przeszukiwanie zbioru
Robert Nowotniak
Wydział Fizyki Technicznej, Informatyki i Matematyki Stosowanej
Politechnika Łódzka
Sekcja Informatyki Kwantowej, 24 października 2007
Robert Nowotniak
Algorytm Grovera
Plan prezentacji
1
Ogólny opis algorytmu Grovera
2
Intuicyjna interpretacja
3
Uzasadnienie matematyczne
4
Symulacja (w Numerical Python)
Robert Nowotniak
Algorytm Grovera
Plan prezentacji
1
Ogólny opis algorytmu Grovera
2
Intuicyjna interpretacja
3
Uzasadnienie matematyczne
4
Symulacja (w Numerical Python)
Robert Nowotniak
Algorytm Grovera
Algorytm Grovera
Prezentacja oparta na publikacjach:
Michael A. Nielsen, Isaac L. Chuang. Quantum
Computation and Quantum Information. Cambridge
University Press, 2000
Krzysztof Giaro, Marcin Kamiński. Wprowadzenie do
algorytmów kwantowych. Warszawa, 2003
Stefan W˛egrzyn, Jerzy Klamka, Jarosław Adam Miszczak.
Kwantowe systemy informatyki. 2002
Mika Hirvensalo. Algorytmy Kwantowe. WSiP, Warszawa,
2004
Lov K. Grover. A fast quantum mechanical algorithm for
database search. 1996
Robert Nowotniak
Algorytm Grovera
Algorytm Grovera
Prezentacja oparta na publikacjach:
Michael A. Nielsen, Isaac L. Chuang. Quantum
Computation and Quantum Information. Cambridge
University Press, 2000
Krzysztof Giaro, Marcin Kamiński. Wprowadzenie do
algorytmów kwantowych. Warszawa, 2003
Stefan W˛egrzyn, Jerzy Klamka, Jarosław Adam Miszczak.
Kwantowe systemy informatyki. 2002
Mika Hirvensalo. Algorytmy Kwantowe. WSiP, Warszawa,
2004
Lov K. Grover. A fast quantum mechanical algorithm for
database search. 1996
Robert Nowotniak
Algorytm Grovera
Algorytm Grovera
Algorytm Grovera
1
2
Wyszukiwanie elementu w zbiorze
np. przeszukiwanie nieposortowanej bazy danych
√
Złożoność obliczeniowa: O( N)
3
Klasa złożoności BQP (ang. bounded-error, quantum,
polynomial)
4
W rejestrze kwantowym przetwarzana jest superpozycja
potencjalnych rozwiaza
˛ ń
5
Wykorzystuje iteracyjne „wzmacnianie amplitudy
prawdopodobieństwa” (ang. amplitude amplification)
poszukiwanego rozwiazania
˛
Robert Nowotniak
Algorytm Grovera
Algorytm Grovera
Założenia algorytmu
Dany jest N-elementowy zbiór Q oraz funkcja
f : Q → {0, 1}
Dokładnie jeden element q zbioru Q posiada pewna˛
poszukiwana˛ ceche,
˛
∃!q∈Q f (q) = 1
Celem algorytmu jest znalezienie tego elementu q, dla
którego f (q) = 1
Robert Nowotniak
Algorytm Grovera
Kroki algorytmu Grovera
Algorytm Grovera
1
Przygotowanie stanu poczatkowego
˛
w superpozycji
wszystkich stanów bazowych:
N−1
1 X
|ωi
|φ0 i = √
N ω=0
Robert Nowotniak
Algorytm Grovera
Kroki algorytmu Grovera
Algorytm Grovera
1
Przygotowanie stanu poczatkowego
˛
w superpozycji
wszystkich stanów bazowych:
N−1
1 X
|ωi
|φ0 i = √
N ω=0
2
Wykonywanie (odpowiednia˛ ilość razy) operacji na
rejestrze:
|φn+1 i = BA|φn i
Robert Nowotniak
Algorytm Grovera
Kroki algorytmu Grovera
Algorytm Grovera
1
Przygotowanie stanu poczatkowego
˛
w superpozycji
wszystkich stanów bazowych:
N−1
1 X
|ωi
|φ0 i = √
N ω=0
2
Wykonywanie (odpowiednia˛ ilość razy) operacji na
rejestrze:
|φn+1 i = BA|φn i
gdzie:
A = I − 2|ω0 ihω0 |
B = 2|φ0 ihφ0 | − I
Robert Nowotniak
Algorytm Grovera
Kroki algorytmu Grovera
Algorytm Grovera
1
Przygotowanie stanu poczatkowego
˛
w superpozycji
wszystkich stanów bazowych:
N−1
1 X
|ωi
|φ0 i = √
N ω=0
2
Wykonywanie (odpowiednia˛ ilość razy) operacji na
rejestrze:
|φn+1 i = BA|φn i
gdzie:
A = I − 2|ω0 ihω0 |
B = 2|φ0 ihφ0 | − I
Robert Nowotniak
Algorytm Grovera
Plan prezentacji
1
Ogólny opis algorytmu Grovera
2
Intuicyjna interpretacja
3
Uzasadnienie matematyczne
4
Symulacja (w Numerical Python)
Robert Nowotniak
Algorytm Grovera
Interpretacja geometryczna
Robert Nowotniak
Algorytm Grovera
Interpretacja geometryczna
Robert Nowotniak
Algorytm Grovera
Interpretacja geometryczna
Robert Nowotniak
Algorytm Grovera
Interpretacja geometryczna
Robert Nowotniak
Algorytm Grovera
Interpretacja geometryczna
Robert Nowotniak
Algorytm Grovera
Interpretacja geometryczna
Robert Nowotniak
Algorytm Grovera
Interpretacja geometryczna
Robert Nowotniak
Algorytm Grovera
Prawdopodobieństwo sukcesu
Po k iteracjach prawdopodobieństwo odczytu stanu
zwiazanego
˛
z szukanym elementem wyraża sie˛ wzorem:
r !!
1
2
2
|αk | = sin (2k + 1)arcsin
N
Robert Nowotniak
Algorytm Grovera
Prawdopodobieństwo sukcesu
Po k iteracjach prawdopodobieństwo odczytu stanu
zwiazanego
˛
z szukanym elementem wyraża sie˛ wzorem:
r !!
1
2
2
|αk | = sin (2k + 1)arcsin
N
Optymalne prawdopodobieństwo odczytania pożadanego
˛
stanu
|ω0 i jest dla dla ilości kroków k̄ równej:

r !!−1 


π

1


k̄ =
arcsin
4
N
Prawdopodobieństwo to jest wieksze
˛
od 1 −
Robert Nowotniak
Algorytm Grovera
1
N
Prawdopodobieństwo sukcesu
Robert Nowotniak
Algorytm Grovera
Prawdopodobieństwo sukcesu
Robert Nowotniak
Algorytm Grovera
Prawdopodobieństwo sukcesu
Robert Nowotniak
Algorytm Grovera
Plan prezentacji
1
Ogólny opis algorytmu Grovera
2
Intuicyjna interpretacja
3
Uzasadnienie matematyczne
4
Symulacja (w Numerical Python)
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator A na dowolny stan bazowy ω?
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator A na dowolny stan bazowy ω?
Działanie operatora A
A|ωi = (I − 2|ω0 ihω0 |) · |ωi
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator A na dowolny stan bazowy ω?
Działanie operatora A
A|ωi = (I − 2|ω0 ihω0 |) · |ωi
1 gdy ω = ω0
= |ωi − 2|ω0 i ·
0 gdy ω 6= ω0
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator A na dowolny stan bazowy ω?
Działanie operatora A
A|ωi = (I − 2|ω0 ihω0 |) · |ωi
1 gdy ω = ω0
= |ωi − 2|ω0 i ·
0 gdy ω 6= ω0
−|ωi gdy ω = ω0
=
= (−1)f (ω) |ωi
|ωi gdy ω 6= ω0
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator B na pewien stan bazowy ω?
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator B na pewien stan bazowy ω?
Działanie operatora B
B|ωi = (2|φ0 ihφ0 | − I)|ωi
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator B na pewien stan bazowy ω?
Działanie operatora B
B|ωi = (2|φ0 ihφ0 | − I)|ωi
= 2|φ0 i hφ0 |ωi −|ωi
| {z }
= √1
N
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator B na pewien stan bazowy ω?
Działanie operatora B
B|ωi = (2|φ0 ihφ0 | − I)|ωi
= 2|φ0 i hφ0 |ωi −|ωi
| {z }
= √1
N
=
2
√ |φ0 i − |ωi
N
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator B na pewien stan bazowy ω?
Działanie operatora B
B|ωi = (2|φ0 ihφ0 | − I)|ωi
= 2|φ0 i hφ0 |ωi −|ωi
| {z }
= √1
N
=
2
√ |φ0 i − |ωi
N
Niech dowolny stan |φi bedzie
˛
opisany w bazie standardowej
przez współczynniki α0 , . . . , αN−1 :
|φi =
N−1
X
αω |ωi
ω=0
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator B na dowolny stan |φi?
! N−1
N−1
N−1
X
X
X
2
αω √ |φ0 i − |ωi
αω B|ωi =
B|φi = B
αω |ωi =
N
ω=0
ω=0
ω=0
=
=
N−1
N−1
X
2 X
√
αω |ωi
αω |φ0 i −
N ω=0
ω=0
! N−1
N−1
N−1
X
2 X
1 X
√
αω √
|k i −
αω |ωi
N ω=0
N k =0
ω=0
N−1
N−1
N−1
X
X
1 X
= 2·
αω
|k i −
αω |ωi
N
ω=0
k =0
ω=0
| {z }
α
=
N−1
X
N−1
X
ω=0
ω=0
(2α − αω )|ωi =
Robert Nowotniak
[α + (α − αω )] |ωi
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator B na dowolny stan |φi?
! N−1
N−1
N−1
X
X
X
2
αω √ |φ0 i − |ωi
αω B|ωi =
B|φi = B
αω |ωi =
N
ω=0
ω=0
ω=0
=
=
N−1
N−1
X
2 X
√
αω |ωi
αω |φ0 i −
N ω=0
ω=0
! N−1
N−1
N−1
X
2 X
1 X
√
αω √
|k i −
αω |ωi
N ω=0
N k =0
ω=0
N−1
N−1
N−1
X
X
1 X
= 2·
αω
|k i −
αω |ωi
N
ω=0
k =0
ω=0
| {z }
α
=
N−1
X
N−1
X
ω=0
ω=0
(2α − αω )|ωi =
Robert Nowotniak
[α + (α − αω )] |ωi
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator B na dowolny stan |φi?
! N−1
N−1
N−1
X
X
X
2
αω √ |φ0 i − |ωi
αω B|ωi =
B|φi = B
αω |ωi =
N
ω=0
ω=0
ω=0
=
=
N−1
N−1
X
2 X
√
αω |ωi
αω |φ0 i −
N ω=0
ω=0
! N−1
N−1
N−1
X
2 X
1 X
√
αω √
|k i −
αω |ωi
N ω=0
N k =0
ω=0
N−1
N−1
N−1
X
X
1 X
= 2·
αω
|k i −
αω |ωi
N
ω=0
k =0
ω=0
| {z }
α
=
N−1
X
N−1
X
ω=0
ω=0
(2α − αω )|ωi =
Robert Nowotniak
[α + (α − αω )] |ωi
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator B na dowolny stan |φi?
! N−1
N−1
N−1
X
X
X
2
αω √ |φ0 i − |ωi
αω B|ωi =
B|φi = B
αω |ωi =
N
ω=0
ω=0
ω=0
=
=
N−1
N−1
X
2 X
√
αω |ωi
αω |φ0 i −
N ω=0
ω=0
! N−1
N−1
N−1
X
2 X
1 X
√
αω √
|k i −
αω |ωi
N ω=0
N k =0
ω=0
N−1
N−1
N−1
X
X
1 X
= 2·
αω
|k i −
αω |ωi
N
ω=0
k =0
ω=0
| {z }
α
=
N−1
X
N−1
X
ω=0
ω=0
(2α − αω )|ωi =
Robert Nowotniak
[α + (α − αω )] |ωi
Algorytm Grovera
Uzasadnienie algorytmu
Jak działa operator B na dowolny stan |φi?
! N−1
N−1
N−1
X
X
X
2
αω √ |φ0 i − |ωi
αω B|ωi =
B|φi = B
αω |ωi =
N
ω=0
ω=0
ω=0
=
=
N−1
N−1
X
2 X
√
αω |ωi
αω |φ0 i −
N ω=0
ω=0
! N−1
N−1
N−1
X
2 X
1 X
√
αω √
|k i −
αω |ωi
N ω=0
N k =0
ω=0
N−1
N−1
N−1
X
X
1 X
= 2·
αω
|k i −
αω |ωi
N
ω=0
k =0
ω=0
| {z }
α
=
N−1
X
N−1
X
ω=0
ω=0
(2α − αω )|ωi =
Robert Nowotniak
[α + (α − αω )] |ωi
Algorytm Grovera
Uzasadnienie algorytmu
Działanie operatora B
Ostatecznie mamy:
B|φi = B
N−1
X
αω |ωi =
ω=0
N−1
X
[α + (α − αω )] |ωi
ω=0
gdzie:
α - średnia arytmetyczna wszystkich amplitud
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Działanie operatora B
Ostatecznie mamy:
B|φi = B
N−1
X
αω |ωi =
ω=0
N−1
X
[α + (α − αω )] |ωi
ω=0
gdzie:
α - średnia arytmetyczna wszystkich amplitud
Dokonuje sie˛ obrót amplitudy każdego stanu wokół
średniej wartości amplitud
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Operator A – zmiana znaku amplitudy
prawdopodobieństwa, zwiazanej
˛
z poszukiwanym
stanem |ω0 i
Operator B – obrót wszystkich amplitud
prawdopodobieństwa wokół wartości średniej
Robert Nowotniak
Algorytm Grovera
Uzasadnienie algorytmu
Operator A – zmiana znaku amplitudy
prawdopodobieństwa, zwiazanej
˛
z poszukiwanym
stanem |ω0 i
Operator B – obrót wszystkich amplitud
prawdopodobieństwa wokół wartości średniej
Rezultat: Zwiekszanie
˛
amplitudy prawdopodobieństwa
stanu |ω0 i w kolejnych iteracjach
Robert Nowotniak
Algorytm Grovera
Plan prezentacji
1
Ogólny opis algorytmu Grovera
2
Intuicyjna interpretacja
3
Uzasadnienie matematyczne
4
Symulacja (w Numerical Python)
Robert Nowotniak
Algorytm Grovera
Implementacja algorytmu
Robert Nowotniak
Algorytm Grovera
Implementacja algorytmu
Robert Nowotniak
Algorytm Grovera
Implementacja algorytmu
Robert Nowotniak
Algorytm Grovera
Koniec
Dziekuj
˛ e.
˛
Pytania lub watpliwości?
˛
Robert Nowotniak
Algorytm Grovera

Podobne dokumenty