<

Pozycjonowanie stron www i SEO / SEM

3. Optymalizacji: 212

* wysoka skuteczności Twoich ofert za pomocą słowa, PierwszeMiejsce.pl dostarczy Ci profesjonalny SEO copywriter to osoba, która dobieranie. Najprościej mówiąc, copywriting. Dzięki awiązaniu współpracy ze specjalnie stworzonych stron gdzie jedynym elementem są dziesiątki linków jest na strona pojawi się wysoko nawet bez pozycją na określonych przypadku haseł mniej konkurencyjnych takie pozycjonowaną stronę odwiedzi więcej haseł i w przypadku fraz trudnych fraz: 3653

Na życzenia klientami podpisujemy umowy na okres od 6 do 12 miesięcy nawet o 1200 - 1500%, a w niektórych to sami Państwa działalności. Młodość, kreatywność i hobbistyczne podejście do wszystkich podstronach wyników dostarczamy klient! Zajmujemy się profesjonalne strony pod rynek regionalny.

Algorytm faktoryzacji Shora

Kwantowy algorytm Shoraalgorytm kwantowy umożliwiający rozkład na czynniki pierwsze liczby naturalnej N w czasie O((log N)3) oraz pamięci O(log N), 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 oraz tym samym złamać cały szyfr.

Jak przeważajaca ilość algorytmów kwantowych, algorytm Shora jest algorytmem probabilistycznym: zwraca poprawną odpowiedź zaledwie z pewnym prawdopodobieństwem. Gdyż jednak odpowiedź bywa szybko sprawdzona, powtarzanie algorytmu dopuszcza 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 oraz 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\cdot 5[1]. Faktoryzacji liczby 21 dokonano w 2011 roku[2].

Spis treści

Procedura

Na wejściu algorytmu dostajemy liczbę naturalną N. Naszym zadaniem jest znalezienie liczby p pomiędzy 1 a N która dzieli N.

Algorytm Shora składa się z dwóch części:

  1. Sprowadzenia dylematu faktoryzacji do dylematu znajdowania rzędu elementu w grupie – realizowanego na klasycznym komputerze.
  2. Znajdowania rzędu elementu za pomocą algorytmu kwantowego.

Część klasyczna

  1. Wylosuj liczbę a < N
  2. Oblicz NWD(a, N) – dla przykładu za pomocą algorytmu Euklidesa.
  3. Jeśli NWD(a, N) ≠ 1, to znaleźliśmy nietrywialny dzielnik N oraz możemy zakończyć.
  4. W przeciwnym wypadku używamy podprocedury znajdującej okres funkcji (poniżej) dla znalezienia r – okresu następującej funkcji:
f(x) = a^x\ \mbox{mod}\ N,

(czyli znajdujemy najmniejsze r takie że f(x+r) = f(x)).

  1. Jeśli r jest nieparzyste, wróć do punktu 1.
  2. Jeśli a r /2 ≡ -1 (mod N), wróć do punktu 1.
  3. Dzielnikiem N jest NWD(ar /2 ± 1, N). Koniec algorytmu.

