Vai al contenuto principale

Teorema della soglia

L'ultimo argomento della lezione è un teorema molto importante noto come teorema della soglia. Di seguito ne viene riportata una formulazione informale.

Teorema

Il teorema della soglia: un circuito quantistico di dimensione NN può essere implementato con elevata precisione da un circuito quantistico rumoroso, a condizione che la probabilità di errore in ciascuna posizione del circuito rumoroso sia inferiore a un valore di soglia fisso e non nullo pth>0.p_{\text{th}} > 0. La dimensione del circuito rumoroso scala come O(Nlogc(N))O(N \log^c(N)) per una costante positiva c.c.

In termini semplici, il teorema afferma che se abbiamo un qualsiasi circuito quantistico con NN gate, dove NN può essere arbitrariamente grande, è possibile implementare quel circuito con elevata precisione utilizzando un circuito quantistico rumoroso, purché il livello di rumore sia inferiore a un certo valore di soglia indipendente da NN. Inoltre, il costo di questa operazione non è eccessivo: la dimensione del circuito rumoroso richiesto è dell'ordine di NN moltiplicato per una potenza costante del logaritmo di N.N.

Per formulare il teorema in modo più formale occorre specificare il modello di rumore, cosa che non verrà fatta in questa lezione. Esso può, ad esempio, essere dimostrato per il modello di rumore stocastico indipendente menzionato in precedenza, in cui gli errori si verificano indipendentemente in ogni possibile posizione del circuito con una probabilità strettamente inferiore al valore di soglia, ma può essere dimostrato anche per modelli di rumore più generali in cui possono esserci correlazioni tra gli errori.

Questo è un risultato teorico, e il modo più comune in cui viene dimostrato non si traduce necessariamente in un approccio pratico, ma ha comunque grande importanza pratica. In particolare, stabilisce che non esiste alcuna barriera fondamentale all'esecuzione di computazioni quantistiche con componenti rumorosi: finché il tasso di errore di questi componenti è inferiore al valore di soglia, possono essere utilizzati per costruire circuiti quantistici affidabili di dimensione arbitraria. Un modo alternativo di coglierne l'importanza è osservare che, se il teorema non fosse vero, sarebbe difficile immaginare che il calcolo quantistico su larga scala possa mai diventare realtà.

Ci sono molti dettagli tecnici nelle dimostrazioni formali di (formulazioni formali di) questo teorema, e tali dettagli non verranno trattati qui — ma le idee essenziali possono comunque essere spiegate a livello intuitivo. Per rendere questa spiegazione il più semplice possibile, immaginiamo di usare il codice di Steane a 77 qubit per la correzione degli errori. Questa sarebbe una scelta impratica per un'implementazione fisica reale — come si rifletterebbe in un valore di soglia pthp_{\text{th}} minuscolo — ma funziona bene per trasmettere le idee principali. Questa spiegazione sarà anche piuttosto disinvolta riguardo al modello di rumore, con l'assunzione che un errore colpisca ogni posizione in un'implementazione fault-tolerant in modo indipendente con probabilità p.p.

Ora, se la probabilità pp è maggiore del reciproco di N,N, la dimensione del circuito che vogliamo implementare, è molto probabile che un errore si verifichi da qualche parte. Possiamo quindi tentare di eseguire un'implementazione fault-tolerant di questo circuito, seguendo la procedura descritta nella lezione. Possiamo poi porci la domanda suggerita in precedenza: stiamo migliorando le cose o peggiorandole?

Se la probabilità pp di un errore in ciascuna posizione è troppo grande, i nostri sforzi non aiuteranno e potrebbero addirittura peggiorare la situazione, proprio come il codice di Shor a 99 qubit non aiuta se la probabilità di errore supera circa il 3,23%. In particolare, l'implementazione fault-tolerant è considerevolmente più grande del circuito originale, quindi ci sono molte più posizioni in cui gli errori potrebbero verificarsi.

Tuttavia, se pp è sufficientemente piccolo, riusciremo a ridurre la probabilità di errore per la computazione logica che stiamo eseguendo. (In una dimostrazione formale, bisognerebbe essere molto attenti a questo punto: gli errori nella computazione logica non saranno necessariamente descritti accuratamente dal modello di rumore originale. Questo, di fatto, motiva modelli di rumore meno permissivi in cui gli errori potrebbero non essere indipendenti — ma tralasceremo questo dettaglio per semplicità.)

