Strona głównaArtykułyKomputery Kwantowe

Algorytm Poszukiwań Grovera: Wyjaśnienie Wzmocnienia Amplitudy

Klasyczny komputer przeszukuje niesortowaną listę N elementów w czasie O(N). Algorytm kwantowy Grovera robi to w O(√N) – kwadratowe przyspieszenie oparte na superpozycji i interferencji, a nie skrót.

mysimulator teamZaktualizowano — czerwiec 2026≈ 8 min czytania▶ Otwórz symulację

Kwanty, superpozycja i model obwodu

Komputer kwantowy operuje na kubitach – systemach dwustanowowych, które w przeciwieństwie do klasycznych bitów mogą istnieć w dowolnych stanach superpozycji |ψ⟩ = α|0⟩ + β|1⟩, gdzie |α|² + |β|² = 1. Rejestr z n kubitów żyje w przestrzeni Hilberta o 2ⁿ amplitudach zespolonych: już 3 kubity rozkładają się na 8 równoległych amplitud. Bramka Hadamarda tworzy równą superpozycję, a zbiór {Hadamard, T, CNOT} jest uniwersalny – dowolne obliczenie kwantowe można zbudować wyłącznie z tych trzech bram.

Algorytm: orakl plus dyfuzja

Lov Grover (1996) opracował algorytm do znalezienia oznaczonych elementu w nieusortowanym zbiorze N elementów, co klasycznie wymaga średnio O(N) zapytań. Algorytm Grovera potrzebuje jedynie O(√N):

1. Initialise: |ψ⟩ = H^⊗n |0⟩ⁿ   (equal superposition of all N states)

2. Repeat ≈(π/4)·√N times:
   a. Oracle:     O|x⟩ = −|x⟩ if x matches, +|x⟩ otherwise
   b. Diffusion:  2|ψ⟩⟨ψ| − I   ("inversion about the mean")

3. Measure → obtains the marked item with probability ≥ 1 − ε

N = 2²⁰ ≈ 10⁶:  classical avg 500,000 queries  vs  Grover ~785 queries
demo na żywo · powiązana symulacja● LIVE

Geometryczna wizualizacja

Każda iteracja Grovera obróci wektor stanu o stały kąt 2θ w kierunku wskazywanego stanu, gdzie sin(θ) = 1/√N. Optymalna liczba iteracji wynosi t = (π/4)·√N – przekroczenie tego punktu powoduje powrót amplitudy z celem, co różni się od klasycznego wyszukiwania, w którym więcej iteracji nie zawsze jest korzystne. Przy N = 2⁵⁶ ≈ 7×10¹⁶, klasyczne brute force wymaga średnio około 10¹⁷ zapytań, natomiast Grover potrzebuje mniej więcej 2×10⁸ – różnica ta wynosi dziewic rozporządań.

Dlaczego to ma znaczenie dla kryptografii

Algorytm Grovera ma bezpośrednie implikacje dotyczące bezpieczeństwa kryptografii klucza symetrycznego. Klucz o długości 128 bitów (AES-128) wymaga klasycznego przeszukiwania brute-force z możliwością 2¹²⁸ kombinacji; Grover redukuje to do około 2⁶⁴ zapytań kwantowych – co w zasadzie zmniejsza margines bezpieczeństwa o połowę. Odpowiedź NIST jest prosta: używać AES-256 zamiast AES-128, aby zachować prawdziwy poziom bezpieczeństwa 128-bitowego przeciwko przeciwnikom kwantowym. Kluczowe jest to, że przyspieszenie Grovera jest kwadratowe, a nie wykładnicze, jak algorytm Shora do rozkładu liczb – nie może rozwiązać problemów NP-całkowitych w czasie wielomianowym, ponieważ przestrzeń przeszukiwania pozostaje wykładnicza nawet po zmniejszeniu pierwiastkiem z kwadratu.

Frequently asked questions

Jak algorytm Grovera poszukuje szybciej niż komputer klasyczny?

Zaczyna w równoramiennym superpozycji wszystkich N możliwych stanów, a następnie powtarza dwie operacje (w przybliżeniu) π/4 razy: orakl, który odwraca fazę amplitudy elementu oznaczanego, oraz krok dyfuzji, który wykonuje "odwrócenie wokół średniej", wzmacniając amplitudę elementu oznaczonego i zmniejszając amplitudy pozostałych. Po optymalnej liczbie iteracji pomiar rejestru zwraca element oznaczony z blisko pewnością — używając jedynie O(√N) zapytań do orakla zamiast klasycznych O(N).

Czy algorytm Grovera łamie szyfr AES?

Osłabia, ale nie łamie wprost szyfrowania symetrycznego. Klasyczne brute-force przeciwko AES-128 wymaga 2^128 zapytań; Grover redukuje to do około 2^64 zapytań, co w przybliżeniu dzieli efektywną długość klucza o połowę. Zaleceniem NIST jest użycie AES-256 zamiast AES-128, ponieważ 2^128 zapytań kwantowych przeciwko kladowi 256-bitowemu pozostaje obliczeniowo niewykonalne.

Dlaczego algorytm Grovera nie może efektywnie rozwiązać problemów NP-kompletnych?

Przyspieszenie Grovera jest kwadratowe, a nie wykładnicze: przekształca O(N) poszukiwanie niesstrukturalne w O(√N). Dla problemów NP-kompletnych przestrzeń przeszukiwania jest zwykle wykładnicza w zależności od rozmiaru wejścia, więc nawet kwadratowa redukcja wykładniczej liczby nadal pozostawia wykładniczą liczbę zapytań — zdecydowanie nie wystarczająca do efektywnego rozwiązania problemów NP-kompletnych.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz the simulation i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację the simulation

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)