La potenza di un computer quantistico è misurata in qubit, l'unità fondamentale di misura in un computer quantistico. .
Faccio facepalm dopo ogni lettura di una frase simile. Non ha portato a nulla di buono, la vista ha cominciato a deteriorarsi; presto dovrò rivolgermi a Meklon.
Penso sia ora di sistematizzare un po' i parametri principali di un computer quantistico. Ce ne sono diversi:
- Numero di qubit
- Tempo di mantenimento della coerenza (tempo di decoerenza)
- Livello di errori
- Architettura del processore
- Prezzo, disponibilità, condizioni di mantenimento, tempo di ammortamento, strumenti di programmazione, ecc.
Numero di qubit
Qui è tutto ovvio, più ce ne sono, meglio è. In realtà, però, bisogna pagare per i qubit, e in ideale si dovrebbero acquistare esattamente tanti qubit quanti ne servono per eseguire il compito. Per un sviluppatore di slot machine esclusive è sufficiente un qubit per macchina (per generare casualità). Per 'bruteforare' RSA-2048 servono almeno 2048 qubit.
Gli algoritmi quantistici più pubblicizzati portano i nomi di Grover e Shor. Grover permette di "hackerare" gli hash. Per il collasso di Bitcoin sono necessari computer con almeno 256 qubit a bordo (si può intervenire sulla difficoltà di Bitcoin, ma rimaniamo su questo numero tondo). Shor consente di fattorizzare i numeri. Per fattorizzare un numero lungo n bit binari, servono almeno n qubit.
Massimo attuale: 50 qubit (). E infatti, 50 qubit è il limite. Il limite della simulazione di un computer quantistico. In teoria, possiamo simulare qualsiasi numero di qubit su computer classici. Nella pratica, aggiungere un qubit nella simulazione richiede il raddoppio dei computer classici. Aggiungi a questo le voci sul raddoppio dei qubit ogni anno e chiediti: come debug le algorithmi per 25651210242048 qubit? Non esiste un simulatore, su un processore quantistico non puoi impostare un punto di interruzione.
Tempo di mantenimento della coerenza (tempo di decoerenza)
Coerenza e coerenza non sono la stessa cosa. Preferisco paragonare la coerenza alla rigenerazione della memoria RAM. Su un modulo di RAM ci sono miliardi di celle, ognuna delle quali è associata a una carica, che è zero o uno. Questa carica ha una proprietà molto interessante: si degrada. Inizialmente, una cella con valore 'uno' diventa una cella a 0,99, poi a 0,98, e così via. Di conseguenza, nello zero si accumula 0,01, 0,02, 0,03… Bisogna aggiornare questa carica, 'rigenerarla'. Tutto ciò che è inferiore alla metà viene azzerato, tutto il resto viene portato a uno.
I processori quantistici non possono essere rigenerati. Di conseguenza, per tutti i calcoli c'è un solo ciclo, fino al primo qubit 'perdente'. Il tempo fino al primo 'perdite' è chiamato tempo di decoerenza. La coerenza è invece lo stato in cui i qubit non si sono ancora 'persi'. puoi consultare spiegazioni leggermente più avanzate.
La decoerenza è legata al numero di qubit: più qubit ci sono, più difficile è mantenere la coerenza. D'altra parte, con un grande numero di qubit, si può dedicare parte di essi alla correzione degli errori legati alla decoerenza. Da qui deriva, che il numero di qubit di per sé non risolve nulla. Si possono raddoppiare i qubit e spendere il 90% di essi per la correzione della decoerenza.
Qui emerge approssimativamente il concetto di qubit logico. In parole semplici, se hai un processore con 100 qubit, ma 40 di essi sono dedicati alla correzione della decoerenza, ti restano 60 qubit logici. Sono quelli su cui esegui il tuo algoritmo. Il concetto di qubit logici è piuttosto teorico al momento; non ho sentito parlare di implementazioni pratiche.
Errori e loro correzione
Un altro problema dei processori quantistici. Se inverti un qubit, c'è una probabilità del 2% che l'operazione termini con un errore. Se intreccia 2 qubit, la probabilità di errore raggiunge l'8%. Prendi un numero in 256 bit, hashalo con SHA-256, calcola il numero di operazioni e valuta la probabilità di eseguire TUTTE queste operazioni senza errori.
I matematici offrono una soluzione: correzione degli errori. Esistono algoritmi. L'implementazione di un intreccio di 2 qubit logici richiede 100.000 qubit fisici. La fine di Bitcoin non arriverà presto.
Architettura del processore
A rigor, i computer quantistici non esistono. Esistono solo i processori quantistici. A cosa serve la memoria operativa quando il tempo di lavoro è limitato a millisecondi? Programmo in Q#, ma è un linguaggio di alto livello. Ho riservato 15 qubit e puoi farne ciò che vuoi. Se desideri, entropizza il primo qubit con il decimo. Vuoi farlo — entropizza i primi sei.
Su un processore reale, questa libertà non esiste. Se chiedo di entropizzare il primo qubit con il quindicesimo, il compilatore genererà 26 operazioni aggiuntive. Se va bene. Se non va bene, ne genererà un centinaio. Il punto è che un qubit può essere entropizzato solo con i vicini. Non ho mai visto più di 6 vicini per qubit. In linea di principio, esistono compilatori di programmi quantistici ottimizzatori, ma per ora sono piuttosto teorici.
Ogni processore ha il proprio set di istruzioni e le connessioni tra i qubit differiscono. In un mondo ideale, abbiamo Rx, Ry, Rz arbitrari e le loro combinazioni, più l'entropizzazione libera per dieci caratteristiche, più Swap: guarda gli operatori in . Nella realtà, abbiamo alcune coppie di qubit, e l'entropizzazione CNOT (q[0], q[1]) costa un'operazione, mentre CNOT(q[1], q[0]) già 7. E la coerenza svanisce...
Prezzo, disponibilità, condizioni di mantenimento, tempo di ammortamento, strumenti di programmazione…
I prezzi non sono pubblicizzati, la disponibilità per il cittadino comune è praticamente nulla, il tempo di ammortamento non è stato calcolato in pratica, gli strumenti di programmazione sono ancora in fase embrionale. La documentazione è disponibile su arxiv.org.
Quali informazioni dovremmo richiedere agli esperti al momento del rilascio di un nuovo computer quantistico?
Oltre all'elenco sopra, mi piacciono le opzioni da e :
Sarebbe bello se ogni articolo su un nuovo computer quantistico iniziasse con due caratteristiche: il numero di qubit intrecciati e il tempo di retention dei qubit.
O meglio ancora — con il tempo di esecuzione del benchmark più semplice, ad esempio la fattorizzazione del numero 91.
Fonte: habr.com
