algorytm faktoryzacji petera shora dla komputera kwantowegobiegansk/algorytm faktoryzacji...

24
Algorytm faktoryzacji Petera Shora dla komputera kwantowego

Upload: docong

Post on 01-Mar-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Algorytm faktoryzacji Petera Shora dla komputera kwantowego

Page 2: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

• Peter Shor (ur. 14 sierpnia 1959 roku w USA

• Matematyk oraz informatyk teoretyk

• Autor kwantowego Algorytmu Shora

• Pracuje w AT&T Bell Laboratories w Murray Hill w stanie New Jersery

• Nagrody za algorytm w 1998 (Nevalinny), 1999 ( Nagroda Gödla).

Page 3: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

O log N 2 log log n O log N

O exp c log n

13log log n

23

Kwantowy algorytm Shora – algorytm umożliwiający rozkład na czynniki pierwsze liczby naturalnej N w czasie i pamięci , przy wykorzystaniu komputera kwantowego. Algorytm ten stanowi teoretyczne zagrożenie dla powszechnie używanego w internecie kryptosystemu RSA. Klucz publiczny w RSA jest iloczynem dwóch dużych liczb pierwszych. Możliwość efektywnego odtworzenia tych liczb na podstawie klucza publicznego pozwalałaby poznać klucz prywatny i tym samym złamać cały szyfr. Najlepszy algorytm na klasyczny komputer ma złożoność obliczeniową rzędu

Page 4: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Jak większość algorytmów kwantowych, algorytm Shora jest algorytmem probabilistycznym: zwraca poprawną odpowiedź jedynie z pewnym prawdopodobieństwem. Ponieważ jednak odpowiedź może być szybko sprawdzona, powtarzanie algorytmu umożliwia uzyskanie poprawnej odpowiedzi w sposób efektywny z dowolnie dużym prawdopodobieństwem.Algorytm ten opublikował Peter Shor w 1994 roku. W 2001 roku grupa informatyków z firmy IBM i Uniwersytetu Stanford zademonstrowała jego działanie na 7-kubitowym komputerze kwantowym opartym o jądrowy rezonans magnetyczny. Dokonano wtedy rozkładu liczby 15 = 3* 5. Do tej pory jest to największe znane obliczenie kwantowe.

Page 5: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

x r≡1mod n

gcd xr2−1, n

xr21 x

r21=x r−1≡0 mod n , gcd x

r2−1, n

xr2≡−1 mod n

Zamiast od razu podać algorytm na faktoryzację n, p odamy najpierw kwantowy algorytm znajdujący rząd elementu x w grupie multiplikatywnej; czyli najmniejszą taką liczbę całkowitą r, że . Wiadomo,że jeśli zastosuje się losowość to faktoryzacja może być zredukowana do znalezienia rzędu elementu. By znaleźć dzielnik liczby nieparzystej n, znając metodę obliczania rzędu r elemetnu x, wybierz losowo x , znajdź jego rząd r, oraz oblicz . Tutaj gcd(a,b) jest największym wspólnym dzielnikiem a oraz b. Do obliczenia gcd wykorzystuje się algorytm Euklidesa. Ponieważ

jest trywialnym dzielnikiem n wtedy gdy r jest nieparzyste lub

Page 6: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

1− 12k−1

Korzystając z powyższego kryterium można pokazać, że ta procedura działa poprawnie z prawdopodobieństwem,

gdzie k jest liczbą różnych nieparzystych dzielników liczby n.Opiszmy teraz algorytm znajdujący rząd elementu x (mod n) na komputerze kwantowym.. Algorytm ten będzie korzystać z dwóch kwantowych rejestrów, które będą przechowywały całkowite liczby reprezentowane binarnie.

Cały algorytm składa się z następujących dwóch części:a) Część klasyczna – wykonywana na klasycznym komputerzeb) Część kwantowa: znajdowanie okresu funkcji

