🧮 Algorytm Deutscha–Jozsy

Prawdopodobieństwa pomiaru P(y)
Schemat: H⊗n → U_f → H⊗n → pomiar
n = 2  ·  N = 2n = 4  ·  wniosek:  ·  Kwantowo: 1 zapytanie · Najgorszy przypadek klasyczny: 3 zapytań

O algorytmie Deutscha–Jozsy

Algorytm Deutscha–Jozsy odpowiada na proste zadanie z obietnicą: mając funkcję czarnej skrzynki f, która przekształca n bitów na jeden bit i z gwarancją jest albo stała (ten sam wynik dla każdego wejścia), albo zrównoważona (0 dla dokładnie połowy wejść i 1 dla drugiej połowy), trzeba określić, która to funkcja. Komputer klasyczny, który może jedynie odpytywać f jako czarną skrzynkę, w najgorszym przypadku musi sprawdzić ponad połowę z 2ⁿ wejść, zanim uzyska pewność — aż do 2⁽ⁿ⁻¹⁾ + 1 zapytań w najgorszym przypadku. Komputer kwantowy rozwiązuje to samo pytanie za pomocą jednego jedynego odwołania do wyroczni, kodując f w fazie i pozwalając interferencji skupić całe prawdopodobieństwo na wyniku zerowym właśnie wtedy, gdy f jest stała.

Ten symulator samodzielnie buduje dokładny stan kwantowy: stosuje bramki Hadamarda, aby osiągnąć równą superpozycję, koduje wybraną wyrocznię jako zmianę znaku dla każdego stanu bazowego, a następnie wykonuje prawdziwą transformację Walsha–Hadamarda, aby uzyskać końcowe prawdopodobieństwa pomiaru. Baner wniosku w czasie rzeczywistym odczytuje prawdopodobieństwo zmierzenia ciągu zerowego — wartość bliska 1 oznacza funkcję stałą, bliska 0 oznacza zrównoważoną — dokładnie tak, jak działa prawdziwy algorytm. Pozostaje on fundamentalnym przykładem w kursach obliczeń kwantowych, ponieważ to właśnie on jako pierwszy ściśle udowodnił, że interferencja kwantowa może dać bezwarunkową przewagę szybkości nad dowolną strategią klasyczną, na lata przed tym, jak algorytm Shora rozsławił tę ideę.

Najczęściej zadawane pytania

Jaki problem rozwiązuje algorytm Deutscha–Jozsy?

Z pewnością określa, czy boolowska funkcja czarnej skrzynki f jest stała, czy zrównoważona, wykorzystując możliwie najmniejszą liczbę odwołań do f. Funkcja jest z góry zagwarantowana jako jedna z tych dwóch, więc algorytm nigdy nie musi radzić sobie z funkcją, która nie jest ani stała, ani zrównoważona.

Dlaczego komputer klasyczny jest w tym zadaniu tak dużo wolniejszy?

Klasycznie trzeba odpytywać f po jednym wejściu na raz. Nawet jeśli 2⁽ⁿ⁻¹⁾ razy z rzędu uzyska się ten sam wynik, wciąż nie daje to pewności, że funkcja jest stała — kolejne zapytanie może ujawnić inną wartość. Dopiero po sprawdzeniu nieco ponad połowy wejść, czyli 2⁽ⁿ⁻¹⁾ + 1 zapytań w najgorszym przypadku, można uzyskać ostateczną pewność.

Jak jedno kwantowe zapytanie daje odpowiedź?

Superpozycja pozwala zastosować wyrocznię do wszystkich 2ⁿ wejść jednocześnie, kodując f(x) w fazie, a nie w odwróceniu bitu. Druga warstwa bramek Hadamarda sprawia następnie, że te fazy interferują ze sobą. Jeśli f jest stała, wszystkie ścieżki konstruktywnie sumują się na wyniku zerowym, nadając mu prawdopodobieństwo 1. Jeśli f jest zrównoważona, ścieżki tam całkowicie się znoszą, dając prawdopodobieństwo 0.

Co oznaczają histogram i wartość P(0…0)?

Histogram pokazuje prawdopodobieństwo zmierzenia każdego możliwego ciągu wyjściowego. Słupek przy y = 0 (ciąg zerowy) jest wyróżniony, ponieważ to on niesie wniosek: ten symulator odczytuje to jedno prawdopodobieństwo w czasie rzeczywistym i zgłasza „STAŁA”, gdy jest ono bliskie 1, lub „ZRÓWNOWAŻONA”, gdy jest bliskie 0.