O abordare a toleranței la erori
Vom începe prin a schița o abordare de bază a calculului cuantic tolerant la erori bazată pe Circuit-uri cuantice și coduri de corectare a erorilor.
Pentru scopul acestei discuții, să luăm în considerare următorul exemplu de Circuit cuantic. Acesta este un Circuit de teleportare, incluzând pregătirea e-bitului, dar funcționalitatea specifică a Circuit-ului este nerelevantă — este doar un exemplu, și în realitate suntem probabil interesați de Circuit-uri semnificativ mai mari.
Un Circuit ca acesta reprezintă un ideal, iar o implementare reală a lui nu va fi perfectă. Deci ce ar putea merge prost?
Adevărul este că destul de multe lucruri ar putea merge prost! În special, inițializările de stare, operațiile unitare și măsurătorile vor fi toate imperfecte; și qubiții înșiși vor fi susceptibili la zgomot, incluzând decoerența, în fiecare moment al calculului, chiar și atunci când nu se efectuează nicio operație asupra lor și stochează pur și simplu informații cuantice. Cu alte cuvinte, aproape orice ar putea merge prost.
Există totuși o excepție: orice calcule clasice implicate sunt presupuse a fi perfecte — deoarece, practic vorbind, calculele clasice sunt perfecte. De exemplu, dacă decidem să folosim un cod de suprafață pentru corectarea erorilor și un algoritm clasic de potrivire perfectă este rulat pentru a calcula corecțiile, nu trebuie cu adevărat să ne facem griji cu privire la posibilitatea că erorile din acest calcul clasic vor duce la o soluție eronată. Ca alt exemplu, calculele cuantice necesită adesea pre- și post-procesare clasică, iar aceste calcule clasice pot fi de asemenea presupuse a fi perfecte.
Modele de zgomot
Pentru a analiza implementările tolerante la erori ale Circuit-urilor cuantice, avem nevoie de un model matematic precis — un model de zgomot — prin care probabilitățile că diverse lucruri merg prost pot fi asociate. Ipotetic vorbind, s-ar putea încerca să se elaboreze un model de zgomot extrem de detaliat și complicat, care urmărește să reflecte realitatea a ceea ce se întâmplă într-un anumit dispozitiv. Dar, dacă modelul de zgomot este prea complicat sau dificil de raționat, va fi probabil de utilitate limitată. Din acest motiv, modelele de zgomot mai simple sunt mult mai frecvent luate în considerare.
Un exemplu de model de zgomot simplu este modelul de zgomot stocastic independent, în care erorile sau defecțiunile care afectează diferite componente în momente diferite în timp — sau, cu alte cuvinte, diferite locații într-un Circuit cuantic — sunt presupuse a fi independente. De exemplu, fiecare Gate ar putea eșua cu o anumită probabilitate, o eroare ar putea afecta fiecare qubit stocat pe unitate de timp cu o probabilitate diferită, și așa mai departe, fără corelații între diferitele erori posibile.
Acum, este cu siguranță rezonabil să se obiecteze față de un astfel de model, deoarece probabil vor exista corelații între erori în dispozitivele fizice reale. De exemplu, ar putea exista o mică șansă ca o eroare catastrofală să șteargă toți qubiții deodată. Poate mai probabil, ar putea exista erori localizate, dar care afectează totuși mai multe componente dintr-un calculator cuantic. Nimeni nu susține altceva! Cu toate acestea, modelul de zgomot stocastic independent oferă o bază simplă care captează ideea că natura este imprevizibilă dar nu malițioasă, și nu încearcă în mod intenționat să strice calculele cuantice.
Alte modele de zgomot, mai puțin permisive, sunt de asemenea studiate frecvent. De exemplu, o relaxare comună a presupunerii de independență între erorile care afectează diferite locații dintr-un Circuit cuantic este că doar locațiile erorilor sunt independente, dar erorile efective care afectează aceste locații ar putea fi corelate.
Indiferent de ce model de zgomot este ales, trebuie recunoscut că învățarea despre erorile care afectează dispozitivele specifice, și formularea de noi modele de erori dacă cele vechi ne duc pe o cale greșită, ar putea fi potențial o parte importantă a dezvoltării calculului cuantic tolerant la erori.
Implementări de Circuit tolerante la erori
Acum vom lua în considerare o strategie de bază pentru implementările tolerante la erori ale Circuit-urilor cuantice. Vom folosi Circuit-ul de teleportare de mai sus ca exemplu recurent pentru a ilustra strategia, deși ar putea fi aplicată oricărui Circuit cuantic.
Iată o diagramă a unei implementări tolerante la erori a Circuit-ului nostru de teleportare.
Componentele individuale din această diagramă și legătura lor cu Circuit-ul original sunt după cum urmează.
-
Pregătirile de stare, Gate-urile unitare și măsurătorile nu sunt efectuate direct, ca operații simple, ci sunt efectuate prin așa-numitele gadget-uri, care pot implica fiecare mai mulți qubiți și mai multe operații. În diagramă, gadget-urile sunt indicate prin casete violet etichetate cu orice pregătire de stare, Gate sau măsurătoare care urmează să fie implementată.
-
Qubiții logici pe care rulează Circuit-ul original ideal sunt protejați folosind un cod cuantic de corectare a erorilor. În loc să acționeze direct asupra acestor qubiți logici, gadget-urile acționează asupra qubiților fizici care îi codifică. Diagrama sugerează că cinci qubiți fizici sunt folosiți pentru fiecare qubit logic, ca și cum s-ar folosi codul de qubiți, dar numărul ar putea fi în mod natural diferit. Merită subliniat că acești qubiți logici nu sunt niciodată expuși; ei își petrec întreaga existență protejați de orice cod cuantic de corectare a erorilor pe care l-am ales.
-
Corectarea erorilor este efectuată în mod repetat, după cum sugerează casetele albastre etichetate „EC" din diagramă, pe parcursul calculului. Este extrem de important ca aceasta să fie efectuată atât frecvent, cât și în paralel. Pe măsură ce apar erori, entropia se acumulează, iar o muncă constantă este necesară pentru a o elimina din sistem la o rată suficient de mare pentru a permite calculului să funcționeze corect.
Prin urmare, există alegeri specifice care trebuie făcute, inclusiv selecția gadget-urilor, precum și codul cuantic de corectare a erorilor în sine. Odată ce aceste alegeri au fost făcute, și presupunând că a fost adoptat un anumit model de zgomot, există o întrebare fundamentală pe care ni-o putem pune: Oare aceasta ajută cu adevărat? Adică, îmbunătățim lucrurile, sau am putea de fapt să le înrăutățim?
Dacă rata de zgomot este prea mare, întregul proces tocmai sugerat ar putea foarte bine să înrăutățească lucrurile, la fel cum codul Shor de 9 qubiți înrăutățește lucrurile pentru erorile independente dacă probabilitatea de eroare pe fiecare qubit depășește punctul de rentabilitate. Dacă, însă, rata de zgomot este sub un anumit prag, atunci toată această muncă suplimentară ne va duce undeva — și după cum vom discuta spre sfârșitul lecției, se deschid căi pentru reducerea și mai mare a erorilor.