Page 7: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Część klasyczna

Page 8: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Część Kwantowa – znajdowanie okresu funkcji

Page 9: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Kroki Algorytmu Shora

1. Stwierdź czy n jest liczbą pierwszą, liczba parzysta, lub potęga liczby pierwszej. Jeśli jest to nie użyjemy algorytmu Shora. Istnieją efektywna klasyczne stwierdzające czy liczba n należy do jednej z powyższych grup, oraz dają rozkład liczby na czynniki. Ten krok może być przygotowany na klasycznym komputerze.2. Weź liczbę q, która jest potęgą dwójki tak, że Ten krok może być wykonany na klasycznym komputerze

n2q2n2

Page 10: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

3. Weź losową liczbę x , która jest względnie pierwsza z n.(to znaczy największy wspólny dzielnik tych liczb jest równy 1. Są klasyczne metody wybierające taki x. Ten krok także może być wykonany na klasycznym komputerze.4. Stwórz kwantowy rejestr oraz podziel go na dwa zbiory, rejestr pierwszy oraz rejestr drugi. Następnie stan naszego komputera może być odczytany przez: left|reg1,reg2>. Rejestr pierwszy musi posiadać wystarczająco dużo kubitów by reprezentować liczbę tak dużą jak q-1. Rejestr drugi musi posiadać tak dużo kubitów by reprezentować liczbę tak dużą jak n-1.

Page 11: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

5. Załaduj rejestr pierwszy wyważoną superpozycją wszystkich liczb od 0 do q-1. Załaduj rejestr drugi stanem 0. Ta operacja powinna być wykonana przez komputer kwantowy. Cały stan kwantowej pamięci rejestr w tym punkcie wynosi

6. Zastosuj transformację dla każdej liczby zapisanej w rejestrze pierwszym oraz zapisz wynik w rejestrze drugim. W wyniku kwantowej równoległowości to zajmie tylko jeden krok, kwantowy komputer obliczy tylko , gdzie |a> jest superpozycją stanów stworzonych w kroku 5.Stan rejestru pamięci kwantowej w tym punkcie będzie wynosił:

1q

∑a=0

q−1| a ,0>

xa mod n

x |a > mod n

1q

∑a=0

q−1| a , xa mod n >

Page 12: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

7. Zmierzmy rejestr drugi, oraz zaobserwujmy pewne wartości k. Stan kwantowej pamięci po tym kroku wynosić będzie:Gdzie A jest zbiorem takich a, żeoraz ||A|| jest liczbą elementów zbioru A8. Oblicz dyskretną transformatę Fouriera na rejestrze pierwszym. Dyskretna transformata Fouriera zastosowana do stanu |a> zmienia go w następującym znaczeniu:

Po transformacie nasz rejestr będzie w stanie

xa mod n=k 1∥A∥

∑a '∈A

| a ' , k >xa mod n=k

| a >=1q

∑c=0

q−1| c >∗e2пiac /q

1∥A∥

∑a '∈A 1

q

∑c=0

q−1

|c , k >∗e2пia ' c/q

Page 13: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

9.Zmierz stan rejestru pierwszego, nazwijmy tą wartość m, m z bardzo dużym prawdopodobieństwem będzie wielokrotnością q/r, gdzie r jest szukanym okresem. 10. Weź wartość m, następnie na klasycznym komputerze wykonaj parę obliczeń, które wyliczają r znając m oraz q. Jest wiele możliwości wykonania tych obliczeń, są one złożone 11. Jak tylko otrzymałeś r, dzielnik n może być wyznaczony przez

Jeśli znalazłeś rozkład na czynniki liczby n to STOP, jeśli nie to wróć do kroku 4.

Algorytm Shora może zawieść z wielu powodów, na przykład dyskretna transformata Fouriera może być zmierzona jako 0 w kroku 9, wykonująć obliczenia w punkcie 10. Innym razem algorytm może znaleźć rozkład jako 1 i n, który jest poprawy lecz bezużyteczny.

gcd x r /21,n oraz gcd x r/2

−1,n

Page 14: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Analiza algorytmu – część klasyczna

ar≡1

ar2−1 a

r21

ar−1=a

r2−1⋅a

r21≡0 mod N ⇒ N∣a

r2−1 a

r21

Mamy daną grupę skończoną ( z mnożeniem modulo N) Każdy element a tej grupy ma jakiś skończony rząd r. Jeśli potrafimy obliczyć r i jest ono parzyste to:

Skoro r jest najmniejszą liczbą taką że to N nie może dzielić Jeśli N nie dzieli również to N musi mieć

nietrywialny wspólny dzielnik z obiema powyższymi liczbami. Otrzymujemy w ten sposób jakąś faktoryzację N. Jeśli N jest iloczynem dwóch liczb pierwszych, jest to jego jedyna faktoryzacja.

Page 15: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Część kwantowaAlgorytm znajdowania okresu funkcji bazuje na zdolności komputera kwantowego do jednoczesnych obliczeń na wielu stanach. Obliczamy wartość funkcji jednocześnie dla wszystkich wartości x, uzyskując superpozycję wszystkich wartości.Fizyka kwantowa nie umożliwia nam jednak bezpośredniego odczytania tych informacji. Każdy pomiar niszczy superpozycję, pozwalając nam odczytać tylko jedną z wartości. Zamiast odczytywać te wartości, dokonujemy transformacji Fouriera – która zamienia wartości funkcji na wartości jej okresów. Późniejszy odczyt daje z dużym prawdopodobieństwem wartość bliską jakiemuś okresowi funkcji.

Page 16: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Część kwantowa (cd)

O log N 2

Do wykonania kwantowego algorytmu niezbędna jest kwantowa implementacja trzech operacji: 1. Stworzenia superpozycji stanów. Można tego łatwo dokonać aplikując bramki Hadamarda (opis na jednym z kolejnych slajdów) do wszystkich kubitów w rejestrze. 2. Funkcji f jako funkcji kwantowej. Używany do tego jest algorytm szybkiego potęgowania, w wersji modulo N. Należy zauważyć że ten krok jest najtrudniejszy w implementacji, i wymaga dodatkowych kubitów i największej ilości kwantowych bramek logicznych. 3. Odwrotnej kwantowej transformacji Fouriera. Używając kontrolowanych bramek obrotu i bramek Hadamarda Shor zaprojektował układ który realizuje to przy użyciu bramek.

Page 17: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Część kwantowa (cd)

Po zastosowaniu tych przekształceń, pomiar stanu rejestru da przybliżoną wartość okresu r.Przykładowo, załóżmy dla uproszczenia że istnieje takie y że yr/N jest całkowite. Wtedy prawdopodobieństwo uzyskania dobrego y jest równe 1. Aby to pokazać wystarczy zauważyć że exp( − 2πibyr / N) = 1dla dowolnego całkowitego b.Zatem suma czynników dających wartość y będzie równa N/r, bo istnieje N/r różnych wartości b dających ten sam wykładnik. Prawdopodobieństwo każdego takiego y wynosi zatem 1 / r^2. Istnieje r różnych y takich że yr/N jest całkowite, oraz r różnych możliwych wartości f(x0). W sumie prawdopodobieństwo uzyskania dobrego r wynosi zatem 1.

Page 18: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Kwantowa transformata Fouriera

| j > 1N

∑k=0

N−1

e2π i j k

N | k >N =2n

Kwantowa transformata Fouriera (ang. QFT - Quantum Fourier transform) jest kwantową analogią dyskretnej transformaty Fouriera. Na dowolny n-kubitowy stan bazowy |j> działa ona jak następuje:

gdzie .Warto zwrócić uwagę, że wielkość ω = e2πi / N jest "zespolonym pierwiastkiem N-tego rzędu" z liczby 1 (ze wzóru de Moivre'a). Spostrzeżenie to pomaga wyobrazić sobie jak działa QFT, obrazując ją sobie w układzie współrzędnych przestrzeni zespolonej.

Page 19: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Bramka Hadamarda

12

Bramka Hadamarda (ozn. w skrócie symbolem H) jest bramką kwantową jednokubitową. Bramka kwantowa Hadamarda jest reprezentowana przez 2 x 2 wymiarową macierz unitarną będącą iloczynem i macierzy Hadamarda:

Działanie bramki Hadamarda H dla wektorów bazowych (stanów bazowych) |0> oraz |1> można przedstawić następująco:

Wektory { H|0>,H|1>} stanowią bazę w przestrzeni stanów jednego qubitu, którą nazywa się bazą Hadamarda. Bramka Hadamarda ma podstawowe znaczenie dla obliczeń kwantowych.

Page 20: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Postęp w algorytmach kwantowychMinięło już ponad 12 lat od wymyślenia algorytmu faktoryzacji na komputerze kwantowym, od tego czasu powstało niewiele algorytmów kwantowych rozwiązujących klasyczne problemy.Według Shora są dwie przyczyny tego, że algorytmy kwantowe są trudne do wymyślenia.- pierwszą jest to, że może być tylko kilka problemów dla których komputery kwantowe mogą zaoferować istotne przyśpieszenie wykonywania algorytmów wykonywanych na klasycznym komputerze; najbardziej pesymistyczny scenariusz, wynaleźliśmy już większość znaczących algorytmów. - drugą jest to, że komputery kwantowe działają w sposób tak nieintuicyjny, i tak różny od klasycznych komputerów, że całe doświadczenie ostatnich pięćdziesięciu lat w algorytmice oferuje mały wgląd w to jak znajdować kwantowe algorytmy, więc na dzień dzisiejszy wydajne algorytmy kwantowe dla wielu problemów istnieją, lecz są bardzo trudne do wymyślenia.

Page 21: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Klasa „problemów kwantowych”Klasa problemów, które mogą być efektywnie rozwiązane przez kwantowy komputer jest nazwana BQP("bounded error, quantum, polynomial time").Komputery kwantowe wykonują tylko probabilistyczne algorytmy, więc BQP na kwantowym komputerze jest odpowiednikiem klasy BPP na komputerze klasycznym. Jest zdefiniowana jako zbiór problemów rozwiązywalnych w czasie wielomianowym, w których prawdopodobieństwo błedu jest ograniczone przez ¼ . Mówimy że komputer kwanotwy rozwiązuje problem jeśli dla każdej instancji problemu, jego odpowiedz będzie prawidlowa z dużym prawdopodobieństwem. Jeśli rozwiązanie jest znajdowane w czasie wielomianowym, wtedy problem należy do BQP.

Page 22: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Spodziewana zależność między klasą BQP oraz innymi przestrzeniami problemów

Page 23: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Przykłady algorytmów kwantowych

– algorytm Deutscha-Jozsa (odróżniania funkcji zrównoważonej od stałej) 1992– algorytm Shora (znajdowania liczb pierwszych oraz logarytm dyskretny) 1994– algorytm Grovera (przeszukiwania bazy danych) 1995– algorytm Simona (znajdowania maski XOR funkcji 2-na-1) 1997

Page 24: Algorytm faktoryzacji Petera Shora dla komputera kwantowegobiegansk/algorytm faktoryzacji Shora.pdf · Jak większość algorytmów kwantowych, algorytm Shora jest ... Do obliczenia

Literatura

i. Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer - Peter W. Shor (1996) – szczegółowo opisany algorytm, oraz wyjaśnione podstawy obliczeń kwantowychii. Progress in quantum algorithms - Peter W. Shor (2005)iii. www.wikipedia.pliv.http://alumni.imsa.edu/~matth/quant/299/paper/node18.html