Teorema pragului
Ultimul subiect de discuție al lecției este o teoremă foarte importantă, cunoscută drept teorema pragului. Iată o formulare oarecum informală a acestei teoreme.
În termeni simpli, aceasta afirmă că, dacă avem orice Circuit cuantic cu Gate-uri, unde poate fi oricât de mare dorim, atunci este posibil să implementăm acel Circuit cu precizie ridicată folosind un Circuit cuantic zgomotos, cu condiția ca nivelul de zgomot să fie sub o anumită valoare prag independentă de N. Mai mult, nu este prea costisitor să faci asta, în sensul că dimensiunea Circuit-ului zgomotos necesar este de ordinul înmulțit cu o putere constantă a logaritmului lui
Pentru a formula teorema mai formal este necesară specificarea modelului de zgomot, ceea ce nu va fi făcut în această lecție. Aceasta poate fi, de exemplu, dovedită pentru modelul de zgomot stocastic independent menționat anterior, în care erorile apar independent la fiecare locație posibilă din Circuit cu o probabilitate strict mai mică decât valoarea prag, dar poate fi dovedită și pentru modele de zgomot mai generale unde pot exista corelații între erori.
Acesta este un rezultat teoretic, și modul cel mai tipic în care este dovedit nu se traduce neapărat într-o abordare practică, dar are totuși o mare importanță practică. În special, stabilește că nu există nicio barieră fundamentală în calea efectuării calculelor cuantice folosind componente zgomotoase; atâta timp cât rata de erori pentru aceste componente este sub valoarea prag, ele pot fi folosite pentru a construi Circuit-uri cuantice fiabile de dimensiune arbitrară. O modalitate alternativă de a-i exprima importanța este să observăm că, dacă teorema nu ar fi adevărată, ar fi greu să ne imaginăm că calculul cuantic la scară largă ar deveni vreodată o realitate.
Există multe detalii tehnice implicate în dovezile formale ale (formulărilor formale ale) acestei teoreme, iar acele detalii nu vor fi prezentate aici — dar ideile esențiale pot fi totuși explicate la un nivel intuitiv. Pentru a face această explicație cât mai simplă posibil, să ne imaginăm că folosim codul Steane de qubiți pentru corectarea erorilor. Aceasta ar fi o alegere impractică pentru o implementare fizică reală — după cum ar fi reflectat de o valoare prag minusculă — dar funcționează bine pentru a transmite ideile principale. Această explicație va fi, de asemenea, destul de neglijentă cu modelul de zgomot, cu presupunerea că o eroare lovește fiecare locație dintr-o implementare tolerantă la erori în mod independent cu probabilitatea
Acum, dacă probabilitatea este mai mare decât inversul lui , dimensiunea Circuit-ului pe care urmărim să-l implementăm, sunt șanse foarte mari că o eroare va lovi undeva. Deci, putem încerca să rulăm o implementare tolerantă la erori a acestui Circuit, urmând prescripția prezentată în lecție. Ne putem pune apoi întrebarea sugerată anterior: Asta îmbunătățește sau înrăutățește lucrurile?
Dacă probabilitatea a unei erori la fiecare locație este prea mare, atunci eforturile noastre nu vor ajuta și ar putea chiar înrăutăți lucrurile, la fel cum codul Shor de qubiți nu ajută dacă probabilitatea de eroare depășește aproximativ 3,23%. În special, implementarea tolerantă la erori este considerabil mai mare decât Circuit-ul nostru original, deci există mult mai multe locații unde erorile ar putea lovi.
Totuși, dacă este suficient de mic, atunci vom reuși să reducem probabilitatea de eroare pentru calculul logic pe care îl efectuăm. (Într-o dovadă formală, ar trebui să fim foarte atenți în acest punct: erorile din calculul logic nu vor fi neapărat descrise cu precizie de modelul de zgomot original. Aceasta, de fapt, motivează modele de zgomot mai puțin permisive unde erorile ar putea să nu fie independente — dar vom trece peste acest detaliu în scopul acestei explicații.)
Mai în detaliu, pentru ca o eroare logică să apară în Circuit-ul original, cel puțin două erori trebuie să cadă în același bloc de cod din implementarea tolerantă la erori, dat fiind că codul Steane poate corecta orice eroare unică dintr-un bloc de cod. Ținând cont că există multe moduri diferite de a avea două sau mai multe erori în același bloc de cod, este posibil să se argumenteze că probabilitatea unei erori logice la fiecare locație din Circuit-ul original este cel mult pentru un număr real pozitiv fix care depinde de cod și de gadget-urile folosite, dar în mod critic nu de , dimensiunea Circuit-ului original. Dacă este mai mic decât , care este numărul pe care îl putem lua drept valoarea noastră prag , aceasta se traduce într-o reducere a erorilor.
Cu toate acestea, această nouă rată de erori ar putea fi în continuare prea mare pentru a permite ca întreg Circuit-ul să funcționeze corect. Un lucru natural de făcut în acest punct este să alegi un cod mai bun și gadget-uri mai bune pentru a reduce rata de erori la un punct unde implementarea va funcționa probabil. Din punct de vedere teoretic, o modalitate simplă de a argumenta că acest lucru este posibil este să concatenezi. Adică, putem gândi implementarea tolerantă la erori a Circuit-ului original ca și cum ar fi orice alt Circuit cuantic, și apoi implementa acest nou Circuit în mod tolerant la erori, folosind aceeași schemă. Putem face acest lucru din nou și din nou, de câte ori avem nevoie pentru a reduce rata de erori la un nivel care permite calculului original să funcționeze.
Pentru a obține o idee aproximativă despre cum scade rata de erori prin această metodă, să luăm în considerare cum funcționează pentru câteva iterații. Rețineți că o analiză riguroasă ar trebui să țină cont de diverse detalii tehnice pe care le omitem aici.
Începem cu probabilitatea de eroare pentru locațiile din Circuit-ul original. Presupunând că rata de erori logice poate fi mărginită de după prima iterație. Tratând implementarea tolerantă la erori ca orice alt Circuit și implementând-o în mod tolerant la erori, obținem o limită a ratei de erori logice de
O altă iterație reduce și mai mult limita de erori, la
Continuând astfel pentru un total de iterații, se obține o rată de erori logice (pentru Circuit-ul original) mărginită de
care este dublu exponențială în
Asta înseamnă că nu avem nevoie de prea multe iterații pentru a face rata de erori extrem de mică. Între timp, Circuit-urile cresc în dimensiune cu fiecare nivel de concatenare, dar dimensiunea crește doar simplu exponențial în numărul de niveluri Aceasta deoarece, cu fiecare nivel de toleranță la erori, dimensiunea crește cu cel mult un factor determinat de dimensiunea maximă a gadget-urilor utilizate. Atunci când totul este pus cap la cap, și este făcută o alegere adecvată pentru numărul de niveluri de concatenare, obținem teorema pragului.
Deci, care este valoarea reală a acestui prag? Răspunsul depinde de codul și gadget-urile utilizate. Pentru codul Steane împreună cu distilarea stărilor magice, este minusculă și probabil greu de atins în practică. Dar, folosind coduri de suprafață și gadget-uri de ultimă generație, pragul a fost estimat a fi de ordinul 0,1% până la 1%.
Pe măsură ce noi coduri și metode sunt descoperite, este rezonabil să ne așteptăm ca valoarea prag să crească, în timp ce simultan nivelul de zgomot în componentele fizice reale va scădea. Atingerea punctului la care calculele cuantice la scară largă pot fi implementate în mod tolerant la erori nu va fi ușoară și nu se va întâmpla peste noapte. Dar, această teoremă, împreună cu progresele în codurile cuantice și hardware-ul cuantic, ne oferă optimism pe măsură ce continuăm să avansăm spre scopul final de a construi un calculator cuantic tolerant la erori la scară largă.
Sondaj post-curs
Felicitări pentru finalizarea acestui curs! Te rog să aloci un moment pentru a ne ajuta să îmbunătățim cursul completând următorul sondaj rapid. Feedback-ul tău va fi folosit pentru a îmbunătăți conținutul nostru și experiența utilizatorului. Mulțumim!
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.