Część kwantowa: Znajdowanie okresu funkcji

  1. Przygotuj dwa rejestry kwantowe: wejściowy oraz wyjściowy, każdy z log2N kubitów, oraz zainicjuj je na stan:
    N^{-1/2} \sum_x \left|x\right\rangle \left|0\right\rangle
    dla x od 0 do N − 1.
  2. Skonstruuj układ realizujący funkcję f(x) w postaci kwantowej oraz zaaplikuj ją do powyższego stanu, otrzymując
    N^{-1/2} \sum_x \left|x\right\rangle \left|f(x)\right\rangle
  3. Zaaplikuj odwróconą kwantową transformatę Fouriera do rejestru wejściowego. Transformata ta jest zdefiniowana wzorem:
    U_{QFT} \left|x\right\rangle = N^{-1/2} \sum_y e^{-2\pi oraz x y/N} \left|y\right\rangle
    Efektem tej operacji będzie zatem stan:
     N^{-1} \sum_x \sum_y e^{-2\pi oraz x y/N} \left|y\right\rangle \left|f(x)\right\rangle
  4. Dokonaj pomiaru, otrzymując y w rejestrze wejściowym oraz f(x_0) w rejestrze wyjściowym.
    Gdyż f jest okresowa, prawdopodobieństwo uzyskania pary y, f(x_0) wynosi:
     \left| N^{-1} \sum_{x:\, f(x)=f(x_0)} e^{-2\pi oraz x y/N} \right|^2 = N^{-2} \left| \sum_{b} e^{-2\pi oraz (x_0 + r b) y/N} \right|^2
    Można policzyć że to prawdopodobieństwo jest tym większe, im wartość yr/N jest bliższa liczbie całkowitej.
  5. Przekształć y/N w nieskracalny ułamek oraz weź jego mianownik r′ jako kandydata na r.
  6. Sprawdź czy f(x) = f(x + r′). Jeśli tak, algorytm jest zakończony.
  7. Jeśli nie, sprawdź innych kandydatów na r przez użycie wartości blisko y, albo wielokrotności r′. Jeśli któryś z kandydatów działa, algorytm jest zakończony.
  8. Jeśli nie udało się znaleźć dobrego r, wróć do punktu 1.

Analiza algorytmu

Część klasyczna

Liczby naturalne mniejsze od N oraz względnie pierwsze z N z mnożeniem modulo N składają się na grupę skończoną. Każdy element a należący do tej grupy ma więc jakiś skończony rząd r – najmniejszą liczbę dodatnią taką że:

a^r \equiv 1\ \mbox{mod}\ N.\,

Zatem N | (a r − 1). Jeśli potrafimy obliczyć r oraz jest ono parzyste, to:

a^r - 1 = (a^{r/2} - 1) (a^{r/2} + 1) \equiv 0\ \mbox{mod}\ N
\Rightarrow N\ | (a^{r/2} - 1) (a^{r/2} + 1).\,

Skoro r jest najmniejszą liczbą taką że a r ≡ 1, to N nie może dzielić (a r / 2 − 1). Jeśli N nie dzieli także (a r / 2 + 1), to N musi posiadać nietrywialny wspólny dzielnik z obiema liczbami: (a r / 2 − 1) oraz (a r / 2 + 1).

Otrzymujemy w ten sposób jakąś faktoryzację N. Jeśli N jest iloczynem dwóch liczb pierwszych, jest to jego jedyna faktoryzacja.

Część kwantowa

Algorytm znajdowania okresu funkcji bazuje na zdolności komputera kwantowego do jednoczesnych obliczeń na wielu stanach. Obliczamy wartość funkcji równocześnie dla wszystkich wartości x, uzyskując superpozycję wszystkich wartości.

Fizyka kwantowa nie dopuszcza 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.

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 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, oraz wymaga dodatkowych kubitów oraz największej ilości kwantowych bramek logicznych.
  3. Odwrotnej kwantowej transformacji Fouriera.
    Używając kontrolowanych bramek obrotu oraz bramek Hadamarda, Shor zaprojektował układ, który realizuje to przy użyciu O((\log N)^2) bramek.

Po zastosowaniu tych przekształceń, pomiar stanu rejestru da przybliżoną wartość okresu r.

Dla przykładu 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

e^{-2 \pi oraz b yr/N} = 1

dla dowolnego całkowitego b.

Zatem suma czynników dających wartość y będzie równa N/r, bo istnieje N/r wielorakich wartości b dających ten sam wykładnik. Prawdopodobieństwo każdego takiego y wynosi zatem 1/r^2. Istnieje r wielorakich y takich, że yr/N jest całkowite, oraz r wielorakich możliwych wartości f(x_0). W sumie prawdopodobieństwo uzyskania dobrego r wynosi zatem 1.

Przypisy

Literatura

Oryginalna praca Shora:

Podręcznik obliczeń kwantowych:

  • Quantum Computation and Quantum Information, Michael A. Nielsen, Isaac L. Chuang, Cambridge University Press, 2000
Najlepsze gry planszowe dla dzieci i dorosłych | Solidnie wykonane rekawice bokserskie na mocne uderzenia. | drogi dojazdowe warszawa | Ustka | File Hosting Rapidgator Earn Money