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