In maggior dettaglio, affinché si verifichi un errore logico nel circuito originale, almeno due errori devono cadere nello stesso blocco di codice nell'implementazione fault-tolerant, dato che il codice di Steane può correggere qualsiasi singolo errore in un blocco di codice. Tenendo presente che ci sono molti modi diversi di avere due o più errori nello stesso blocco di codice, è possibile argomentare che la probabilità di un errore logico in ciascuna posizione del circuito originale è al più Cp2C p^2 per qualche numero reale positivo fisso CC che dipende dal codice e dai gadget utilizzati, ma in modo cruciale non da N,N, la dimensione del circuito originale. Se pp è inferiore a 1/C,1/C, che è il valore che possiamo prendere come valore di soglia pth,p_{\text{th}}, questo si traduce in una riduzione dell'errore.

Tuttavia, questo nuovo tasso di errore potrebbe essere ancora troppo alto per permettere all'intero circuito di funzionare correttamente. Una cosa naturale da fare a questo punto è scegliere un codice migliore e gadget migliori per ridurre il tasso di errore fino a un livello in cui l'implementazione abbia buone probabilità di funzionare. Dal punto di vista teorico, un modo semplice per argomentare che questo è possibile è quello di concatenare. Vale a dire, possiamo pensare all'implementazione fault-tolerant del circuito originale come se fosse qualsiasi altro circuito quantistico, e poi implementare questo nuovo circuito in modo fault-tolerant, usando lo stesso schema. Possiamo poi ripetere questo processo tante volte quante sono necessarie per ridurre il tasso di errore a un livello che permetta alla computazione originale di funzionare.

Per avere un'idea approssimativa di come il tasso di errore diminuisce con questo metodo, consideriamo come funziona per alcune iterazioni. Si noti che un'analisi rigorosa dovrebbe tener conto di vari dettagli tecnici che stiamo omettendo qui.

Partiamo dalla probabilità di errore pp per le posizioni nel circuito originale. Assumendo che p<pth=1/C,p < p_{\text{th}} = 1/C, il tasso di errore logico può essere limitato da Cp2=(Cp)pCp^2 = (Cp) p dopo la prima iterazione. Trattando l'implementazione fault-tolerant come qualsiasi altro circuito, e implementandola in modo fault-tolerant, otteniamo un limite sul tasso di errore logico di

C((Cp)p)2=(Cp)3p.C \bigl((Cp) p \bigr)^2 = (Cp)^3 p.

Un'ulteriore iterazione riduce ulteriormente il limite sull'errore, a

C((Cp)3p)2=(Cp)7p.C \bigl((Cp)^3 p \bigr)^2 = (Cp)^7 p.

Continuando in questo modo per un totale di kk iterazioni si ottiene un tasso di errore logico (per il circuito originale) limitato da

(Cp)2k1p,(Cp)^{2^k - 1} p,

che è doppiamente esponenziale in k.k.

Questo significa che non servono molte iterazioni per rendere il tasso di errore estremamente piccolo. Nel frattempo, i circuiti crescono di dimensione a ogni livello di concatenazione, ma la dimensione aumenta solo singolarmente in modo esponenziale nel numero di livelli k.k. Questo perché, con ogni livello di fault-tolerance, la dimensione cresce di al più un fattore determinato dalla dimensione massima dei gadget utilizzati. Quando si mette tutto insieme e si sceglie un numero appropriato di livelli di concatenazione, si ottiene il teorema della soglia.

Quindi, qual è questo valore di soglia nella realtà? La risposta dipende dal codice e dai gadget utilizzati. Per il codice di Steane insieme alla distillazione di magic state, è minuscolo e probabilmente difficile da raggiungere in pratica. Ma, usando i surface code e gadget all'avanguardia, la soglia è stata stimata essere dell'ordine dallo 0,1% all'1%.

Man mano che vengono scoperti nuovi codici e nuovi metodi, è ragionevole aspettarsi che il valore di soglia aumenti, mentre allo stesso tempo il livello di rumore nei componenti fisici reali diminuirà. Raggiungere il punto in cui computazioni quantistiche su larga scala possono essere implementate in modo fault-tolerant non sarà facile, e non avverrà dall'oggi al domani. Ma questo teorema, insieme ai progressi nei codici quantistici e nell'hardware quantistico, ci fornisce ottimismo mentre continuiamo a spingere avanti per raggiungere l'obiettivo finale di costruire un computer quantistico fault-tolerant su larga scala.

Sondaggio post-corso

Congratulazioni per aver completato questo corso! Prenditi un momento per aiutarci a migliorare il corso compilando il seguente breve sondaggio. Il tuo feedback verrà utilizzato per migliorare i nostri contenuti e l'esperienza utente. Grazie!