Un approccio alla tolleranza ai guasti
Inizieremo delineando un approccio di base al calcolo quantistico fault-tolerant basato su circuiti quantistici e codici di correzione degli errori.
Per questa discussione, consideriamo il seguente esempio di circuito quantistico. Si tratta di un circuito di teletrasporto, che include la preparazione dell'e-bit, ma la funzionalità specifica del circuito è irrilevante — è solo un esempio, e in realtà è probabile che ci interessi lavorare con circuiti significativamente più grandi.
Un circuito come questo rappresenta un ideale, e una sua implementazione reale non sarà perfetta. Quindi, cosa potrebbe andare storto?
La verità è che moltissime cose potrebbero andare storto! In particolare, le inizializzazioni degli stati, le operazioni unitarie e le misurazioni saranno tutte imperfette; e i qubit stessi saranno soggetti al rumore, inclusa la decoerenza, in ogni momento della computazione, anche quando non vengono eseguite operazioni su di essi e stanno semplicemente memorizzando informazioni quantistiche. In altre parole, praticamente tutto potrebbe andare storto.
C'è però un'eccezione: si assume che qualsiasi calcolo classico coinvolto sia perfetto — perché, in pratica, i calcoli classici sono perfetti. Ad esempio, se decidiamo di usare un surface code per la correzione degli errori e viene eseguito un algoritmo classico di perfect matching per calcolare le correzioni, non è necessario preoccuparsi della possibilità che errori in questo calcolo classico portino a una soluzione errata. Come altro esempio, i calcoli quantistici spesso richiedono pre- e post-elaborazione classica, e anche questi calcoli classici possono tranquillamente essere assunti come perfetti.
Modelli di rumore​
Per analizzare implementazioni fault-tolerant di circuiti quantistici, è necessario un preciso modello matematico — un modello di rumore — tramite il quale possono essere associate probabilità che varie cose vadano storto. In teoria, si potrebbe cercare di elaborare un modello di rumore molto dettagliato e complicato, che miri a riflettere la realtà di ciò che accade in un dispositivo specifico. Tuttavia, se il modello di rumore è troppo complicato o difficile da ragionare, avrà probabilmente un'utilità limitata. Per questo motivo, vengono considerati molto più comunemente modelli di rumore più semplici.
Un esempio di modello di rumore semplice è il modello di rumore stocastico indipendente, in cui si assume che errori o guasti che colpiscono componenti diverse in momenti diversi — o, in altre parole, diverse posizioni in un circuito quantistico — siano indipendenti. Ad esempio, ogni gate potrebbe fallire con una certa probabilità , un errore potrebbe colpire ogni qubit memorizzato per unità di tempo con una probabilità diversa, e così via, senza correlazioni tra i diversi possibili errori.
Ora, è certamente ragionevole obiettare a tale modello, perché probabilmente ci saranno correlazioni tra gli errori nei dispositivi fisici reali. Ad esempio, potrebbe esserci una piccola probabilità di un errore catastrofico che distrugge tutti i qubit contemporaneamente. Forse ancora più probabile, potrebbero esserci errori localizzati che tuttavia colpiscono più componenti di un computer quantistico. Nessuno sostiene il contrario! Ciononostante, il modello di rumore stocastico indipendente fornisce una base semplice che cattura l'idea che la natura sia imprevedibile ma non malevola, e che non stia cercando intenzionalmente di rovinare i calcoli quantistici.
Vengono comunemente studiati anche altri modelli di rumore meno indulgenti. Ad esempio, un'assunzione meno restrittiva rispetto all'indipendenza degli errori che colpiscono posizioni diverse in un circuito quantistico è che solo le posizioni degli errori siano indipendenti, ma gli errori effettivi che colpiscono queste posizioni possano essere correlati.
Indipendentemente dal modello di rumore scelto, è importante riconoscere che conoscere gli errori che colpiscono dispositivi specifici, e formulare nuovi modelli di errore se quelli vecchi ci portano fuori strada, potrebbe essere una parte importante dello sviluppo del calcolo quantistico fault-tolerant.
Implementazioni fault-tolerant dei circuiti​
Consideriamo ora una strategia di base per le implementazioni fault-tolerant dei circuiti quantistici. Utilizzeremo il circuito di teletrasporto visto sopra come esempio ricorrente per illustrare la strategia, sebbene possa essere applicata a qualsiasi circuito quantistico.
Ecco un diagramma di un'implementazione fault-tolerant del nostro circuito di teletrasporto.
I singoli componenti di questo diagramma e il loro collegamento al circuito originale sono i seguenti.
-
Le preparazioni degli stati, i gate unitari e le misurazioni non vengono eseguiti direttamente come singole operazioni, ma vengono realizzati tramite i cosiddetti gadget, che possono coinvolgere ciascuno più qubit e più operazioni. Nel diagramma, i gadget sono indicati da riquadri viola etichettati con la preparazione dello stato, il gate o la misurazione da implementare.
-
I qubit logici su cui viene eseguito il circuito originale ideale sono protetti mediante un codice di correzione degli errori quantistici. Invece di agire direttamente su questi qubit logici, i gadget agiscono sui qubit fisici che li codificano. Il diagramma suggerisce che vengono utilizzati cinque qubit fisici per ogni qubit logico, come se si stesse usando il codice a qubit, ma il numero potrebbe naturalmente essere diverso. Vale la pena sottolineare che questi qubit logici non vengono mai esposti; trascorrono tutta la loro esistenza protetti da qualsiasi codice di correzione degli errori quantistici scelto.
-
La correzione degli errori viene eseguita ripetutamente, come suggerito dai riquadri blu etichettati "EC" nel diagramma, durante tutta la computazione. È di fondamentale importanza che questo venga fatto sia frequentemente che in parallelo. Man mano che si verificano errori, l'entropia si accumula, ed è necessario un lavoro costante per rimuoverla dal sistema a una velocità sufficientemente alta da consentire alla computazione di funzionare correttamente.
Devono quindi essere effettuate scelte specifiche, tra cui la selezione dei gadget e del codice di correzione degli errori quantistici stesso. Una volta effettuate queste scelte, e assumendo un particolare modello di rumore, c'è una domanda fondamentale che possiamo porci: Tutto questo sta davvero aiutando? Cioè, stiamo migliorando le cose, o potremmo effettivamente peggiorarle?
Se il tasso di rumore è troppo alto, l'intero processo appena suggerito potrebbe ben peggiorare le cose, proprio come il codice di Shor a 9 qubit peggiora la situazione per errori indipendenti se la probabilità di errore su ciascun qubit supera il punto di pareggio. Se, tuttavia, il tasso di rumore è al di sotto di una certa soglia, allora tutto questo lavoro aggiuntivo ci porterà da qualche parte — e come discuteremo verso la fine della lezione, si aprono percorsi per ulteriori riduzioni degli errori.