La potenza di un computer quantistico si misura in qubit, l'unità di misura di base in un computer quantistico. .
Faccio un facepalm dopo ogni lettura di una frase del genere. Questo non porta a nulla di buono; la vista sta già iniziando a diminuire; presto dovrò consultare Meklon.
Penso sia ora di sistematizzare alcuni dei principali parametri 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 evidente: più ce ne sono, meglio è. In realtà, però, i qubit hanno un costo, e idealmente dovresti acquistare esattamente il numero di qubit necessario per svolgere il compito. Per uno sviluppatore di macchine da gioco esclusive è sufficiente un qubit per macchina (per generare casualità). Per il 'brute force' RSA-2048 servono almeno 2048 qubit.
Gli algoritmi quantistici più chiacchierati sono quelli di Grover e Shor. Grover consente di 'hackerare' gli hash. Per il crollo di Bitcoin servono computer con almeno 256 qubit a bordo (si può smanettare con la difficoltà di Bitcoin, ma fermiamoci su questo numero rotondo). Shor permette di fattorizzare i numeri. Per fattorizzare un numero lungo n bit sono necessari almeno n qbit.
Massimo attuale: 50 qubit (). E in effetti, 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, l'aggiunta di un qubit nella simulazione richiede un raddoppio dei computer classici. Aggiungi a questo le voci riguardanti il raddoppio dei qubit ogni anno e chiediti: come debuggarli algoritmi per 25651210242048 qubit? Non c'è un simulatore, non puoi impostare un breakpoint su un processore quantistico.
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 RAM ci sono miliardi di celle, ognuna carica di un valore, zero o uno. Questa carica ha una caratteristica molto interessante: si accumula. Inizialmente, una cella 'uno' diventa una cella a 0.99, poi 0.98, e così via. Di conseguenza, sulla 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. Pertanto, per tutti i calcoli c'è un solo ciclo, fino al primo "cubito che perde colpi". Il tempo fino al primo "perdite" si chiama tempo di decoerenza. La coerenza, invece, è uno stato in cui i cubiti non sono ancora 'perduti'. puoi guardare spiegazioni un po' più mature.
La decoerenza è correlata al numero di cubiti: più cubiti ci sono, più è difficile mantenere la coerenza. D'altra parte, con un gran numero di cubiti è possibile utilizzare alcuni di essi per correggere gli errori legati alla decoerenza. Da qui deriva, che il numero di cubiti di per sé non risolve nulla. Puoi raddoppiare il numero di cubiti e spendere il 90% di essi per fissare la decoerenza.
Qui si introduce il concetto di cubito logico. Grosso modo, se hai un processore da 100 cubiti, ma 40 di essi sono destinati a fissare la decoerenza, ti restano 60 cubiti logici. Quelli su cui esegui il tuo algoritmo. Il concetto di cubiti logici è attualmente più teorico; personalmente non ho sentito parlare di implementazioni pratiche.
Errori e loro correzione
Un altro flagello dei processori quantistici. Se inverti un cubito, con una probabilità del 2% l'operazione si concluderà con un errore. Se intrecci 2 cubiti, la probabilità di errore raggiunge l'8%. Prendi un numero di 256 bit, esegui l'hashing su SHA-256, calcola il numero di operazioni, calcola la probabilità di eseguire TUTTE queste operazioni senza errori.
I matematici offrono una soluzione: correzione degli errori. Ci sono algoritmi. L'implementazione di un intreccio di 2 cubiti logici richiede 100.000 cubiti fisici. La crisi della criptovaluta non arriverà presto.
Architettura del processore
In realtà, non esistono computer quantistici. Ci sono solo processori quantistici. A cosa serve la memoria se il tempo di lavoro è limitato a millisecondi? Programmo in Q#, ma è un linguaggio di alto livello. Ho riservato 15 qubit, e fai con loro quello che vuoi. Se lo desideri, intreccia il primo qubit con il decimo. Se vuoi, intreccia i primi sei.
Su un processore reale non hai questa libertà. Se chiedi di intrecciare il primo qubit con il 15 — il compilatore genererà 26 operazioni aggiuntive. Se sei fortunato. Se non sei fortunato — ne genererà una centinaia. Il punto è che un qubit può intrecciarsi solo con i vicini. Non ho mai visto più di sei vicini per un qubit. In teoria, ci sono compilatori di programmi quantistici ottimizzanti, ma sono ancora piuttosto teorici.
Ogni processore ha il suo insieme di istruzioni, e le connessioni tra i qubit variano. In un mondo ideale abbiamo Rx, Ry, Rz arbitrari, e le loro combinazioni, oltre a un libero intreccio di dieci caratteristiche, più Swap: guarda gli operatori in . Nella realtà, abbiamo alcune coppie di qubit, e l'intreccio 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 vengono divulgati, la disponibilità per il cittadino medio è praticamente zero, il tempo di ammortamento non è stato calcolato nella pratica, gli strumenti di programmazione sono solo in fase di sviluppo. Documentazione su arxiv.org.
Quali informazioni dovremmo richiedere agli esperti al momento del lancio di un nuovo computer quantistico?
Oltre alla lista qui sopra, mi piacciono le opzioni da e :
Vorrei che ogni articolo su un nuovo computer quantistico iniziasse con due caratteristiche — il numero di qubit intrecciati simultaneamente, e il tempo di mantenimento dei qubit. O meglio ancora — con il tempo di esecuzione del più semplice benchmark, ad esempio la fattorizzazione dei numeri primi del numero 91.
La potenza di un computer quantistico è misurata in qubit, l'unità di misura base in un computer quantistico. Fonte.
Fonte: habr.com
