Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

I computer quantistici e i calcoli quantistici sono una nuova buzzword, che si è aggiunta al nostro panorama informativo insieme a intelligenza artificiale, machine learning e ad altri termini ad alta tecnologia. Eppure, non sono riuscito a trovare in rete materiale che mi permettesse di comporre il puzzle intitolato “come funzionano i computer quantistici”. Sì, ci sono molti ottimi lavori, inclusi quelli su Habr (vedi Elenco delle risorse), i commenti ai quali, come spesso accade, sono ancora più informativi e utili, ma la visione complessiva, insomma, non si delineava.

Di recente, alcuni colleghi mi si sono avvicinati e hanno chiesto “Capisci come funziona un computer quantistico? Puoi spiegarcelo?” E lì ho capito che il problema di comporre una visione chiara non era solo mio.

Ne è seguita un'analisi per compilare informazioni sui computer quantistici in uno schema logico coerente, in cui a un livello di base, senza un'immersione profonda nella matematica e nella struttura del mondo quantistico, è stato spiegato cos'è un computer quantistico, su quali principi si basa e quali problemi affrontano gli scienziati nella sua creazione e utilizzazione.


Indice

Disclaimer

(torna all'indice)

L'autore non è uno specialista in calcoli quantistici e il pubblico target dell'articolo sono altri professionisti IT, non esperti in quantistica, che vogliono anche loro capire come funzionano i computer quantistici. Per questo motivo, molti concetti nell'articolo sono stati volutamente semplificati per una migliore comprensione delle tecnologie quantistiche a un livello ‘base’, ma senza semplificazioni eccessive che comporterebbero la perdita di informatività e adeguatezza..

Nell'articolo, in alcune parti sono utilizzati materiali di altre fonti, la cui lista è riportata alla fine dell'articolo.. Dovunque fosse possibile, sono stati inseriti collegamenti diretti e riferimenti al testo originale, tabelle o illustrazioni. Se ho dimenticato qualcosa (o qualcuno), scrivimi e lo correggerò.

Introduzione

(torna all'indice)

In questo capitolo daremo una breve occhiata a come è iniziata l'era quantistica, quali sono state le motivazioni per l'idea del computer quantistico, chi (quali paesi e aziende) sono attualmente i principali attori in questo campo, e parleremo brevemente delle principali direzioni nello sviluppo dei calcoli quantistici.

Come è iniziato tutto

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Il punto di inizio dell'era quantistica è considerato il 1900, quando M. Planck propose per la prima volta l'ipotesi che l'energia venga emessa e assorbita non in modo continuo, ma in quanti (porzioni) separate. Questa idea è stata raccolta e sviluppata da molti scienziati di spicco dell'epoca — Bohr, Einstein, Heisenberg, Schrödinger, il che ha portato, in ultima analisi, alla creazione e allo sviluppo di una disciplina come la fisica quantistica. Ci sono molte buone risorse online sullo sviluppo della fisica quantistica come disciplina; in questo articolo non ci soffermeremo su questo aspetto, ma era necessario indicare la data in cui siamo entrati in una nuova era quantistica.

La fisica quantistica ha portato nella nostra vita quotidiana molte invenzioni e tecnologie, senza le quali è difficile immaginare il mondo che ci circonda. Ad esempio, il laser, che ora viene utilizzato ovunque, dalla tecnologia domestica (livelli laser e altro) a sistemi ad alta tecnologia (laser per la correzione della vista, saluti meklon ). Sarebbe logico supporre che prima o poi qualcuno avrebbe proposto l'idea di utilizzare sistemi quantistici per i calcoli. E così, nel 1980, è successo.

Wikipedia indica che la prima idea dei calcoli quantistici è stata formulata nel 1980 dal nostro scienziato Yuri Manin. Tuttavia, se n'è iniziato a parlare realmente solo nel 1981, quando il noto R. Feynman ha tenuto una relazione alla prima conferenza sulla fisica dei calcoli, tenutasi presso il Massachusetts Institute of Technology., ha osservato che non è possibile modellare l'evoluzione di un sistema quantistico su un computer classico in modo efficace. Ha proposto un modello elementare di computer quantistico, che sarà in grado di effettuare tale modellazione.

In rete c'è questo lavoro, in cui cronologia dello sviluppo dei calcoli quantistici , viene considerata in modo più accademico e dettagliato, noi daremo solo una breve panoramica:

Principali tappe nella storia della creazione dei computer quantistici:

Come potete vedere, sono passati 17 anni (dal 1981 al 1998) dall'idea alla sua prima realizzazione in un computer con 2 qubit, e 21 anni (dal 1998 al 2019) fino a quando il numero di qubit è aumentato a 53. Ci sono voluti 11 anni (dal 2001 al 2012) per migliorare il risultato dell'algoritmo di Shor (di cui parleremo più dettagliatamente tra poco) da 15 a 21. Solo tre anni fa siamo arrivati al punto di realizzare ciò di cui parlava Feynman e di riuscire a modellare i sistemi fisici più semplici.

Lo sviluppo dei computer quantistici progredisce lentamente. Gli scienziati e gli ingegneri affrontano compiti molto complessi, gli stati quantistici sono molto effimeri e fragili, e per mantenerli a lungo abbastanza per eseguire calcoli è necessario costruire sarcofagi da decine di milioni di dollari, che mantengono una temperatura leggermente sopra lo zero assoluto e sono massimamente protetti dagli impatti esterni. Nei prossimi paragrafi parleremo di queste sfide e problemi in modo più dettagliato.

Attori principali

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Le slide per questa sezione sono tratte dall'articolo Computer quantistico: una grande sfida in aumento. Lezione in Yandex, da un ricercatore Centro quantistico russo Aleksej Fëdorov. Permettetemi di citare direttamente:

Tutti i paesi tecnologicamente avanzati stanno attualmente investendo attivamente nello sviluppo delle tecnologie quantistiche. Vengono destinati enormi finanziamenti a queste ricerche, e vengono create programmi speciali di supporto per le tecnologie quantistiche.

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Nella corsa quantistica partecipano non solo gli stati, ma anche le aziende private. In totale, Google, IBM, Intel e Microsoft hanno investito circa 0,5 miliardi di dollari nello sviluppo dei computer quantistici di recente, creando grandi laboratori e centri di ricerca.
Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Su Habr e nel web ci sono molti articoli, ad esempio, ecco, ecco e ecco, che trattano più dettagliatamente lo stato attuale dello sviluppo delle tecnologie quantistiche in diversi paesi. Per noi è fondamentale che tutti i principali paesi tecnologicamente avanzati e i protagonisti investano enormi somme nella ricerca in questo ambito, il che offre speranze per uscire dall'attuale impasse tecnologica.

Direzioni di sviluppo

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Attualmente (potrei sbagliarmi, correggetemi), i principali sforzi (e risultati più o meno significativi) di tutti i principali attori sono concentrati su due direzioni:

  • Computer quantistici specializzati, progettati per risolvere un compito specifico, come ad esempio un problema di ottimizzazione. Un esempio di prodotto sono i computer quantistici D-Wave.
  • Computer quantistici universali — in grado di implementare qualsiasi algoritmo quantistico (Shor, Grover, ecc.). Implementazioni da IBM, Google.

Altri vettori di sviluppo forniti dalla fisica quantistica, come:

sono senza dubbio anche nella lista di direzioni per le ricerche, ma attualmente non sembrano esserci risultati significativi.

In aggiunta, si può leggere la roadmap dello sviluppo delle tecnologie quantistiche, e cercate su Google “sviluppo delle tecnologie quantistiche”, ad esempio, ecco, ecco e ecco.

Fondamenti. Oggetto quantistico e sistemi quantistici

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

La cosa più importante da capire in questa sezione è che

Un computer quantistico (a differenza di uno normale) utilizza oggetti quantisticicome portatori di informazioni, e per effettuare calcoli, gli oggetti quantistici devono essere collegati in una sistema quantistico.

Cosa sono esattamente gli oggetti quantistici?

Oggetto quantistico — oggetto del microcosmo (mondo quantistico) che presenta proprietà quantistiche:

  • Possiede uno stato definito con due livelli limite
  • Si trova in sovrapposizione del suo stato fino al momento della misurazione
  • Si intreccia con altri oggetti per creare sistemi quantistici
  • Esegue il teorema del divieto di clonazione (non è possibile copiare lo stato dell'oggetto)

Analizziamo ogni proprietà in modo più dettagliato:

Possiede uno stato definito con due livelli limite (stato finale)

Esempio classico dal mondo reale — una moneta. Ha uno stato "faccia", che assume due livelli limite — "testa" e "croce".

Si trova in sovrapposizione del suo stato fino al momento della misurazione

Lanciando la moneta, essa vola e ruota. Finché ruota, è impossibile dire in quale dei livelli limite si trovi il suo stato "faccia". Ma basta schiacciarla e guardare il risultato — come la sovrapposizione degli stati collassa immediatamente in uno dei due livelli limite — "testa" e "croce". Schiacciare la moneta nel nostro caso è la misurazione.

Si intreccia con altri oggetti per creare sistemi quantistici

Con la moneta è complicato, ma proviamoci. Immagina di aver lanciato tre monete in modo che ruotino una attaccata all'altra, un po' come fare i giocolieri con le monete. In ogni momento, non solo ciascuna di esse si trova in superposizione di stati, ma questi stati influenzano reciprocamente (le monete si scontrano).

Esegue il teorema del divieto di clonazione (non è possibile copiare lo stato dell'oggetto)

Finché le monete volano e ruotano, non possiamo in alcun modo creare una copia separata dallo stato rotante di una qualsiasi delle monete. Il sistema vive per conto suo e si preoccupa molto di non rivelare alcuna informazione all'esterno.

Ancora qualche parola sul concetto di “superposizione”, praticamente in tutti gli articoli la superposizione viene spiegata come “essere in tutti gli stati contemporaneamente”, cosa che, naturalmente, è corretta, ma a volte risulta eccessivamente confusa. La superposizione di stati può essere rappresentata anche come il fatto che in ogni momento un oggetto quantistico ha certe probabilità di collassare in ciascuno dei suoi livelli limite, e in totale queste probabilità, ovviamente, sono pari a 1. Successivamente, quando consideriamo il cubito, ci soffermeremo su questo in modo più dettagliato.

Per le monete, si può visualizzare in questo modo: a seconda della velocità iniziale, dell'angolo di lancio e delle condizioni ambientali in cui vola la moneta, in ogni momento la probabilità di ottenere "testa" o "croce" è diversa. E, come già detto, lo stato di una moneta in volo può essere immaginato come "in tutti i suoi stati limite contemporaneamente, ma con diverse probabilità di realizzazione".

Qualsiasi oggetto che soddisfi le proprietà sopra indicate e che possiamo creare e gestire può essere utilizzato come portatore di informazioni in un computer quantistico.

Un po' più avanti parleremo dello stato attuale della realizzazione fisica dei qubit come oggetti quantistici e di cosa gli scienziati utilizzano attualmente in questo contesto.

Quindi, la terza proprietà afferma che gli oggetti quantistici possono essere entangled per creare sistemi quantistici. Cos'è dunque un sistema quantistico?

Sistema quantistico — un sistema di oggetti quantistici entangled, dotato delle seguenti proprietà:

  • Un sistema quantistico è in sovrapposizione di tutti i possibili stati degli oggetti di cui è composto.
  • Non è possibile conoscere lo stato del sistema fino al momento della misurazione
  • Al momento della misurazione, il sistema realizza una delle possibili varianti dei suoi stati limite

(e, per anticipare un po')

Conseguenze per i programmi quantistici:

  • Un programma quantistico ha uno stato del sistema definito in ingresso, una superposizione all'interno, una superposizione in uscita
  • In uscita dal programma, dopo la misurazione, otteniamo un'implementazione probabilistica di uno dei possibili stati finali del sistema (più eventuali errori)
  • Qualsiasi programma quantistico ha un'architettura a camino (ingresso -> uscita. Nessun ciclo, non si può osservare lo stato del sistema a metà processo.)

Confronto tra computer quantistico e computer tradizionale

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Confrontiamo ora un computer tradizionale e uno quantistico.

Computer tradizionaleUn computer quantistico

Logica

0 / 1`a|0> + b|1>, a^2+b^2=1`

Fisica

Transistor a semiconduttoreOggetto quantistico

Supporto inform.

Livelli di tensionePolarizzazione, spin,…

Operazioni

NOT, AND, OR, XOR sui bitPorte: CNOT, Hadamard,…

Interconnessione

Chip a semiconduttoreEntanglement tra di loro

Algoritmi

Standard (vedi Knuth)Speciali (Shor, Grover)

Principio

Digitale, deterministicoAnalogico, probabilistico

Livello logico
Come funzionano i computer quantistici. Mettiamo insieme il puzzle

In un computer tradizionale, questo è un bit. Ci è molto familiare. bit deterministico. Può assumere valori di 0 o 1. Si comporta perfettamente come un'unità logica per un computer tradizionale, ma non è affatto adatto per descrivere lo stato di un oggetto quantistico, che, come abbiamo già detto, si trova in uno stato disovrapposizione dei suoi stati limite.

Per questo è stato inventato il cubit. Nei suoi stati limite realizza stati simili a 0 e 1 |0> e |1>, mentre in sovrapposizione rappresenta una distribuzione probabilistica sui suoi stati limite |0> e |1>:

 a|0> + b|1>, tale che a^2+b^2=1

a e b rappresentano le ampiezze delle probabilità, e i quadrati dei loro moduli sono le probabilità stesse di ottenere questi valori per gli stati limite |0> e |1>, se si misura il cubit in questo momento.

Livello fisico

Attualmente, il livello tecnologico di realizzazione fisica del bit per un computer tradizionale è un transistor a semiconduttore, mentre per quello quantistico, come abbiamo già detto, è qualsiasi oggetto quantistico. Nella prossima sezione parleremo di cosa viene attualmente utilizzato come supporti fisici per i cubit.

Supporto dell'informazione

Per un computer tradizionale, questo è la corrente elettrica — livelli di tensione, presenza o assenza di corrente, ecc., per un computer quantistico — lo stato stesso di un oggetto quantistico (direzione di polarizzazione, spin, ecc.), che può trovarsi in uno stato di sovrapposizione.

Operazioni

Per realizzare circuiti logici su un computer tradizionale vengono utilizzate le comuni operazioni logiche, per le operazioni sui qubit è stata necessaria l'invenzione di un sistema di operazioni completamente diverso, chiamato porte quantistiche. Le porte possono essere monobit e dualbit, a seconda di quanti qubit sono coinvolti nella trasformazione.

Esempi di porte quantistiche:
Come funzionano i computer quantistici. Mettiamo insieme il puzzle

C'è il concetto di insieme universale di porte, sufficiente per eseguire qualsiasi calcolo quantistico. Ad esempio, è universale un insieme che include la porta di Hadamard, la porta di spostamento di fase, la porta CNOT e la porta π⁄8. Con esse si può eseguire qualsiasi calcolo quantistico su un insieme arbitrario di qubit.

In questo articolo non ci soffermeremo in dettaglio sul sistema dei gate quantistici; puoi leggere di più su di essi e sulle operazioni logiche sui qubit, ad esempio, qui. La cosa principale da ricordare è che:

  • Le operazioni sugli oggetti quantistici richiedono la creazione di nuovi operatori logici (gate quantistici).
  • I gate quantistici possono essere a un qubit o a due qubit.
  • Esistono insiemi universali di gate che permettono di eseguire qualsiasi calcolo quantistico.

Interconnessione

Un singolo transistor è completamente inutile per effettuare calcoli; abbiamo bisogno di collegare molti transistor tra loro, ovvero creare un chip semiconduttore composto da milioni di transistor, su cui costruire circuiti logici. ALU e, in definitiva, ottenere un processore moderno nella sua forma classica.

Un singolo qubit è anch'esso completamente inutile (a meno che non sia solo per scopi accademici),

per effettuare calcoli abbiamo bisogno di un sistema di qubit (oggetti quantistici)

che, come abbiamo già detto, viene creato tramite l'intreccio dei qubit tra loro in modo che le variazioni nei loro stati avvengano in modo coerente.

Algoritmi

Gli algoritmi standard che l'umanità ha accumulato fino ad ora non sono affatto adatti per l'implementazione su un computer quantistico. In realtà, non ce n'è nemmeno bisogno. I computer quantistici, basati sulla logica dei gate sugli qubit, richiedono la creazione di algoritmi completamente diversi, ovvero algoritmi quantistici. Tra i più noti algoritmi quantistici si possono citare tre:

Principio

E la differenza principale sta nel principio di funzionamento. Per un computer standard, questo è un principio digitale, rigidamente deterministico, basato sul fatto che se impostiamo uno stato iniziale del sistema e lo sottoponiamo a un algoritmo specifico, il risultato dei calcoli sarà sempre lo stesso, indipendentemente dal numero di volte in cui eseguiamo quel calcolo. In effetti, questo comportamento è esattamente ciò che ci aspettiamo da un computer.

Un computer quantistico funziona su un principio analogico, probabilistico. Il risultato dell'esecuzione di un algoritmo specifico su uno stato iniziale specifico è campionamento da una distribuzione di probabilità realizzazioni finite dell'algoritmo più possibili errori.

Questa natura probabilistica del calcolo quantistico è dovuta alla stessa essenza probabilistica del mondo quantistico. “Dio non gioca a dadi con l'universo”, — diceva l'anziano Einstein, ma tutti gli esperimenti e le osservazioni finora (nella corrente paradigma scientifico) confermano il contrario.

Realizzazioni fisiche dei qubit

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Come abbiamo già detto, un qubit può essere rappresentato come un oggetto quantistico, cioè un oggetto fisico che realizza le proprietà quantistiche descritte sopra. In altre parole, qualsiasi oggetto fisico che abbia due stati e che questi due stati si trovino in uno stato di sovrapposizione può essere utilizzato per costruire un computer quantistico.

“Se sappiamo mettere un atomo in due diversi livelli e controllarli, ecco il qubit. Se possiamo farlo con un iono, — qubit. Lo stesso con la corrente. Se la facciamo girare in senso orario e antiorario contemporaneamente, ecco il qubit.” (C)

ottimo commento a articolo, in cui la varietà attuale delle realizzazioni fisiche del qubit viene trattata in modo più dettagliato, noi semplicemente elencheremo i più noti e diffusi:

Tra tutta questa varietà, il metodo più sviluppato per ottenere qubit è basato su superconduttori. Google, IBM, Intel e altri attori di spicco lo utilizzano proprio per costruire i propri sistemi.

Inoltre, leggi panoramica possibili realizzazioni fisiche qubit di Andrew Daley, 2014.

Fondamenti. Principio di funzionamento di un computer quantistico

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

I materiali per questa sezione (compito e immagini) sono tratti dall'articolo “Semplice in complesso. Come funziona un computer quantistico”.

Quindi, immaginiamo che abbiamo il seguente compito:

C'è un gruppo di tre persone: (A)ndrey, (B)olodja e (C)erega. Ci sono due taxi (0 e 1).

Si sa anche che:

  • (A)ndrey, (B)olodja — amici
  • (A)ndrey, (C)erega — nemici
  • (B)olodja e (C)erega — nemici

Compito: Sistemare il gruppo nei taxi in modo che Max(amici) e Min(nemici)

Valutazione: L = (numero di amici) — (numero di nemici) per ogni opzione di sistemazione

IMPORTANTE: Supponiamo che non ci siano euristiche, non ci sia una soluzione ottimale. In questo caso, il problema si risolve solo per completo esaurimento delle varie opzioni.

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Soluzione su un computer normale

Come affrontare questo compito su un (super)computer normale (o cluster) — è chiaro che bisogna esaminare in ciclo tutte le possibili opzioni. Se abbiamo un sistema multiprocessore, è possibile parallelizzare il calcolo delle soluzioni su più processori e poi unire i risultati.

Abbiamo 2 possibili opzioni di posizionamento (taxi 0 e taxi 1) e 3 persone. Lo spazio delle soluzioni 2^3 = 8. Esaminare 8 opzioni è possibile anche con una calcolatrice, non è un problema. E ora complicchiamo il compito — abbiamo 20 persone e due autobus, lo spazio delle soluzioni 2^20 = 1 048 576. Non è nemmeno così complicato. Aumentiamo il numero di persone di 2.5 volte — prendiamo 50 persone e due treni, lo spazio delle soluzioni ora è 2^50 = 1.12 x 10^15. Su un (super)computer normale iniziano a sorgere seri problemi. Aumentiamo il numero di persone di 2 volte, 100 persone ci daranno già 1.2 x 10^30 opzioni possibili.

È ormai impossibile calcolare questo compito in un tempo ragionevole.

Colleghiamo un supercomputer

Il computer più potente attualmente è il numero 1 della Top500, è Summit, prestazioni 122 Pflops. Supponiamo che per calcolare un'opzione ci servano 100 operazioni, per risolvere il problema per 100 persone avremo bisogno di:

(1.2 x 10^30 100) / 122×10^15 / (606024365) = 3 x 10^37 anni.

Come vediamo, con l'aumentare della dimensionalità dei dati di partenza, lo spazio delle soluzioni cresce secondo una legge esponenziale, in generale per N bit abbiamo 2^N opzioni possibili di soluzione, che con N relativamente piccoli (100) ci danno uno spazio di soluzioni impraticabile (al livello tecnologico attuale).

Ci sono alternative? Come avrete già intuito, sì, ci sono.

Ma prima di passare a come e perché i computer quantistici possono risolvere efficacemente tali problemi, rinfreschiamo un po' la nostra memoria su cosa sia distribuzione probabilistica. Non spaventatevi, l'articolo è una panoramica, non ci sarà matematica rigorosa, ci limiteremo a un esempio classico con un sacco e delle palline.

Un po' di combinatoria, teoria della probabilità e un strano sperimentatore

Prendiamo un sacco e mettiamo dentro 1000 palline bianche e 1000 palline nere. Condurremo un esperimento: estrarre una pallina, registrare il colore, rimettere la pallina nel sacco e mescolare le palline nel sacco.

Abbiamo condotto l'esperimento 10 volte, estratto 10 palline nere.. È possibile? Certamente. Questa campionatura ci fornisce un'idea ragionevole della vera distribuzione nel sacco? Ovviamente no. Cosa dobbiamo fare? Giusto, per repetere l'esperimento un milione di volte e calcolare le frequenze delle palline nere e bianche. Otterremo, ad esempio, 49.95% di palline nere e 50.05% di palline bianche.. In questo caso, la struttura della distribuzione da cui stiamo campionando (estraendo una pallina) è già più comprensibile.

L'importante da comprendere è che l'esperimento stesso ha una natura probabilistica,con un solo campione (una pallina) non scopriremo la vera struttura della distribuzione, dobbiamo ripetere l'esperimento molte volte e fare una media dei risultati.

Aggiungeremo nel nostro sacco 10 palline rosse e 10 verdi (errori). Ripeteremo l'esperimento 10 volte. Intiriamo fuori 5 palline rosse e 5 verdi.. È possibile? Sì. Possiamo dire qualcosa sulla vera distribuzione? No. Cosa dobbiamo fare? Be', avete capito.

Per comprendere la struttura della distribuzione probabilistica, è necessario campionare ripetutamente singoli esiti da questa distribuzione e fare una media dei risultati.

Colleghiamo la teoria alla pratica

Ora, invece di palline bianche e nere, prendiamo le palline da biliardo e mettiamole in un sacchetto. 1000 palline con il numero 2, 1000 con il numero 7 e 10 palline con altri numeri.. Immaginiamo un esperimentatore addestrato nelle semplici azioni (estrarre una pallina, segnare il numero, rimettere la pallina nel sacchetto, mescolare le palline nel sacchetto) e lo fa in 150 microsecondi. Un esperimentatore del genere è come se fosse sotto effetti (non è pubblicità per droghe!!!). Allora, in 150 secondi, sarà in grado di condurre il nostro esperimento 1 milione di volte e fornirci i risultati della media.

Abbiamo fatto sedere l'esperimentatore, gli abbiamo dato un sacchetto, gli abbiamo voltato le spalle, abbiamo atteso 150 secondi — e abbiamo ottenuto:

numero 2 — 49.5%, numero 7 — 49.5%, gli altri numeri in totale — 1%.

Sì, è tutto corretto, il nostro sacchetto è un computer quantistico con un algoritmo che risolve il nostro problema, e le palline sono le possibili soluzioni. Poiché ci sono due soluzioni corrette, allora il computer quantistico ci fornirà in modo equamente probabile una qualsiasi di queste possibili soluzioni, e lo 0,5% (10/2000) degli errori, di cui parleremo più tardi.

Per ottenere un risultato dal lavoro di un computer quantistico è necessario eseguire ripetutamente l'algoritmo quantistico sulla stessa serie di dati di input e fare una media dei risultati.

Scalabilità del computer quantistico

Immaginiamo ora che la questione coinvolga 100 persone (spazio delle soluzioni 2^100 tenendo questo a mente), ci sono solo due soluzioni corrette. Quindi, se prendiamo 100 qubit e scriviamo un algoritmo che calcola la nostra funzione obiettivo (L, vedi sopra) su questi qubit, otterremo un sacchetto con 1000 palline numerate con la prima risposta corretta, 1000 con la seconda risposta corretta e 10 palline con altri numeri. E il nostro esperimentatore ci fornirà una stima della distribuzione di probabilità delle risposte corrette in 150 secondi.

Il tempo di esecuzione dell'algoritmo quantistico (con alcune assunzioni) può essere considerato costante O(1) rispetto alla dimensione dello spazio delle soluzioni (2^N).

Ed è proprio questa caratteristica del computer quantistico — costanza del tempo di esecuzione rispetto alla complessità crescente secondo una legge esponenziale dello spazio delle soluzioni ed è fondamentale.

Qubit e mondi paralleli

Come avviene tutto ciò? Cosa consente a un computer quantum di eseguire calcoli così rapidamente? Tutto dipende dalla natura quantistica del qubit.

Dunque, abbiamo detto che il qubit, in quanto oggetto quantistico realizza uno dei suoi due stati quando viene osservato, ma nella “natura viva” si trova in superposizione di stati, cioè è in entrambi i suoi stati limite contemporaneamente (con una certa probabilità).

Prendiamo (A)ndrei e immaginiamo il suo stato (in quale mezzo di trasporto — 0 o 1) come un qubit. Allora abbiamo (nello spazio quantistico) due mondi paralleli, in uno (A) è seduto in un taxi 0, nell'altro mondo — in un taxi 1. Contemporaneamente in due taxi, ma con una certa probabilità di trovarlo in ciascuno di essi durante l'osservazione.

Prendiamo (V)olodya e immaginiamo anche il suo stato come un qubit. Emergerebbero due altri mondi paralleli. Ma per ora queste coppie di mondi (A) e (V) non interagiscono. Cosa bisogna fare per creare un legame un sistema? Esatto, dobbiamo unire questi qubit insieme (intrecciare). Prendiamo e intrecciamo (A) con (B) — otteniamo un sistema quantistico di due qubit (A, B), che realizza al suo interno quattro mondi interconnessi in parallelo. Aggiungiamo (C)e otteniamo un sistema di tre qubit (ABC), che realizza otto mondi interconnessi mondi paralleli.

La chiave dei calcoli quantistici (l'implementazione di una serie di porte quantistiche su un sistema di qubit intrecciati) è il fatto che il calcolo avviene in tutti i mondi paralleli contemporaneamente.

E non importa quanti ne abbiamo, 2^3 o 2^100, l'algoritmo quantistico si compirà in un tempo finito su tutti questi mondi paralleli e ci darà un risultato che rappresenta un campione della distribuzione di probabilità delle risposte dell'algoritmo.

Per una migliore comprensione, possiamo immaginare che un computer quantistico, a livello quantistico, avvii 2^N processi paralleli di soluzione, ognuno dei quali lavora su una possibile variante, poi raccoglie i risultati del lavoro — e ci fornisce una risposta sotto forma di sovrapposizione della soluzione (distribuzione probabilistica delle risposte), da cui campioniamo ogni volta (ad ogni esperimento) uno.

Ricorda il tempo necessario al nostro sperimentatore (150 μs) per condurre l'esperimento, questo sarà utile più avanti quando parleremo delle principali problematiche dei computer quantistici e del tempo di decoerenza.

Algoritmi quantistici

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Come già detto, gli algoritmi classici basati sulla logica binaria non sono applicabili ai computer quantistici che utilizzano logica quantistica (porte quantistiche). Per questo sono stati sviluppati nuovi algoritmi che sfruttano pienamente il potenziale insito nella natura quantistica del calcolo.

Gli algoritmi più noti fino ad oggi sono:

A differenza dei computer classici, i computer quantistici non sono universali.
Fino ad ora, è stato trovato solo un numero limitato di algoritmi quantistici.(C)

Grazie oxoron per il link a Quantum Algorithm Zoo, un luogo dove, secondo l'autore («Stephen Jordan»), sono raccolti e continuano a essere raccolti i migliori rappresentanti del mondo degli algoritmi quantistici.

In questo articolo non approfondiremo gli algoritmi quantistici; ci sono molti materiali eccellenti online per ogni livello di difficoltà, ma è comunque necessario fare una breve panoramica sui tre più noti.

Algoritmo di Shor.

(torna all'indice)

L'algoritmo quantistico più famoso è l'algoritmo di Shor (ideato nel 1994 dal matematico inglese Peter Shor), che è mirato a risolvere il problema della fattorizzazione di numeri in fattori primi (problema della fattorizzazione, logaritmo discreto).

È proprio questo algoritmo che viene citato come esempio quando si discute del fatto che i vostri sistemi bancari e le password potrebbero essere compromessi presto. Considerando che la lunghezza delle chiavi utilizzate attualmente è di almeno 2048 bit, non è ancora il momento di preoccuparsi.

Attualmente i risultati sono più che modeste. I migliori risultati di fattorizzazione con l'algoritmo di Shor riguardano numeri 15 e 21, il che è significativamente inferiore a 2048 bit. Per gli altri risultati della tabella è stata applicata un'altra un algoritmo metodologia di calcolo, ma anche il miglior risultato con questo algoritmo (291311) è molto lontano da un'applicazione reale.

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Per ulteriori dettagli sull'algoritmo di Shor, si può leggere, ad esempio, qui. Per quanto riguarda l'implementazione pratica — qui.

Una delle valutazioni attuali la complessità e la potenza necessarie per la fattorizzazione di un numero di 2048 bit è un computer con 20 milioni di qubit. Dormiamo tranquilli.

Algoritmo di Grover

(torna all'indice)

Algoritmo di Groveralgoritmo quantistico soluzioni a problemi di ricerca, cioè trovare la soluzione dell'equazione F(X) = 1, dove F è una funzione booleana da n con variabili. È stato proposto dal matematico statunitense Lov Grover in nel 1996.

L'algoritmo di Grover può essere utilizzato per trovare la mediana e la media aritmetica di una sequenza numerica. Inoltre, può essere applicato per risolvere problematiche NP-completi attraverso una ricerca esaustiva tra le molteplici soluzioni possibili. Questo può portare a un significativo incremento della velocità rispetto agli algoritmi classici, pur non offrendo un «risultato polinomiale» in termini generali.(C)

Ulteriori dettagli possono essere letti qui, o qui. Inoltre qui c'è una buona spiegazione dell'algoritmo con un esempio di scatole e palloni, ma, sfortunatamente, per motivi indipendenti dalla mia volontà, questo sito non è accessibile da Russia. Se anche a voi questo sito è bloccato, ecco un breve riassunto:

L'algoritmo di Grover. Immagina di avere N scatole chiuse numerate. Sono tutte vuote tranne una, in cui si trova una pallina. Il tuo compito è scoprire il numero della scatola in cui si trova la pallina (questo numero sconosciuto è spesso indicato con la lettera w).
Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Come risolvere questo problema? Il modo più semplice è aprire le scatole una dopo l'altra, e prima o poi troverai la scatola con la pallina. Ma quante scatole devi controllare in media prima di scoprire quella con la pallina? In media, devi aprire circa metà delle scatole N/2. La cosa importante da notare è che se aumentiamo il numero di scatole di 100 volte, anche il numero medio di scatole che devi aprire aumenterà di 100 volte prima di trovare la scatola con la pallina.

Facciamo ora un'altra precisazione. Immaginiamo di non aprire personalmente le scatole e controllare la presenza della pallina in ciascuna, ma di avere un intermediario, chiamiamolo Oracolo. Diciamo all'Oracolo: «controlla la scatola numero 732», e l'Oracolo controlla onestamente e risponde: «nella scatola numero 732 non c'è la pallina». Ora, invece di parlare di quante scatole dobbiamo aprire in media, diciamo «quante volte in media dobbiamo interpellare l'Oracolo per trovare il numero della scatola con la pallina»

Si scopre che se si traduce questo compito con scatole, pallina e Oracolo nel linguaggio quantistico, si ottiene un risultato straordinario: per cercare il numero della scatola con la pallina tra N scatole, dobbiamo interpellare l'Oracolo solo circa SQRT(N) volte!

In altre parole, la complessità del problema di ricerca utilizzando l'algoritmo di Grover si riduce al quadrato della radice.

Algoritmo di Deutsch-Josza

(torna all'indice)

L'algoritmo di Deutsch-Josza (noto anche come algoritmo di Deutsch-Jozsa) è un [quantic algorithm](https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9), proposto da David Deutsch e e Richard Jozsa in nel 1992, diventando uno dei primi esempi di algoritmi progettati per funzionare su computer quantistici. _

Il compito di Deutsch-Josza consiste nel determinare se una funzione di più variabili binarie F(x1, x2, … xn) è costante (prende solo il valore 0 o 1 per tutti gli argomenti) o bilanciata (prende il valore 0 per metà del dominio e 1 per l'altra metà). Si suppone a priori che la funzione sia o una costante o bilanciata. (C)

Puoi leggere anche qui. Una spiegazione più semplice:

L'algoritmo di Deutsch (Deutsch-Josza) si basa su una ricerca esaustiva, ma consente di farlo più rapidamente rispetto al metodo normale. Immagina di avere una moneta sul tavolo e di dover scoprire se è falsa o meno. Per fare ciò, è necessario guardare la moneta due volte e determinare: "testa" e "croce" sono reali, mentre due "teste" o due "croci" indicano che è falsa. Utilizzando l'algoritmo quantistico di Deutsch, è possibile fare questa determinazione con uno sguardo – una sola misurazione. (C)

Problemi dei computer quantistici

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Nella progettazione e nell'operatività dei computer quantistici, gli scienziati e gli ingegneri si trovano di fronte a una miriade di problemi che al giorno d'oggi vengono risolti con successo variabile. Secondo uno studio (e anche qui) è possibile evidenziare una serie di problemi:

  • Sensibilità all'ambiente e interazione con l'ambiente
  • Accumulo di errori nei calcoli
  • Difficoltà nell'inizializzazione degli stati dei qubit
  • Difficoltà nella creazione di sistemi multi-qubit

Consiglio vivamente di leggere l'articolo “Caratteristiche dei computer quantistici”, specialmente i commenti ad esso.

Organizziamo tutti i principali problemi in tre grandi gruppi e analizziamo ogni singolo problema in dettaglio:

Decoerenza

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Descrizione di N+1.

Stato quantistico una cosa molto fragile, i qubit in uno stato di entanglement sono estremamente instabili, qualsiasi influenza esterna può distruggere (e distrugge) questa connessione. Cambiamenti di temperatura anche minimi, pressione, un fotone casuale passato vicino — tutto ciò destabilizza il nostro sistema.

Per affrontare questo problema, si costruiscono sarcofagi a bassa temperatura, in cui la temperatura (-273,14 gradi Celsius) è appena superiore allo zero assoluto, con la massima isolamento della camera interna con il processore da tutte le (possibili) influenze dell'ambiente esterno.

Il tempo massimo di vita di un sistema quantistico composto da più qubit, durante il quale mantiene le sue proprietà quantistiche e può essere utilizzato per eseguire calcoli, è noto come tempo di decoerenza.

Attualmente, il tempo di decoerenza nelle migliori soluzioni quantistiche è di circa decine e centinaia di microsecondi.

C'è un ottimo sito, dove è possibile visualizzare tabelle comparative delle specifiche di tutti i sistemi quantistici sviluppati. In questo articolo sono stati portati come esempi solo due processori di punta - uno di IBM IBM Q System One e uno di Google Sycamore. Come possiamo vedere, il tempo di decoerenza (T2) non supera i 200 µs.

Non ho trovato dati precisi su Sycamore, ma nell'articolo stesso sul vantaggio quantistico vengono citati due numeri - 1 milione di calcoli in 200 secondi , in un altro luogo - in, altrove — per 130 secondi senza perdite nei segnali di controllo e altro. In ogni caso, questo ci dà un tempo di decoerenza di circa 150 µs. Ricordate il nostro esperimentatore con il sacco? Ну так вот он.

Nome ComputerN QubitsMax pairedT2 (µs)
IBM Q System One20670
Google Sycamore534~150-200

Quali sono i rischi della decoerenza?

Il problema principale è che dopo 150 µs il nostro sistema di calcolo composto da N qubit intrecciati inizierà a fornire in uscita, invece di una distribuzione probabilistica di soluzioni corrette, un rumore bianco probabilistico.

Quindi dobbiamo:

  • Inizializzare il sistema di qubit
  • Eseguire il calcolo (una catena di operazioni logiche)
  • Leggere il risultato

E fare tutto questo in 150 µs. Se non ci riusciamo, il risultato diventa una zucca.

Ma non è ancora finita...

Errori

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Come abbiamo già detto, i processi quantistici e i calcoli quantistici hanno una natura probabilistica, non possiamo essere certi al 100% di nulla, ma solo con una certa probabilità. La situazione è ulteriormente complicata dal fatto che i calcoli quantistici sono soggetti a errori. I principali tipi di errori nei calcoli quantistici sono:

  • Gli errori di decoerenza, causati dalla complessità del sistema e dall'interazione con l'ambiente esterno
  • Errori computazionali dei gate (causati dalla natura quantistica dei calcoli)
  • Errori di lettura dello stato finale (risultato)

Gli errori legati alla decoerenza, si verificano appena iniziamo a intrecciare i nostri qubit e a effettuare i calcoli. Maggiore è il numero di qubit che abbiamo intrecciato, più complessa diventa la sistema, e più facile da distruggere. I sarcofagi a bassa temperatura, le camere protette, tutte queste tecnologie hanno l'obiettivo di ridurre il numero di errori e prolungare il tempo di decoerenza.

Errori computazionali dei gate — qualsiasi operazione (cancelletto) sui qubit può con una certa probabilità terminare con un errore, e per realizzare il nostro algoritmo dobbiamo eseguire centinaia di cancelletto, immaginate quindi cosa otterremo al termine dell'esecuzione del nostro algoritmo. Una risposta classica alla domanda — “Qual è la probabilità di incontrare un dinosauro in ascensore?” — è 50x50, o lo incontri o no.

Il problema è ulteriormente aggravato dal fatto che i metodi standard di correzione degli errori (duplicazione dei calcoli e media) non funzionano nel mondo quantistico a causa del teorema sul divieto di clonazione. Per la correzione degli errori nei calcoli quantistici è stato necessario inventare metodi di correzione quantistici. In parole povere, prendiamo N qubit normali e ne facciamo 1 qubit logico con un livello di errori inferiore.

Ma qui sorge un altro problema — il numero totale di qubit. Supponiamo di avere un processore con 100 qubit, di cui 80 qubit sono dedicati alla correzione degli errori, quindi per i calcoli rimangono solo 20.

Errori nella lettura del risultato finale — come sappiamo, il risultato dei calcoli quantistici ci viene presentato sotto forma di distribuzione di probabilità delle risposte. Ma anche la lettura dello stato finale può concludersi con un errore.

La stessa cosa sito ci sono tabelle comparative dei processori in base ai livelli di errore. Per fare un confronto, prendiamo gli stessi processori dell'esempio precedente — IBM IBM Q System One e Google Sycamore:

ComputerFedeltà del gate a 1 qubit2Fedeltà del gate a -qubitFedeltà di lettura
IBM Q System One99.96%98.31%
Google Sycamore99.84%99.38%96.2%

Qui fedeltà — misura della somiglianza tra due stati quantistici. L'errore può essere approssimativamente rappresentato come 1-Fedeltà. Come vediamo, gli errori sui gate a 2 qubit e gli errori di lettura rappresentano il principale ostacolo all'esecuzione di algoritmi complessi e lunghi sui computer quantistici esistenti.

Puoi leggere anche roadmap del 2016 da NQIT per affrontare il problema della correzione degli errori.

Architettura del processore

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

In teoria costruiamo e gestiamo schemi di decine di qubit intrecciati, ma nella realtà è tutto più complesso. Tutti i circuiti quantistici esistenti (processori) sono costruiti in modo da garantire un funzionamento senza problemi entangling one qubit only with its neighbors, of which there are no more than six.

If we need to entangle the 1st qubit, say, with the 12th, we will have to build a chain of additional quantum operations, involve additional qubits and more, which increases the overall error rate. And don't forget about decoherence time, by the time you finish linking qubits into the scheme you need, the time may run out and the whole scheme will turn into a nice white noise generator.

Also remember that the architecture of all quantum processors is different, and the program written in the emulator in 'all-to-all connectivity' mode will need to be 'recompiled' for the specific chip architecture. There are even special optimization programs to perform this operation.

Maximum connectivity and maximum number of qubits for the top chips:

Nome ComputerN QubitsMax pairedT2 (µs)
IBM Q System One20670
Google Sycamore534~150-200

And, for comparison, a table with data from the previous generation of processors. Compare the number of qubits, decoherence time, and error rate with what we currently have in the new generation. After all, progress is slowly but surely moving forward.

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Quindi:

  • Attualmente non ci sono schemi architettonici completamente connessi con più di 6 qubit
  • Per intrecciare il qubit 0 con, ad esempio, il qubit 15, potrebbero essere necessari diverse dozzine di operazioni aggiuntive
  • Più operazioni -> più errori -> maggiore impatto della decoerenza

Risultati

(torna all'indice)

La decoerenza è la condizione limite dei moderni calcoli quantistici. In 150 µs dobbiamo completare tutto:

  • Inizializzazione dello stato iniziale dei qubit
  • Calcolo del compito utilizzando porte quantistiche
  • Eseguire la correzione degli errori per ottenere un risultato significativo
  • Contare il risultato ottenuto

Finora i risultati sono deludenti, anche se qui si dichiara di aver raggiunto 0,5 s di tempo di coerenza su un computer quantistico basato su trappole ioniche:

We measure a qubit coherence time in excess of 0.5 s, and with magnetic shielding we expect this to improve to be longer than 1000 s

Si può ulteriormente leggere su questa tecnologia qui oppure, ad esempio, qui.

La situazione è complicata ulteriormente dal fatto che, durante calcoli complessi, è necessario utilizzare schemi quantistici di correzione degli errori, il che consuma anche tempo e qubit disponibili.

E infine, le architetture moderne non consentono di implementare schemi di intreccio con costi minimi meglio di 1 a 4 o 1 a 6.

Possibili soluzioni ai problemi

(torna all'indice)

Per risolvere i problemi sopra descritti, attualmente vengono utilizzati i seguenti approcci e metodi:

  • Utilizzo di criostati a basse temperature (10 mK (–273,14°C))
  • Utilizzo di unità di elaborazione altamente protette da fattori esterni
  • Utilizzo di sistemi di correzione quantistica degli errori (qubit logico)
  • Utilizzo di ottimizzatori durante la programmazione di circuiti per processori specifici

Sono inoltre in corso ricerche volte a incrementare il tempo di decoerenza, a cercare nuove (e a migliorare quelle già note) realizzazioni fisiche di oggetti quantistici, a ottimizzare circuiti di correzione e così via. Ci sono progressi (guarda sopra le caratteristiche dei chip più vecchi e quelli top attuali), ma finora avviene lentamente, molto molto lentamente.

D-Wave

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Computer quantistico D-Wave 2000Q. Fonte: D-Wave Systems

In seguito all'annuncio di Google riguardo al raggiungimento della superiorità quantistica utilizzando un processore con 53 qubit, computer e annunci dalla D-Wave, che conta i suoi qubit a migliaia, può risultare un po' confuso. Infatti, se 53 qubit sono riusciti a raggiungere la supremazia quantistica, che cosa può fare allora un computer con 2048 qubit? Ma non è tutto roseo…

In breve (preso da wiki):

Computer D-Wave funzionano secondo il principio di rilassamento quantistico (annealing quantistico), possono risolvere un sottoinsieme molto limitato di problemi di ottimizzazione e non sono adatti per l'implementazione di algoritmi quantistici tradizionali e porte quantistiche.

Per maggiori dettagli, si può leggere, ad esempio, qui, qui (attenzione, potrebbe non aprirsi dalla Russia), oppure da Scott Aaronson in articolo dal suo blog. Tra l'altro, consiglio vivamente di leggere il suo blog, ci sono molti buoni contenuti.

Sin dall'inizio degli annunci, la comunità scientifica ha sollevato interrogativi sui computer D-Wave. Ad esempio, nel 2014, IBM ha messo in dubbio il fatto che D-Wave utilizzi effetti quantistici. La situazione è arrivata al punto in cui, nel 2015, Google insieme alla NASA ha acquistato uno di questi computer quantistici e dopo studi confermato, si è rivelato che sì, il computer funziona e calcola il problema più velocemente di un normale. Puoi leggere anche sulla dichiarazione di Google qui e, per esempio, qui.

La cosa principale è che i computer D-Wave, con le loro centinaia e migliaia di qubit, non possono essere utilizzati per il calcolo e l'esecuzione di algoritmi quantistici. Ad esempio, non è possibile eseguire l'algoritmo di Shor. Tutto ciò che possono fare è risolvere problemi di ottimizzazione utilizzando determinati meccanismi quantistici. Si può considerare D-Wave come un ASIC quantistico per un compito specifico.

Un po' di emulazione dei computer quantistici

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

I calcoli quantistici possono essere emulati su un computer normale. Infatti, guarda:

  • Lo stato di un qubit può essere rappresentato da un numero complesso, occupando da 2x32 a 2x64 bit (8-16 byte) a seconda dell'architettura del processore.
  • Lo stato di N qubit collegati può essere rappresentato come 2^N numeri complessi, cioè 2^(3+N) per l'architettura a 32 bit e 2^(4+N) per quella a 64 bit.
  • Un'operazione quantistica su N qubit può essere rappresentata da una matrice 2^N x 2^N.

Allora:

  • Per memorizzare gli stati emulati di 10 qubit sono necessari 8 KB.
  • Per memorizzare gli stati di 20 qubit sono necessari 8 MB.
  • Per memorizzare gli stati di 30 qubit sono necessari 8 GB.
  • Per memorizzare gli stati di 40 qubit sono necessari 8 Terabyte.
  • Per memorizzare gli stati di 50 qubit sono necessari 8 Petabyte e così via.

(C)

A titolo di confronto, Summit (Top-1 della Top-500) ha solo 2.8 Petabyte di memoria.

Record attuale delle simulazioni — 49 qubit installati lo scorso anno sul più grande supercomputer cinese (Sunway Taihu Light)

Il limite della simulazione dei computer quantistici sui sistemi classici è determinato dalla quantità di memoria necessaria per memorizzare lo stato dei qubit.

Ti consiglio di leggere anche questo commento. Da lì:

Per quanto riguarda le operazioni — per una emulazione precisa di un circuito con 49 qubit ci vogliono circa 39 "clock" (strati indipendenti di cancelli) ci sono voluti 2^63 moltiplicazioni complesse — 4 Petaflop del supercomputer per 4 ore

L'emulazione di un computer quantistico con più di 50 qubit su sistemi classici è considerata irrealizzabile in un tempo ragionevole. Anche per questo Google ha utilizzato per il suo esperimento di supremazia quantistica un processore con 53 qubit.

Superiorità computazionale quantistica.

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Wikipedia ci offre la seguente definizione di supremazia computazionale quantistica:

La supremazia quantistica è la capacità dei sistemi di calcolo quantistico di risolvere problemi che i computer classici non possono praticamente risolvere.

In realtà, il raggiungimento della supremazia quantistica significa che, ad esempio, la fattorizzazione di grandi numeri attraverso l'algoritmo di Shor può essere risolta in un tempo ragionevole, oppure è possibile emulare a livello quantistico molecole chimiche complesse, e così via. In altre parole, è iniziata una nuova era.

Ma nella formulazione della definizione c'è una certa scappatoia, "che i computer classici non possono praticamente risolvere". Infatti, questo significa che se si crea un computer quantistico con più di 50 qubit e si esegue su di esso un certo schema quantistico, come abbiamo visto sopra, il risultato del funzionamento di questo schema non potrà essere emulato su un computer normale. Cioè, un computer classico non sarà in grado di ricreare il risultato di tale schema.

Se tale risultato rappresenti o meno una reale supremazia quantistica è una questione più filosofica. Ma è importante comprendere ciò che ha fatto Google e su cosa si basa il suo recente annuncio riguardante il raggiungimento della supremazia quantistica con il suo nuovo processore Sycamore .

L'annuncio di Google riguardante il raggiungimento della supremazia quantistica

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle
processore Sycamore a 54 qubit

Nel ottobre 2019, gli sviluppatori di Google hanno pubblicato su una rivista scientifica, Nature, un articolo "Supremazia quantistica tramite un processore superconduttore programmabile". Gli autori hanno annunciato di aver raggiunto per la prima volta nella storia la supremazia quantistica grazie a un processore da 54 qubit chiamato "Sycamore".

Nelle discussioni online il processore Sycamore viene spesso citato sia con il numero di 54 qubit che con 53. La verità è che, secondo articolo originale., il processore è fisicamente composto da 54 qubit, ma uno di essi non è operativo ed è stato disattivato. Dunque, nella realtà, disponiamo di un processore da 53 qubit.

Immediatamente in rete è apparso molti materiali su questo argomento, il cui tono variava da entusiasta fino a scettico.

Successivamente, i membri del dipartimento di calcolo quantistico di IBM hanno dichiarato che Google ha riportato erroneamente il raggiungimento della supremazia quantistica. L'azienda sostiene che un computer classico sarebbe in grado di completare questo compito, nel peggiore dei casi, in 2,5 giorni, e che la risposta ottenuta sarebbe più accurata rispetto a quella del computer quantistico. Questa conclusione è stata raggiunta a seguito di un'analisi teorica di diversi metodi di ottimizzazione.

E, naturalmente, Scott Aaronson nel tuo blog non ho potuto ignorare questa dichiarazione. La sua analisi insieme a tutti i link e Scott’s Supreme Quantum Supremacy FAQ! valgono sempre il tempo che si spende su di essi. Su Habr c'è una traduzione di questo FAQ, e assicurati di leggere i commenti, ci sono link a documenti preliminari trapelati in rete prima dell'annuncio ufficiale.

Cosa ha realmente fatto Google? Per una comprensione approfondita, leggi Aaronson, e in breve:

Posso certamente dirvelo, ma mi sento un po' sciocco a farlo. Ecco il calcolo: l'esperimentatore genera uno schema quantistico casuale S (cioè una sequenza casuale di porte 1-qubit e 2-qubit — tra i vicini più prossimi — con una profondità, ad esempio, di 20 che agisce su una rete 2D di n=50-60 qubit). Dopo di che, l'esperimentatore invia S al computer quantistico e chiede di applicare S a uno stato iniziale di 0, misurare il risultato nella base {0,1}, rimandare indietro una sequenza osservabile di n-bit (stringa) e ripetere migliaia o milioni di volte. Infine, utilizzando la propria conoscenza di S, l'esperimentatore esegue un controllo statistico sulla corrispondenza del risultato con l'output atteso dal computer quantistico.

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

In breve:

  • Si crea uno schema casuale lungo 20 di 53 qubit utilizzando porte
  • Lo schema viene eseguito con uno stato iniziale [0…0]
  • L'uscita dello schema è una stringa di bit casuale (campione)
  • La distribuzione del risultato non è casuale (interferenza)
  • La distribuzione dei campioni ottenuti viene confrontata con quella attesa
  • Si afferma il conseguimento della superiorità quantistica

In altre parole, Google ha realizzato un compito sintetico su un processore a 53 qubit e basa la sua affermazione riguardo al raggiungimento della superiorità quantistica sul fatto che non è possibile emulare tale processore su sistemi standard in un tempo ragionevole.

Per comprendere — in questa sezione non si sminuisce affatto il traguardo di Google, gli ingegneri hanno davvero fatto un ottimo lavoro, e la questione se si possa considerare questo un reale vantaggio quantistico o meno, come già accennato, è più filosofica che ingegneristica. Ma bisogna capire che, raggiungendo tale supremazia computazionale, non siamo minimamente avanzati verso la possibilità di eseguire l'algoritmo di Shor su numeri a 2048 bit.

Riepilogo

(torna all'indice)
Come funzionano i computer quantistici. Mettiamo insieme il puzzle

I computer quantistici e i calcoli quantistici sono un settore delle tecnologie informatiche molto promettente, ancora giovane e per ora poco applicabile a livello industriale.

Lo sviluppo dei calcoli quantistici consentirà (un giorno) di affrontare compiti:

  • Modellazione di sistemi fisici complessi a livello quantistico
  • I problemi irrisolvibili su un computer tradizionale a causa della complessità computazionale

Problemi principali nella creazione e nell'utilizzo dei computer quantistici:

  • Decoerenza
  • Errori (decoerenza e errore dei gate)
  • Architettura dei processori (circuiti completamente connessi di qubit)

Stato attuale delle cose:

  • Di fatto — all'inizio R&D.
  • NON c'è ancora sfruttamento commerciale REALE (e non è chiaro quando ci sarà)

Cosa può aiutare:

  • Una scoperta fisica che riduce i costi di interconnessione e utilizzo dei processori
  • La scoperta di qualcosa che aumenti significativamente il tempo di decoerenza e/o riduca il numero di errori

A mio avviso (opinione puramente personale), nella attuale parabola scientifica delle conoscenze non otterremo significativi progressi nello sviluppo delle tecnologie quantistiche, è necessaria una crescita qualitativa in un ambito della scienza fondamentale o applicata, che dia impulso a nuove idee e metodi.

Nel frattempo — accumuliamo esperienza nella programmazione quantistica, sviluppiamo e creiamo algoritmi quantistici, testiamo idee e così via. Aspettiamo una svolta.

Conclusione

(torna all'indice)

In questo articolo abbiamo esaminato le principali tappe dello sviluppo del calcolo quantistico e dei computer quantistici, analizzato il principio del loro funzionamento, considerato le principali problematiche che gli ingegneri devono affrontare nella progettazione e nell'uso dei processori quantistici, e abbiamo anche visto cosa sono realmente i computer multimodali D-Wave e la recente affermazione di Google riguardo al raggiungimento della supremazia quantistica.

Sono rimaste sullo sfondo le questioni relative alla programmazione dei computer quantistici (linguaggi, approcci, metodi, ecc.) e le problematiche legate alla realizzazione fisica concreta dei processori, come avviene il controllo dei qubit, il loro collegamento, la lettura, ecc. Potrebbe essere questo il tema del prossimo articolo o di articoli futuri.

Grazie per l'attenzione, spero che questo articolo possa essere utile a qualcuno.

(C) Kruegger

Ringraziamenti

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

@Oxoron per la revisione e le osservazioni sul testo originale, così come per l'articolo “Caratteristiche dei computer quantistici”

@a5b per i commenti informativi e ricchi riguardo a “Caratteristiche dei computer quantistici”, e non solo a questo, che mi hanno aiutato a orientarmi in questo puzzle.

A tutti gli autori di articoli e pubblicazioni, i cui materiali sono stati utilizzati nella scrittura di questo articolo.

Elenco delle risorse

(torna all'indice)

Come funzionano i computer quantistici. Mettiamo insieme il puzzle

Articoli sulla situazione attuale da [The National Academies Press]

http://cs.brown.edu/courses/csci1800/sources/2018_NAE_QuantumComputing_ProgressAndProspects.pdf
https://www.nap.edu/catalog/25196/quantum-computing-progress-and-prospects

Articoli da Habr (in ordine casuale)

https://habr.com/ru/post/458450/
https://habr.com/ru/post/401315/
https://habr.com/ru/post/458134/
https://habr.com/ru/post/246483/
https://habr.com/ru/post/95428/
https://habr.com/ru/post/387761/
https://habr.com/ru/post/468911/
https://habr.com/ru/post/435560/
https://habr.com/ru/post/316810/
https://habr.com/ru/company/microsoft/blog/351624/
https://habr.com/ru/company/microsoft/blog/351628/
https://habr.com/ru/company/ua-hosting/blog/377533/
https://habr.com/ru/company/acronis/blog/455559/
https://habr.com/ru/company/yandex/blog/332106/
https://habr.com/ru/company/mailru/blog/350208/
https://habr.com/ru/company/mailru/blog/476444/
https://habr.com/ru/company/misis/blog/470445/
https://habr.com/ru/company/it-grad/blog/452424/
https://habr.com/ru/company/piter/blog/450480/

Articoli non classificati (ma comunque interessanti) dal web

http://homepages.spa.umn.edu/~duplij/publications/Duplij-Shapoval_TOPOLOGICAL-QUANTUM-COMPUTERS.pdf
https://quantum.country/qcvc
http://extremal-mechanics.org/wp-content/uploads/2015/07/RIFFEL.pdf
https://thecode.media/quantum/
https://naked-science.ru/article/nakedscience/quantum-computers
https://ru.ihodl.com/technologies/2018-10-29/prosto-o-slozhnom-kak-rabotaet-kvantovyj-kompyuter/
https://pikabu.ru/story/chto_takoe_kvantovyiy_kompyuter_5204054
https://nplus1.ru/search?q=%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B0%D0%B7%D0%B1%D1%83%D0%BA%D0%B0
https://www.scottaaronson.com/blog/?p=4372
https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80
https://quantumcomputingreport.com/scorecards/qubit-quality/
https://quantumcomputing.stackexchange.com/questions/2499/is-quantum-computing-just-pie-in-the-sky
https://quantumcomputing.stackexchange.com/questions/1289/how-does-a-quantum-computer-do-basic-math-at-the-hardware-level
https://www.extremetech.com/extreme/284306-how-quantum-computing-works
https://techno.nv.ua/it-industry/chto-takoe-kvantovyy-kompyuter-i-kvantovoe-prevoshodstvo-google-protiv-ibm-50049940.html
https://www.nature.com/articles/s41586-019-1666-5?utm_source=commission_junction&utm_medium=affiliate
https://petrimazepa.com/nemnogo_o_kvantovykh_kompyuterakh
https://www.forbes.ru/tehnologii/371669-ibm-protiv-d-wave-nastupila-li-era-kvantovyh-kompyuterov

Corsi e lezioni

https://www.coursera.org/learn/kvantovyye-vychisleniya
https://www.youtube.com/watch?v=uPw9nkJAwDY&amp=&index=4&amp=&t=0s
https://courses.edx.org/courses/BerkeleyX/CS191x/2013_Spring/course/#
https://www.youtube.com/watch?v=xLfFWXUNJ_I&list=PLnbH8YQPwKbnofSQkZE05PKzPXzbDCVXv
https://cs269q.stanford.edu/syllabus.html
https://quantum-computing.ibm.com/support/guides/user-guide?section=5dcb2b45330e880045abccb0
https://gitlab.com/qkitchen/basics-of-quantum-computing

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster