Perché i protocolli di correzione degli errori funzionano solo quando i tassi di errore sono già significativamente bassi all'inizio?


15

La correzione dell'errore quantistico è un aspetto fondamentale del calcolo quantistico, senza il quale i calcoli quantistici su larga scala sono praticamente irrealizzabili.

Un aspetto del calcolo quantistico a tolleranza d'errore che viene spesso menzionato è che ogni protocollo di correzione degli errori ha associato una soglia del tasso di errore . Fondamentalmente, affinché un determinato calcolo sia protetto dagli errori tramite un determinato protocollo, il tasso di errore delle porte deve essere inferiore a una determinata soglia.

In altre parole, se i tassi di errore delle singole porte non sono abbastanza bassi, non è possibile applicare protocolli di correzione degli errori per rendere il calcolo più affidabile.

Perchè è questo? Perché non è possibile ridurre i tassi di errore che non sono già molto bassi all'inizio?


Bene, ad un certo punto c'è semplicemente solo rumore. È strano che ci sia un punto in cui è più probabile che la correzione degli errori corregga le parti giuste nel rumore?
Lucertola discreta,

1
@Discretelizard non tanto che ce n'è uno forse, ma le soglie sono di solito molto basse (o alte in termini di fedeltà). Perchè è così?
glS

Risposte:


4

Vogliamo confrontare uno stato di uscita con uno stato ideale, così normalmente, la fedeltà, è usato come questo è un buon modo per dire quanto bene i possibili risultati di misurazione di ρ confronto con i possibili risultati di misura di | ψ , dove | ψ è lo stato di uscita ideale e ρ è stato raggiunto (potenzialmente misto) dopo un processo di rumore. Come ci stiamo confrontando gli stati, questo è F ( | ψ , ρ ) = F(|ψ,ρ)ρ|ψ|ψρ

F(|ψ,ρ)=ψ|ρ|ψ.

Descrivendo sia i processi di correzione di rumore e di errore mediante operatori Kraus, dove è il canale rumore con operatori Kraus N i ed E è il canale di correzione dell'errore con Kraus operatori E j , lo stato dopo rumore è ρ ' = N ( | ψ ψ | ) = i N i | ψ ψ | N i e lo stato dopo sia la correzione del rumore che quella dell'errore è ρ = ENNiEEj

ρ=N(|ψψ|)=iNi|ψψ|Ni
ρ=EN(|ψψ|)=i,jEjNi|ψψ|NiEj.

La fedeltà di questo è data da

F(|ψ,ρ)=ψ|ρ|ψ=i,jψ|EjNi|ψψ|NiEj|ψ=i,jψ|EjNi|ψψ|EjNi|ψ=i,j|ψ|EjNi|ψ|2.

Affinché il protocollo di correzione degli errori sia di qualsiasi utilità, vogliamo che la fedeltà dopo la correzione degli errori sia maggiore della fedeltà dopo il rumore, ma prima della correzione degli errori, in modo che lo stato corretto dell'errore sia meno distinguibile dallo stato non corretto. Cioè, vogliamo Questo dà

F(|ψ,ρ)>F(|ψ,ρ).
Poiché la fedeltà è positiva, questa può essere riscritta comei,j| Ψ| EjNi| ψ| 2>i| Ψ| Ni| ψ| 2.
i,j|ψ|EjNi|ψ|2>i|ψ|Ni|ψ|2.
i,j|ψ|EjNi|ψ|2>i|ψ|Ni|ψ|2.

Splitting nella parte correggibile, N c , per la quale EN c ( | ψ ψ | ) = | ψ ψ | e la parte non correggibile, N n c , per la quale EN n c ( | ψ ψ | ) = σ . Indica la probabilità che l'errore sia correggibile come P cNNcENc(|ψψ|)=|ψψ|NncENnc(|ψψ|)=σPce non correggibili (cioè si sono verificati troppi errori per ricostruire lo stato ideale) come i , j | Ψ | E j N i | ψ | 2 = P c + P n cψ | σ | ψ P c , dove l'uguaglianza sarà assunto assumendo ψ | σ | ψ = 0Pnc

i,j|ψ|EjNi|ψ|2=Pc+Pncψ|σ|ψPc,
ψ|σ|ψ=0. Questa è una falsa "correzione" che proietta su un risultato ortogonale a quello corretto.

Per qubit, con una (uguale) probabilità di errore su ciascun qubit come p ( nota : questo non è lo stesso del parametro noise, che dovrebbe essere usato per calcolare la probabilità di un errore), la probabilità di avere un errore correggibile (supponendo che gli n qubit siano stati usati per codificare k qubit, consentendo errori su fino a t qubit, determinato dal limite di Singleton n - k 4 t ) è P cnpnktnk4t

Pc=jt(nj)pj(1p)nj=(1p)n+np(1p)n1+12n(n1)p2(1p)n2+O(p3)=1(nt+1)pt+1+O(pt+2)

Ni=jαi,jPjPj χj,k=iαi,jαi,k

