Twierdzenie o progu
Ostatnim tematem omawianym w tej lekcji jest bardzo ważne twierdzenie znane jako twierdzenie o progu. Poniżej znajduje się jego nieco nieformalne sformułowanie.
Mówiąc prosto, twierdzenie stwierdza, że jeśli mamy dowolny obwód kwantowy złożony z Gate'ów — gdzie może być dowolnie duże — to możliwe jest zaimplementowanie go z dużą dokładnością przy użyciu zaszumionego obwodu kwantowego, o ile poziom szumu jest poniżej pewnej wartości progowej niezależnej od . Co więcej, nie jest to zbyt kosztowne: rozmiar wymaganego zaszumionego obwodu ma rząd razy pewna stała potęga logarytmu z
Formalne sformułowanie twierdzenia wymaga precyzyjnego określenia modelu szumu, czym nie będziemy się tutaj zajmować. Można je na przykład udowodnić dla modelu niezależnego szumu stochastycznego wspomnianego wcześniej, w którym błędy pojawiają się niezależnie w każdym możliwym miejscu obwodu z pewnym prawdopodobieństwem ściśle mniejszym od wartości progowej — ale można je również udowodnić dla bardziej ogólnych modeli szumu, w których mogą występować korelacje między błędami.
Jest to wynik teoretyczny, a najczęstszy sposób jego dowodzenia niekoniecznie przekłada się na podejście praktyczne, niemniej ma ono ogromne znaczenie praktyczne. W szczególności dowodzi, że nie istnieje żadna fundamentalna bariera uniemożliwiająca wykonywanie obliczeń kwantowych przy użyciu zaszumionych komponentów; o ile wskaźnik błędów tych komponentów jest poniżej wartości progowej, można ich używać do budowania niezawodnych obwodów kwantowych o dowolnym rozmiarze. Innym sposobem wyrażenia jego wagi jest spostrzeżenie, że gdyby twierdzenie było fałszywe, trudno byłoby sobie wyobrazić, że wielkoskalowe obliczenia kwantowe kiedykolwiek staną się rzeczywistością.
Formalne dowody (formalnych sformułowań) tego twierdzenia wiążą się z wieloma szczegółami technicznymi, które nie będą tutaj omawiane — jednak podstawowe idee można mimo wszystko wyjaśnić na poziomie intuicyjnym. Aby wyjaśnienie było jak najprostsze, wyobraźmy sobie, że do korekcji błędów używamy 7-kubitowego kodu Steane'a. Byłby to niepraktyczny wybór dla rzeczywistej implementacji fizycznej — co odzwierciedlałaby znikoma wartość progowa — ale dobrze służy do przekazania głównych idei. To wyjaśnienie będzie też dość niedbałe w kwestii modelu szumu; zakładamy, że błąd uderza każde miejsce w odpornej na błędy implementacji niezależnie z prawdopodobieństwem
Jeśli prawdopodobieństwo jest większe niż odwrotność — rozmiaru obwodu, który chcemy zaimplementować — jest bardzo prawdopodobne, że błąd gdzieś wystąpi. Możemy więc spróbować uruchomić odporną na błędy implementację tego obwodu, postępując zgodnie z przepisem przedstawionym w lekcji. Możemy wtedy zadać sobie pytanie sugerowane wcześniej: czy to poprawia, czy pogarsza sytuację?
Jeśli prawdopodobieństwo błędu w każdym miejscu jest zbyt duże, nasze wysiłki nie pomogą, a mogą nawet pogorszyć sytuację — podobnie jak 9-kubitowy kod Shora nie pomaga, gdy prawdopodobieństwo błędu przekracza mniej więcej 3,23%. W szczególności odporna na błędy implementacja jest znacznie większa od naszego oryginalnego obwodu, więc istnieje o wiele więcej miejsc, gdzie błędy mogą wystąpić.
Jeśli jednak jest wystarczająco małe, uda nam się zmniejszyć prawdopodobieństwo błędu dla logicznych obliczeń, które wykonujemy. (W formalnym dowodzie trzeba byłoby być w tym miejscu bardzo ostrożnym: błędy w logicznych obliczeniach nie muszą być dokładnie opisane przez oryginalny model szumu. To właśnie motywuje mniej pobłażliwe modele szumu, w których błędy mogą nie być niezależne — ale pominiemy ten szczegół dla uproszczenia wyjaśnienia.)
Dokładniej rzecz biorąc, aby wystąpił błąd logiczny w oryginalnym obwodzie, co najmniej dwa błędy muszą trafić w ten sam blok kodu w odpornej na błędy implementacji, ponieważ kod Steane'a potrafi skorygować dowolny pojedynczy błąd w bloku kodu. Mając na uwadze, że istnieje wiele różnych sposobów na pojawienie się dwóch lub więcej błędów w tym samym bloku kodu, można uzasadnić, że prawdopodobieństwo błędu logicznego w każdym miejscu oryginalnego obwodu wynosi co najwyżej dla pewnej stałej dodatniej liczby rzeczywistej zależnej od kodu i używanych gadżetów — ale co kluczowe, niezależnej od , rozmiaru oryginalnego obwodu. Jeśli jest mniejsze od , co możemy przyjąć jako wartość progową oznacza to redukcję błędu.
Jednak ten nowy wskaźnik błędów może nadal być zbyt wysoki, by cały obwód działał poprawnie. Naturalnym krokiem jest teraz wybór lepszego kodu i lepszych gadżetów, by obniżyć wskaźnik błędów do poziomu, przy którym implementacja prawdopodobnie zadziała. Teoretycznie prostym sposobem argumentacji, że jest to możliwe, jest konkatenacja. Innymi słowy, możemy potraktować odporną na błędy implementację oryginalnego obwodu jak każdy inny obwód kwantowy, a następnie zaimplementować ten nowy obwód w sposób odporny na błędy, używając tego samego schematu. Możemy to powtarzać wielokrotnie, tyle razy, ile potrzeba, by obniżyć wskaźnik błędów do poziomu umożliwiającego poprawne działanie oryginalnych obliczeń.
Żeby mieć przybliżone pojęcie o tym, jak wskaźnik błędów maleje tą metodą, rozważmy kilka iteracji. Zauważ, że rygorystyczna analiza wymagałaby uwzględnienia różnych szczegółów technicznych, które tutaj pomijamy.
Zaczynamy od prawdopodobieństwa błędu dla miejsc w oryginalnym obwodzie. Zakładając, że logiczny wskaźnik błędów można ograniczyć przez po pierwszej iteracji. Traktując odporną na błędy implementację jak dowolny inny obwód i implementując ją odpornie na błędy, otrzymujemy ograniczenie logicznego wskaźnika błędów w postaci
Kolejna iteracja dalej redukuje ograniczenie błędu do
Kontynuując w ten sposób przez łącznie iteracji, otrzymujemy logiczny wskaźnik błędów (dla oryginalnego obwodu) ograniczony przez
co jest podwójnie wykładnicze w
Oznacza to, że nie potrzeba zbyt wielu iteracji, by wskaźnik błędów stał się niezwykle mały. Tymczasem obwody rosną w rozmiarze z każdym poziomem konkatenacji, ale ich rozmiar rośnie jedynie pojedynczo wykładniczo w liczbie poziomów Dzieje się tak dlatego, że z każdym poziomem odporności na błędy rozmiar rośnie co najwyżej o czynnik wyznaczony przez maksymalny rozmiar używanych gadżetów. Gdy złożymy to wszystko razem i dobierzemy odpowiednią liczbę poziomów konkatenacji, otrzymujemy twierdzenie o progu.
Co zatem jest tą wartością progową w rzeczywistości? Odpowiedź zależy od kodu i używanych gadżetów. Dla kodu Steane'a w połączeniu z destylacją stanów magicznych jest ona znikoma i prawdopodobnie trudna do osiągnięcia w praktyce. Jednak używając kodów powierzchniowych i najnowocześniejszych gadżetów, próg szacuje się na rząd 0,1% do 1%.
W miarę odkrywania nowych kodów i metod można oczekiwać wzrostu wartości progowej, a jednocześnie poziom szumu w rzeczywistych komponentach fizycznych będzie maleć. Osiągnięcie punktu, w którym wielkoskalowe obliczenia kwantowe będą mogły być realizowane odpornie na błędy, nie będzie łatwe i nie nastąpi z dnia na dzień. Jednak to twierdzenie, w połączeniu z postępami w kodach kwantowych i sprzęcie kwantowym, napełnia nas optymizmem, gdy wciąż dążymy do osiągnięcia ostatecznego celu — zbudowania wielkoskalowego, odpornego na błędy komputera kwantowego.
Ankieta po kursie
Gratulujemy ukończenia kursu! Poświęć chwilę i pomóż nam udoskonalić nasz kurs, wypełniając poniższą krótką ankietę. Twoje opinie zostaną wykorzystane do ulepszenia naszych treści i doświadczeń użytkownika. Dziękujemy!
Note: This survey is provided by IBM Quantum and relates to the original English content. To give feedback on doQumentation's website, translations, or code execution, please open a GitHub issue.