MakarovSuites
Polski
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Kontakt i licencje

Math

Jedno pytanie, zadane raz

Czarna skrzynka liczy f z n bitów na jeden bit, a pytać ją wolno tylko o wejścia. Pewność, czy f jest stała czy zrównoważona, kosztuje klasycznie pół tablicy plus jedno wywołanie. Hadamard na wszystko, JEDNO wywołanie z odpowiedzią w postaci znaku, znowu Hadamard - i wynik same zera rozstrzyga. Tablica prawdy jest tu klikalna, więc obietnicę można złamać ręcznie: dla dowolnej tablicy odpowiedź wypada z prawdopodobieństwem (1 − 2k/N)². A gdy tablica okaże się f(x) = s·x, to jedno wywołanie zwraca samo s.

Jedno pytanie, zadane raz — Obraz z aplikacji
Obraz z aplikacji

Co się dzieje

Czarna skrzynka liczy jakąś funkcję f z n bitów na jeden bit. Obiecano, że jest albo stała, albo zrównoważona - ta sama odpowiedź wszędzie, albo jedna odpowiedź na dokładnie połowie wejść - i trzeba powiedzieć, która. Klasycznie nie ma skrótu: pół tablicy może się zgadzać, a następny wpis wszystko zepsuć, więc pewność kosztuje N/2 + 1 wywołań. Dziewięć przy szesnastu wejściach, trzydzieści trzy przy sześćdziesięciu czterech. Teraz wersja kwantowa, i mieści się w trzech linijkach. Hadamard na każdy kubit, żeby zapytać o wszystkie N wejść naraz. Wywołaj wyrocznię - która odpowiada nie bitem, lecz ZNAKIEM: minus na każdym wejściu, gdzie f jest jedynką. Znowu Hadamard na każdy kubit. Zmierz. Jeśli wszystkie kubity czytają zero, f była stała; cokolwiek innego oznacza zrównoważoną, a całość kosztowała jedno wywołanie. Ten moduł jest czymś więcej niż pokazem, bo tablicę u góry można klikać. Złam obietnicę: odwróć jedną komórkę, a f nie jest ani stała, ani zrównoważona - i algorytm nie zawodzi, tylko pogarsza się o wielkość, którą da się wypisać. Dla DOWOLNEJ tablicy wynik same zera ma prawdopodobieństwo (1 − 2k/N)², gdzie k liczy jedynki tablicy. Stała to k = 0 i daje jeden. Zrównoważona to k = N/2 i daje dokładnie zero. Jedna odwrócona komórka przy szesnastu wejściach daje 4/256, jeden przebieg na sześćdziesiąt cztery, a panel podaje liczbę, zanim zaczniesz liczyć. Tyle warta jest obietnica wewnątrz algorytmu, w liczbach. Kryje się tu jeszcze jedno. Gdy tablica jest liniowa - f(x) = s·x mod 2 dla ukrytego ciągu s - te same trzy kroki nie odpowiadają tylko tak lub nie: wynikiem JEST s, z prawdopodobieństwem jeden, a każdy inny wynik ma dokładnie zero. To Bernstein-Vazirani, a klasycznie kosztuje n wywołań, po jednym na bit. Zapytaj raz, przeczytaj cały ciąg. Pod obydwoma faktami leży jeden wzór: amplituda wyniku y to transformata Walsha-Hadamarda z (−1)^f, a moduł liczy ją drugi raz wprost z tablicy, żeby dało się je zestawić.

Równania modułu
Równania
trzy kroki:  H na każdym kubicie;  jedno wywołanie wyroczni jako znak, |x> -> (−1)^f(x) |x>;  H znów na każdym kubicie
amplituda wyniku y:  (1/N) suma po x z (−1)^(f(x) + x·y) - transformata Walsha-Hadamarda funkcji (−1)^f
P(wszystkie zera) = (1 − 2k/N)²  gdzie k to liczba jedynek w tablicy prawdy - DOKŁADNIE, dla dowolnej tablicy
stała (k = 0 lub N):  1;  zrównoważona (k = N/2):  0;  jedna komórka zrównoważonej tablicy odwrócona:  4/N² = 1/64 przy N = 16
koszt klasyczny, by mieć PEWNOŚĆ:  N/2 + 1 wywołań (3, 5, 9, 17, 33 dla n = 2…6) wobec 1
tablica liniowa f(x) = s·x mod 2 (Bernstein-Vazirani):  wynikiem JEST s, prawdopodobieństwo 1, każdy inny wynik dokładnie 0;  koszt klasyczny n wywołań, po jednym na bit
f = 1 wszędzie daje dokładnie te same prawdopodobieństwa co f = 0 wszędzie - różnica to globalny znak, a globalny znak nie jest mierzalny
zliczenia, 2000 uruchomień przy n = 4:  stała 2000 z 2000 na wyniku z samych zer;  ukryte s = 11, 2000 z 2000 na 11;  zrównoważona 0 na wyniku z samych zer;  jedna komórka odwrócona 30 (dokładnie 31.25)

Inne eksperymenty

Wróć do katalogu
Kody korekcji błędów — Obraz z aplikacji

Math

Kody korekcji błędów

Wprowadź X, Z lub Y na płytce 3D, odczytaj syndrom i ujawnij korekcję. Porównaj pozostały operator logiczny i wierność stanu wejściowego, a następnie sprawdź dokładne prawdopodobieństwa na serii prób.

Algorytm Euklidesa i ułamki łańcuchowe — Obraz z aplikacji

Math

Algorytm Euklidesa i ułamki łańcuchowe

Stół z drewna i mosiądzu pokazuje, dlaczego NWD(a,b)=NWD(b,r). Przenoś resztę, badaj dokładne współczynniki Bézouta i ułamki łańcuchowe, porównuj pary i powtarzalne próbki.

Zegar modularny — Obraz z aplikacji

Math

Zegar modularny

Tarcza z m znacznikami i jedna wskazówka. Dodawanie rysuje gwiazdę zamykającą się po m/NWD(s, m) ruchach; mnożenie cykl, którego długość dzieli phi(m). Niektóre moduły nie mają żadnego pierwiastka pierwotnego, i karta to mówi: to twierdzenie, a nie nieudane szukanie.