i|ψ|Ni|ψ|2=j,kχj,kψ|Pj|ψψ|Pk|ψχ0,,0,
doveχ0,0=(1p)n è la probabilità chenonsi verifichino errori.

1(nt+1)pt+1(1p)n.
ρ1ppt+1p

ppt+1pn=5t=1p0.29

Modifica dai commenti:

Pc+Pnc=1

i,j|ψ|EjNi|ψ|2=ψ|σ|ψ+Pc(1ψ|σ|ψ).

1(1ψ|σ|ψ)(nt+1)pt+1(1p)n,

1

Ciò dimostra, approssimativamente, che la correzione degli errori, o semplicemente la riduzione dei tassi di errore, non è sufficiente per il calcolo con tolleranza agli errori , a meno che gli errori non siano estremamente bassi, a seconda della profondità del circuito.


Penso che stai cercando di spiegare fino a che tasso di errore fisico la probabilità di errori non corretti è bassa? Si noti che le soglie di tolleranza agli errori sono inferiori (ordini di grandezza per molti codici)
M. Stern,

@ M.Stern Quindi questa è una stima (molto approssimativa) per quando una correzione dell'errore 'diminuisce l'errore' (cioè aumenta la fedeltà di una certa quantità dopo l'applicazione del rumore), quindi sicuramente non è una soglia tollerante ai guasti, no. L'esecuzione della correzione dell'errore potrebbe aver aumentato la fedeltà dopo il rumore di una certa quantità, ma non lo ha ripristinato o altro, quindi la fedeltà diminuirà (e gli errori) si propagheranno anche se la correzione dell'errore viene costantemente applicata, mostrando la correzione dell'errore di per sé non è sufficiente per la tolleranza agli errori
Mithrandir24601

Hm, glS dovrà giudicare se questo risponde alla domanda. In ogni caso è interessante e ben scritto. Quindi supponi che lo stato sia ortogonale se gli errori non fossero correggibili, giusto? (Questo è certamente ragionevole in molti scenari.) L'altro estremo sarebbe quando c'è una probabilità 50/50 di un errore logico in caso di errori non correggibili.
M. Stern,

@ M.Stern Grazie! Sì, o che gli stati sono ortogonali o che prendono il limite inferiore. Dato che confrontare un limite inferiore con un altro non è una grande idea, ho pensato che fossero ortogonali. Se hai qualche modifica che ritieni utile aggiungere alla fine di questo, lavora via! Hmm ... Penso che cogliere una probabilità del 50/50 di errore logico porterebbe allo stesso risultato, solo con diversi prefattori alla fine
Mithrandir24601

4

C'è già una buona risposta matematica, quindi cercherò di fornirne una facile da capire.

La correzione quantistica degli errori (QEC) è un (gruppo di) algoritmi piuttosto complessi che richiedono molte azioni (gate) su e tra i qubit. In QEC, si collegano praticamente due qubit a un terzo helper-qubit (ancilla) e si trasferiscono le informazioni se gli altri due sono uguali (in qualche modo specifico) in quel terzo qubit. Quindi leggi le informazioni su ancialla. Se ti dice che non sono uguali, agisci su tali informazioni (applica una correzione). Quindi come può andare storto se i nostri qubit e cancelli non sono perfetti?

QEC può far decadere le informazioni memorizzate nei qubit. Ognuna di queste porte può decadere le informazioni in esse memorizzate, se non vengono eseguite alla perfezione. Quindi, se solo eseguire il QEC distrugge più informazioni di quante ne recuperi in media, è inutile.

Pensi di aver trovato un errore, ma non l'hai fatto. Se il confronto (esecuzione di cancelli) o la lettura delle informazioni (ancilla) è imperfetto, è possibile ottenere informazioni errate e quindi applicare "correzioni errate" (leggi: introdurre errori). Inoltre, se le informazioni contenute nelle ancillas decadono (o vengono modificate dal rumore) prima che tu possa leggerle, otterrai anche letture errate.

L'obiettivo di ogni QEC è ovviamente quello di introdurre meno errori di quelli corretti, quindi è necessario ridurre al minimo gli effetti di cui sopra. Se fai tutti i calcoli, trovi requisiti piuttosto rigidi su qubit, porte e letture (a seconda dell'esatto algoritmo QEC che hai scelto).


4

Versione classica

000000111111
01010.
p

p>12

01010

Versione quantistica

XZ

|ψNN/2N/2Ndimostrazione di clonazione|ψ


2

A me sembrano esserci due parti di questa domanda (una più legata al titolo, una più legata alla domanda stessa):

1) A quale quantità di rumore sono efficaci i codici di correzione errori?
2) Con quale quantità di imperfezione nei cancelli possiamo implementare calcoli quantistici a tolleranza d'errore?

Consentitemi di sottolineare la differenza: i codici di correzione dell'errore quantistico possono essere utilizzati in molti scenari diversi, ad esempio per correggere le perdite nelle trasmissioni. Qui la quantità di rumore dipende principalmente dalla lunghezza della fibra ottica e non dall'imperfezione delle porte. Tuttavia, se vogliamo implementare il calcolo quantico tollerante ai guasti, le porte sono la principale fonte di rumore.

1)

1/2f(p)=p

tracciare il tasso di errore fisico vs logico

Quindi ogni volta che il tasso di errore fisico p1/2ppO(p)O(p2)

Il 2)

Vogliamo eseguire calcoli quantistici arbitrariamente lunghi con un computer quantistico. Tuttavia, le porte quantistiche non sono perfette. Per far fronte agli errori introdotti dalle porte, usiamo i codici quantici di correzione degli errori. Ciò significa che un qubit logico è codificato in molti qubit fisici. Questa ridondanza consente di correggere una certa quantità di errori sui qubit fisici, in modo che le informazioni memorizzate nel qubit logico rimangano intatte. Codici più grandi consentono calcoli più lunghi per essere ancora precisi . Tuttavia, codici più grandi coinvolgono più porte (ad esempio più misurazioni della sindrome) e queste porte introducono rumore. Vedete che c'è un compromesso qui, e quale codice è ottimale non è ovvio.
Se il rumore introdotto da ciascuna porta è al di sotto di una soglia (la soglia di tolleranza di errore o precisione), è possibile aumentare la dimensione del codice per consentire calcoli arbitrariamente lunghi. Questa soglia dipende dal codice con cui abbiamo iniziato (di solito è concatenata iterativamente con se stessa). Esistono diversi modi per stimare questo valore. Spesso viene eseguito mediante simulazione numerica: introdurre errori casuali e verificare se il calcolo ha ancora funzionato. Questo metodo in genere fornisce valori soglia troppo alti. Ci sono anche alcune prove analitiche in letteratura, ad esempio questa di Aliferis e Cross .


Il secondo paragrafo tocca i punti giusti, ma è ancora molto qualitativo. Stai dicendo che hai bisogno delle porte introdotte dal protocollo di correzione degli errori per ridurre il tasso di errore più di quanto non lo aumentino. Tuttavia, come si passa da questa idea intuitiva a una stima quantitativa effettiva oltre la soglia? Inoltre, ciò implica una soglia inferiore universale che nessun protocollo di correzione degli errori può superare?
glS

@glS Sospetto che esista una "soglia inferiore universale", ovvero un valore di errore al di sopra del quale non esistono protocolli di correzione tolleranti ai guasti. Tuttavia, il valore dovrebbe dipendere sia dal set di gate sia dal modello di errore. Le persone tendono ad essere più interessate ai risultati positivi qui (mostrando l'esistenza di un buon protocollo di tolleranza agli errori). Potrebbe essere interessante trovare limiti superiori per vedere "quanto spazio ci resta" nel migliorare i nostri schemi di tolleranza agli errori. Immagino che non sia rimasto molto spazio.
Jalex Stark,

@glS Hai ragione, alcuni calcoli quantitativi effettivi migliorerebbero questa risposta. Penso che questi calcoli vengano generalmente eseguiti in modo numerico? Ma voglio anche sapere di questo
M. Stern,

@JalexStark Cosa ti fa pensare che non sia rimasto molto spazio? Ad esempio, il codice di superficie non sembra essere ottimizzato rispetto a questa soglia. Utilizza solo le interazioni vicine più vicine su un reticolo e potresti fare molto di più in generale.
M. Stern,

@ M.Stern Non ho prove basate sul teorema e non sono un esperto della zona. Stavo solo indovinando in base alla quantità di lavoro svolto e all'ampiezza delle soglie migliori.
Jalex Stark,

2

XIIIIYIIIIZIIIIIXIIIIYIIIIZIIIIIXIIIIYIIIIZIIIIIXIIIIYIIIIZIIIIIXIIIIYIIIIZIIIIIXYZI

La parte principale del motivo è, tuttavia, che non è possibile utilizzare i circuiti di rilevamento degli errori diretti: ogni CNOT (o ogni altro 2 o più gate qubit non banali) inoltra gli errori in un qubit a un altro qubit che sarebbe disastroso per i più banali caso di un singolo errore di qubit che corregge il codice e comunque pessimo per codici più sofisticati. Quindi un'implementazione (utile) tollerante ai guasti richiede ancora più sforzi di quanto si possa pensare ingenuamente.

Con molte porte per errore che corregge il passaggio, è possibile consentire solo un tasso di errore molto basso per passaggio. Qui sorge ancora un altro problema: poiché potresti avere errori coerenti, devi essere pronto per il caso peggiore che un erroreϵNϵN2ϵ

Un esempio di errore coerente è l'implementazione di un gate GGG+ϵXϵϵXNGN+NϵGNXNϵN2ϵ

Gli errori incoerenti sono più benigni. Tuttavia, se si deve dare un singolo valore come soglia di errore, non si può scegliere di assumere solo errori benigni!


N2ϵNϵ

@glS Ho sostanzialmente ampliato la risposta per rispondere a tutte le tue domande. Sono riuscito a farlo?
piramidi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.