Tutto su costruzione e ristrutturazione

Informatica quantistica. Una breve introduzione all'informatica quantistica (guest post di Roman Dushkin)

Il contenuto del concetto di “parallelismo quantistico” può essere rivelato come segue: “I dati nel processo di calcolo rappresentano l’informazione quantistica, che alla fine del processo viene convertita in informazione classica misurando lo stato finale del registro quantistico. Il guadagno negli algoritmi quantistici si ottiene grazie al fatto che quando si applica un’operazione quantistica, un gran numero di coefficienti di sovrapposizione di stati quantistici, che contengono informazioni classiche in forma virtuale, vengono trasformati simultaneamente”.

L'entanglement quantistico, chiamato anche "sovrapposizione quantistica", di solito significa: "Immaginiamo un atomo che potrebbe subire un decadimento radioattivo in un certo periodo di tempo. Oppure potrebbe non esserlo. Possiamo aspettarci che questo atomo abbia solo due stati possibili: "decadimento" e "non decadimento", /.../ ma nella meccanica quantistica un atomo può avere una sorta di stato unificato - "decadimento - non decadimento", cioè né l'uno né l'altro, ma come se fosse nel mezzo. Questo stato è chiamato "sovrapposizione".

Le caratteristiche di base dei computer quantistici in teoria consentono loro di superare alcune delle limitazioni incontrate nel funzionamento dei computer classici.

Teoria

Qubit

L'idea dell'informatica quantistica, espressa per la prima volta da Yu. I. Manin e R. Feynman, è che un sistema quantistico di l elementi quantistici a due livelli (qubit) ha 2 l stati linearmente indipendenti, e quindi, per il principio di sovrapposizione quantistica, 2 l Spazio degli stati di Hilbert bidimensionale. Un'operazione nell'informatica quantistica corrisponde a una rotazione in questo spazio. Quindi, un dispositivo di calcolo quantistico di grandi dimensioni l un qubit può eseguirne 2 in parallelo l operazioni.

Supponiamo che ci sia un qubit. In questo caso, dopo la misurazione, nella cosiddetta forma classica, il risultato sarà 0 o 1. In realtà un qubit è un oggetto quantistico e quindi, per il principio di indeterminazione, può essere sia 0 che 1 con un certa probabilità. Se un qubit è 0 (o 1) con una probabilità del 100%, il suo stato è indicato utilizzando il simbolo |0> (o |1>) - nella notazione Dirac. |0> e |1> sono gli stati di base. Nel caso generale, lo stato quantistico di un qubit è compreso tra quelli base e si scrive nella forma , dove | UN|² e | B|² - probabilità di misurazione rispettivamente 0 o 1; ; | UN|² + | B|² = 1. Inoltre, subito dopo la misurazione, il qubit entra nello stato quantistico di base, in modo simile al risultato classico.

C'è un qubit in uno stato quantistico In questo caso, la probabilità di ottenere durante la misurazione In questo caso, durante la misurazione, abbiamo ottenuto 0 con una probabilità del 64%. Quindi il qubit passa a un nuovo stato quantico 1*|0>+0*|1>=|0>, ovvero la prossima volta che misuriamo questo qubit otterremo 0 con una probabilità al cento per cento. Ciò è dovuto al fatto che il vettore degli stati di Dirac non dipende dal tempo, cioè è scomposto in una somma di vettori di stati fondamentali con coefficienti indipendenti dal tempo.

Per spiegare questo facciamo due esempi tratti dalla meccanica quantistica: 1) il fotone è in uno stato di sovrapposizione di due polarizzazioni; la misurazione fa collassare una volta per tutte lo stato del fotone in uno con una certa polarizzazione; 2) un atomo radioattivo ha una certa emivita; una misurazione può rivelare che non è ancora decaduto, ma ciò non significa che non decadrà mai.

Passiamo a un sistema di due qubit. Misurando ciascuno di essi può dare 0 o 1. Pertanto, il sistema ha 4 stati classici: 00, 01, 10 e 11. Gli stati quantistici di base sono simili a loro: |00>, |01>, |10> e |11 >. E infine, lo stato quantistico generale del sistema ha la forma . Ora | UN|² - probabilità di misurare 00, ecc. Nota che | UN|²+| B|²+| C|²+| D|²=1 come probabilità totale.

In generale, i sistemi da l ha 2 qubit l stati classici (00000...(L-zeri),...00001(L-cifre),..., 11111...(L-unità)), ciascuno dei quali può essere misurato con probabilità di 0-100 %.

Pertanto, un'operazione su un gruppo di qubit influisce su tutti i valori che può assumere, a differenza di un bit classico. Ciò garantisce un parallelismo dei calcoli senza precedenti.

Calcolo

Uno schema di calcolo semplificato su un computer quantistico si presenta così: viene preso un sistema di qubit su cui viene registrato lo stato iniziale. Lo stato del sistema o dei suoi sottosistemi viene quindi modificato attraverso operazioni quantistiche di base. Alla fine si misura il valore e questo è il risultato del computer.

Si scopre che per costruire qualsiasi calcolo sono sufficienti due operazioni fondamentali. Il sistema quantistico fornisce un risultato corretto solo con una certa probabilità. Ma aumentando leggermente le operazioni nell'algoritmo, puoi avvicinare il più possibile la probabilità di ottenere il risultato corretto a uno.

Utilizzando operazioni quantistiche di base, è possibile simulare il funzionamento delle normali porte logiche che compongono i normali computer. Pertanto, qualsiasi problema risolto ora verrà risolto da un computer quantistico, e quasi nello stesso tempo. Quindi, nuovo schema l’informatica non sarà più debole di quella attuale.

Perché un computer quantistico è migliore di uno classico? La maggior parte dei computer moderni funziona secondo lo stesso schema: n bit di memoria memorizzano lo stato e vengono modificati dal processore ad ogni ciclo temporale. Nel caso quantistico, un sistema di n qubit si trova in uno stato che è una sovrapposizione di tutti gli stati base, quindi un cambiamento nel sistema riguarda tutti e 2 n stati fondamentali contemporaneamente. In teoria, il nuovo schema può funzionare molto (in modo esponenziale molte volte) più velocemente di quello classico. In pratica, l'algoritmo di ricerca nel database (quantistico) di Grover mostra un aumento quadratico di potenza rispetto agli algoritmi classici. Finora non esistono in natura.

Algoritmi

È stato dimostrato che l’“accelerazione quantistica” non è possibile per ogni algoritmo.

Teletrasporto quantistico

L'algoritmo di teletrasporto implementa l'esatto trasferimento dello stato di un qubit (o sistema) ad un altro. IN lo schema più semplice Vengono utilizzati 4 qubit: sorgente, ricevitore e due ausiliari. Si noti che come risultato dell'algoritmo, lo stato iniziale della sorgente verrà distrutto: questo è un esempio dell'azione generale principio di impossibilità di clonazione- è impossibile creare una copia esatta di uno stato quantistico senza distruggere l'originale. In effetti, è abbastanza semplice creare stati identici sui qubit. Ad esempio, avendo misurato 3 qubit, trasferiremo ciascuno di essi negli stati base (0 o 1) e su almeno due di essi coincideranno. Impossibile copiare arbitrario stato e il teletrasporto sostituisce questa operazione.

Il teletrasporto consente di trasferire lo stato quantico di un sistema utilizzando i normali canali di comunicazione classici. In questo modo è possibile in particolare ottenere lo stato legato di un sistema costituito da sottosistemi situati a grande distanza.

Applicazioni dei computer quantistici

Specifiche dell'applicazione

Può sembrare che un computer quantistico sia un tipo di computer analogico. Ma questo non è vero: si tratta essenzialmente di un dispositivo digitale, ma di natura analogica.

I principali problemi associati alla creazione e all'uso dei computer quantistici:

  • è necessario garantire un'elevata precisione di misurazione;
  • le influenze esterne possono distruggere il sistema quantistico o introdurre distorsioni in esso.

Applicazioni alla crittografia

Grazie all’enorme velocità di scomposizione in fattori primi, un computer quantistico consentirà di decriptare i messaggi crittografati utilizzando un popolare algoritmo crittografico asimmetrico, aprendo nuove possibilità nel campo della trasmissione dei messaggi. Prototipi di sistemi di questo tipo sono in fase di sviluppo.

Implementazioni

La società canadese D-Wave ha annunciato nel febbraio 2007 la creazione di un campione di computer quantistico composto da 16 qubit (il dispositivo si chiamava Orion). Tuttavia, le informazioni su questo dispositivo non soddisfacevano i severi requisiti di un accurato rapporto scientifico; la notizia non ha ricevuto riconoscimento scientifico. Inoltre, i futuri progetti dell’azienda (la creazione di un computer da 1024 qubit nel prossimo futuro) hanno suscitato scetticismo tra i membri della comunità di esperti.

Nel novembre 2007, la stessa società, D-Wave, ha dimostrato online il funzionamento di un campione di computer da 28 qubit in una conferenza sul supercalcolo. Questa dimostrazione suscitò anche un certo scetticismo.

Nel dicembre 2008, l'azienda ha organizzato il progetto di calcolo distribuito AQUA@home( UN diabatico Q.U. antum UN lgorithms), che testa algoritmi che ottimizzano i calcoli sui computer quantistici superconduttori adiabatici D-Wave.

Guarda anche

Appunti

Letteratura

  • Kilin S.Ya. Quanti e informazione / Progressi in ottica. - 2001. -Vol. 42. - P. 1-90.
  • Kilin S.Ya. Informazioni quantistiche / Progressi nelle scienze fisiche. - 1999. - T. 169. - P. 507-527.
  • Pro e contro dell'informatica quantistica. Ed. Sadovnichy V. A.
  • Computer quantistico e calcolo quantistico. Ed. Sadovnichy V. A.
  • Valiev K. A., Kokin A. A. Computer quantistici: speranze e realtà. Mosca, Izhevsk: Dinamiche regolari e caotiche, 2004. 320 p. ISBN 5-93972-024-2

Collegamenti

  • Computer quantistico e sua base elementare a semiconduttore
  • Kitaev A., Shen A., Vyalyi M. Informatica classica e quantistica
  • QWiki (inglese) e Quantiki (inglese) - Risorse Wiki per la scienza dell'informazione quantistica
  • Linguaggio di programmazione QCL per computer quantistici
  • Corso “Problemi moderni di informatica teorica” (lezioni frontali sull'informatica quantistica: introduzione, codifica super-densa, teletrasporto quantistico, algoritmi di Simon e Shor)
  • InFuture.ru: Il futuro dei computer quantistici è nell'informatica ternaria
  • Valiev K. A. “Computer quantistici e calcolo quantistico” UFN 175 3 (2005)

Fondazione Wikimedia. 2010.

  • Effetto dimensione quantistica
  • Effetti quantidimensionali

Scopri cos'è il termine "informatica quantistica" in altri dizionari:

    Computer quantistici- 3 qubit di un registro quantistico contro 3 bit di uno convenzionale Un computer quantistico è un ipotetico dispositivo di calcolo che, eseguendo algoritmi quantistici, utilizza in modo significativo effetti quantomeccanici nel suo funzionamento, come ... ... Wikipedia

    TEORIE TOPOLOGICHE DEI CAMPI QUANTISTICI- meccanica quantistica o teorie quantistiche dei campi, tutte funzioni di correlazione in cui non dipendono dalla scelta di coordinate e metriche sia nello spazio tempo che in altri spazi coinvolti nella definizione della teoria. Ciò consente di utilizzare... ... Enciclopedia fisica

    Computer quantistico- 3 qubit di un registro quantistico contro 3 bit di un registro convenzionale.Il computer quantistico è un dispositivo informatico che funziona sulla base della meccanica quantistica. Un computer quantistico è fondamentalmente diverso dai computer classici basati su... Wikipedia

Oggi vorrei iniziare a pubblicare una serie di appunti su questo argomento scottante, sul quale è stato recentemente pubblicato il mio nuovo libro, ovvero un'introduzione alla comprensione del modello computazionale quantistico. Ringrazio il mio buon amico e collega Alexander per l'opportunità di pubblicare guest post su questo argomento sul suo blog.

Ho cercato di rendere questa breve nota il più semplice possibile dal punto di vista della comprensione per il lettore impreparato, il quale però vorrebbe capire di cosa si tratta calcolo quantistico. Tuttavia, è necessario che il lettore abbia una conoscenza di base dell'informatica. Beh, neanche un’educazione matematica generale andrebbe bene :). Non ci sono formule nell'articolo, tutto è spiegato a parole. Potete comunque farmi domande nei commenti e cercherò di spiegarmi al meglio.

Cos'è l'informatica quantistica?

Partiamo dal fatto che l'informatica quantistica è un argomento nuovo, molto di moda, che si sta sviluppando a passi da gigante in diverse direzioni (mentre nel nostro Paese, come ogni scienza fondamentale, rimane in rovina ed è lasciato a pochi scienziati seduti in poltrona). le loro torri d'avorio). E ora si parla già della comparsa dei primi computer quantistici (D-Wave, ma questo non è un computer quantistico universale), ogni anno vengono pubblicati nuovi algoritmi quantistici, vengono creati linguaggi di programmazione quantistica, l'oscuro genio del International Business Machines nei laboratori sotterranei segreti produce calcoli quantistici su dozzine di qubit.

Che cos'è? Il calcolo quantistico è un modello di calcolo che differisce dai modelli di Turing e von Neumann e si prevede che sia più efficiente per alcuni compiti. Perlomeno sono stati riscontrati problemi per i quali il modello di calcolo quantistico conferisce complessità polinomiale, mentre per il modello di calcolo classico non sono noti algoritmi che avrebbero una complessità inferiore a quella esponenziale (ma, d’altra parte, non è stato ancora dimostrato che tali algoritmi non esistono).

Come può essere? È semplice. Il modello di calcolo quantistico si basa su diverse regole abbastanza semplici per trasformare le informazioni di input, che forniscono una massiccia parallelizzazione dei processi di calcolo. In altre parole, puoi valutare il valore di una funzione per tutti i suoi argomenti contemporaneamente (e questa sarà una singola chiamata di funzione). Ciò si ottiene mediante una preparazione speciale dei parametri di input e un tipo speciale di funzione.

Lighter Prots insegna che tutto ciò è manipolazione sintattica con simboli matematici, dietro i quali, in realtà, non c'è alcun significato. Esiste un sistema formale con regole per trasformare l'input in output e questo sistema consente, attraverso l'applicazione coerente di queste regole, di ottenere output dai dati di input. Tutto ciò alla fine si riduce alla moltiplicazione di una matrice e di un vettore. Sì sì sì. L'intero modello di calcolo quantistico si basa su una semplice operazione: moltiplicare una matrice per un vettore, ottenendo come risultato un altro vettore.

Il luminare Halikaarn, al contrario, insegna che esiste un processo fisico oggettivo che esegue l'operazione specificata, e solo la cui esistenza determina la possibilità di una massiccia parallelizzazione dei calcoli delle funzioni. Il fatto che lo percepiamo come una moltiplicazione di una matrice per un vettore è solo il nostro modo di riflettere in modo imperfetto la realtà oggettiva nella nostra mente.

Nel nostro laboratorio scientifico intitolato ai luminari Prots e Halikaarn, combiniamo questi due approcci e affermiamo che il modello di calcolo quantistico è un'astrazione matematica che riflette un processo oggettivo. In particolare, i numeri nei vettori e nelle matrici sono complessi, anche se questo non aumenta affatto la potenza computazionale del modello (sarebbe altrettanto potente con i numeri reali), ma i numeri complessi sono stati scelti perché è stato trovato un processo fisico oggettivo che esegue tali trasformazioni, come descrive il modello, e in cui vengono utilizzati numeri complessi. Questo processo è chiamato evoluzione unitaria di un sistema quantistico.

Il modello di calcolo quantistico si basa sul concetto di qubit. In sostanza è come un bit nella teoria classica dell'informazione, ma un qubit può assumere più valori contemporaneamente. Dicono che un qubit è in una sovrapposizione dei suoi stati, cioè il valore di un qubit è una combinazione lineare dei suoi stati base, e i coefficienti degli stati base sono precisamente numeri complessi. Gli stati fondamentali sono i valori 0 e 1, noti dalla teoria classica dell'informazione (nell'informatica quantistica sono solitamente indicati con |0> e |1>).

Non è ancora molto chiaro quale sia il trucco. Ed ecco il trucco. La sovrapposizione di un qubit è scritta come A|0> + B|1>, dove A e B sono numeri complessi, il cui unico vincolo è che la somma dei quadrati dei loro moduli deve essere sempre uguale a 1. Cosa se consideriamo due qubit? Due bit possono avere 4 possibili valori: 00, 01, 10 e 11. È ragionevole supporre che i due qubit rappresentino una sovrapposizione di quattro valori base: A|00> + B|01> + C|10> + D| 11>. E così è. I tre qubit sono una sovrapposizione di otto valori di base. In altre parole, un registro quantistico di N qubit memorizza contemporaneamente 2N numeri complessi. Ebbene, da un punto di vista matematico, questo è un vettore a 2N dimensioni in uno spazio a valori complessi. Questo è ciò che raggiunge la potenza esponenziale del modello di calcolo quantistico.

La prossima è una funzione che viene applicata ai dati di input. Poiché l'input è ora una sovrapposizione di tutti i possibili valori dell'argomento di input, la funzione deve essere convertita per accettare tale sovrapposizione ed elaborarla. Anche qui tutto è più o meno semplice. All'interno del modello di calcolo quantistico, ogni funzione è una matrice soggetta a un vincolo: deve essere hermitiana. Ciò significa che quando questa matrice viene moltiplicata per il suo coniugato hermitiano, si dovrebbe ottenere la matrice identità. La matrice coniugata hermitiana si ottiene trasponendo la matrice originale e sostituendo tutti i suoi elementi con i loro complessi coniugati. Questa limitazione deriva dalla limitazione precedentemente menzionata sul registro quantistico. Il fatto è che se tale matrice viene moltiplicata per il vettore di un registro quantistico, il risultato è un nuovo registro quantistico, la somma dei quadrati dei moduli dei coefficienti a valori complessi per i cui stati quantistici è sempre uguale a 1.

È dimostrato che qualsiasi funzione può essere trasformata in una tale matrice in un modo speciale. Anche mostrato. che qualsiasi matrice hermitiana può essere espressa dal prodotto tensoriale di un piccolo insieme di matrici base che rappresentano operazioni logiche di base. Tutto qui è più o meno lo stesso del modello computazionale classico. Questo è un argomento più complesso che va oltre lo scopo di questo articolo di revisione. Cioè, ora la cosa principale da capire è che qualsiasi funzione può essere espressa come una matrice adatta all'uso all'interno del modello di calcolo quantistico.

Cosa succede dopo? Qui abbiamo un vettore di input, che è una sovrapposizione di varie opzioni per i valori del parametro di input della funzione. Esiste una funzione sotto forma di matrice hermitiana. L'algoritmo quantistico è una moltiplicazione matrice-vettore. Il risultato è un nuovo vettore. Che razza di sciocchezza è questa?

Il fatto è che nel modello di calcolo quantistico esiste un'altra operazione chiamata misurazione. Possiamo misurare un vettore e ricavarne un valore qubit specifico. Cioè, la sovrapposizione collassa in un valore specifico. E la probabilità di ottenere l'uno o l'altro valore è uguale al quadrato del modulo del coefficiente a valori complessi. E ora è chiaro il motivo per cui la somma dei quadrati dovrebbe essere uguale a 1, poiché la misurazione produrrà sempre un determinato valore, e quindi la somma delle probabilità di ottenerli è pari a uno.

Quindi cosa succede? Avendo N qubit, puoi elaborare simultaneamente 2N numeri complessi. E il vettore di output conterrà i risultati dell'elaborazione simultanea di tutti questi numeri. Questa è la potenza del modello di calcolo quantistico. Ma puoi ottenere solo un valore e può essere diverso ogni volta a seconda della distribuzione di probabilità. Questa è una limitazione del modello di calcolo quantistico.

L'essenza dell'algoritmo quantistico è la seguente. Viene creata una sovrapposizione altrettanto probabile di tutti i possibili valori del parametro di input. Questa sovrapposizione viene alimentata all'ingresso della funzione. Inoltre, in base ai risultati della sua esecuzione, si trae una conclusione sulle proprietà di questa funzione. Il fatto è che non possiamo ottenere tutti i risultati, ma possiamo trarre conclusioni complete sulle proprietà della funzione. E la prossima sezione mostrerà alcuni esempi.

Nella stragrande maggioranza delle fonti sull'informatica quantistica, il lettore troverà descrizioni di diversi algoritmi che, di fatto, vengono solitamente utilizzati per dimostrare la potenza del modello computazionale. Qui esamineremo anche brevemente e superficialmente tali algoritmi (due di essi, che dimostrano diversi principi di base del calcolo quantistico). Ebbene, per una conoscenza dettagliata di loro, faccio nuovamente riferimento al mio nuovo libro.

L'algoritmo di Deutsch

Questo è il primo algoritmo sviluppato per dimostrare l'essenza e l'efficacia dell'informatica quantistica. Il problema risolto da questo algoritmo è completamente avulso dalla realtà, ma può essere utilizzato per mostrare il principio di base alla base del modello.

Quindi, supponiamo che ci sia una funzione che riceve un bit come input e restituisce un bit come output. Onestamente, potrebbero esserci solo 4 funzioni di questo tipo, due delle quali sono costanti, ovvero una restituisce sempre 0 e l'altra restituisce sempre 1. Le altre due sono bilanciate, ovvero restituiscono 0 e 1 in un numero uguale di casi. Domanda: come puoi determinare in una chiamata a questa funzione se è costante o bilanciata?

Ovviamente questo non può essere fatto nel modello computazionale classico. È necessario chiamare la funzione due volte e confrontare i risultati. Ma nel modello di calcolo quantistico ciò è possibile, poiché la funzione verrà chiamata solo una volta. Vediamo…

Come già scritto, prepareremo una sovrapposizione altrettanto probabile di tutti i possibili valori del parametro di input della funzione. Poiché abbiamo un qubit in input, la sua sovrapposizione con uguale probabilità viene preparata utilizzando un'applicazione della porta Hadamard (questa è una funzione speciale che prepara sovrapposizioni con uguale probabilità :). Successivamente, viene applicata nuovamente la porta Hadamard, che funziona in modo tale che se una sovrapposizione di uguale probabilità viene alimentata al suo input, la converte nuovamente negli stati |0> o |1> a seconda di quale fase la sovrapposizione di uguale probabilità è dentro. Successivamente, viene misurato il qubit e, se è uguale a |0>, la funzione in questione è costante e, se |1>, allora è bilanciata.

Che succede? Come già accennato, misurando non possiamo ottenere tutti i valori di una funzione. Ma possiamo trarre alcune conclusioni sulle sue proprietà. Il problema di Deutsch riguarda una proprietà di una funzione. E questa proprietà è molto semplice. Dopotutto, come funziona? Se la funzione è costante, la somma modulo 2 di tutti i suoi valori di output dà sempre 0. Se la funzione è bilanciata, la somma modulo 2 di tutti i suoi valori di output dà sempre 1. Questo è esattamente il risultato che abbiamo ottenuto come il risultato dell'esecuzione dell'algoritmo di Deutsch. Non sappiamo esattamente quale valore abbia restituito la funzione da una sovrapposizione altrettanto probabile di tutti i valori di input. Sappiamo solo che anche questa è una sovrapposizione di risultati, e se ora trasformiamo questa sovrapposizione in un modo speciale, si trarranno conclusioni inequivocabili sulla proprietà della funzione.

Qualcosa del genere.

Algoritmo di Grover

Un altro algoritmo, che mostra un guadagno quadratico rispetto al modello computazionale classico, risolve un problema più vicino alla realtà. Questo è l'algoritmo di Grover o, come lo chiama lo stesso Love Grover, l'algoritmo per trovare un ago in un pagliaio. Questo algoritmo si basa su un altro principio alla base del calcolo quantistico, vale a dire amplificazione.

Abbiamo già menzionato una certa fase che può avere uno stato quantistico all'interno di un qubit. Nel modello classico non esiste una fase vera e propria; si tratta di qualcosa di nuovo nel quadro dell’informatica quantistica. La fase può essere intesa come il segno del coefficiente di uno stato quantistico in sovrapposizione. L'algoritmo di Grover si basa sul fatto che una funzione appositamente preparata modifica la fase dello stato |1>.

L'algoritmo di Grover risolve il problema inverso. Se disponi di un insieme di dati non ordinato in cui devi trovare un elemento che soddisfi il criterio di ricerca, l'algoritmo di Grover ti aiuterà a farlo in modo più efficiente della semplice forza bruta. Se l’enumerazione semplice risolve il problema nelle chiamate alla funzione O(N), allora l’algoritmo di Grover trova effettivamente un dato elemento nelle chiamate alla funzione O(√N).

L'algoritmo di Grover consiste dei seguenti passaggi:

1. Inizializzazione dello stato iniziale. Ancora una volta, viene preparata una sovrapposizione con uguale probabilità di tutti i qubit di input.

2. Applicazione dell'iterazione Grover. Questa iterazione consiste nell'applicazione sequenziale della funzione di ricerca (determina il criterio di ricerca per l'elemento) e di una speciale porta di diffusione. La porta di diffusione modifica i coefficienti degli stati quantistici, ruotandoli attorno alla media. Ciò produce un'amplificazione, cioè un aumento dell'ampiezza del valore desiderato. Il trucco sta nel fatto che è necessario applicare l'iterazione un certo numero di volte (√2 N), altrimenti l'algoritmo restituirà risultati errati.

3. Misurazione. Dopo aver misurato il registro quantistico di ingresso, è probabile che si ottenga il risultato desiderato. Se è necessario aumentare l'affidabilità della risposta, l'algoritmo viene eseguito più volte e viene calcolata la probabilità cumulativa della risposta corretta.

La cosa interessante di questo algoritmo è che permette di risolvere un problema arbitrario (ad esempio uno qualsiasi della classe NP-completa), fornendo, seppure non esponenzialmente, ma un notevole aumento di efficienza rispetto al modello computazionale classico. Un prossimo articolo mostrerà come ciò può essere fatto.

Tuttavia, non si può più dire che gli scienziati continuino a sedersi nella loro torre d’avorio. Nonostante il fatto che molti algoritmi quantistici siano in fase di sviluppo per alcuni problemi strani e incomprensibili tipo Mathan (ad esempio, determinare l'ordine di un ideale di un anello finito), sono già stati sviluppati numerosi algoritmi quantistici che risolvono problemi molto applicati. Innanzitutto si tratta di compiti nel campo della crittografia (che compromettono vari sistemi e protocolli crittografici). Poi ci sono i tipici problemi matematici su grafici e matrici, e tali problemi hanno una gamma di applicazioni molto ampia. Ebbene, esistono numerosi algoritmi di approssimazione ed emulazione che utilizzano la componente analogica del modello di calcolo quantistico.

Candidato di scienze fisiche e matematiche L. FEDICHKIN (Istituto fisico e tecnologico dell'Accademia russa delle scienze.

Utilizzando le leggi della meccanica quantistica, è possibile creare un tipo di computer fondamentalmente nuovo che consentirà di risolvere alcuni problemi inaccessibili anche ai supercomputer moderni più potenti. La velocità di molti calcoli complessi aumenterà notevolmente; i messaggi inviati sulle linee di comunicazione quantistica saranno impossibili da intercettare o copiare. Oggi sono già stati realizzati i prototipi dei computer quantistici del futuro.

Matematico e fisico americano di origine ungherese Johann von Neumann (1903-1957).

Fisico teorico americano Richard Phillips Feynman (1918-1988).

Il matematico americano Peter Shor, specialista nel campo dell'informatica quantistica. Ha proposto un algoritmo quantistico per la fattorizzazione rapida di grandi numeri.

Bit quantistico o qubit. Gli stati corrispondono, ad esempio, alla direzione della rotazione del nucleo atomico verso l'alto o verso il basso.

Un registro quantistico è una catena di bit quantistici. Le porte quantistiche a uno o due qubit eseguono operazioni logiche sui qubit.

INTRODUZIONE O UN PO' DI PROTEZIONE DELLE INFORMAZIONI

Per quale programma pensi che sia stato venduto nel mondo? numero maggiore licenze? Non rischierò di insistere sul fatto che conosco la risposta giusta, ma sicuramente ne conosco una sbagliata: questa Non qualsiasi versione di Microsoft Windows. Il sistema operativo più comune è davanti a un prodotto modesto di RSA Data Security, Inc. - un programma che implementa un algoritmo di crittografia con chiave pubblica RSA, dal nome dei suoi autori: i matematici americani Rivest, Shamir e Adelman.

Il fatto è che l'algoritmo RSA è integrato nella maggior parte dei sistemi operativi commerciali, così come in molte altre applicazioni utilizzate in vari dispositivi, dalle smart card ai telefoni cellulari. In particolare è disponibile anche in Microsoft Windows, il che significa che è ovviamente più diffuso di questo popolare sistema operativo. Per rilevare tracce di RSA, ad esempio, nel browser Internet Explorer (un programma per visualizzare le pagine www su Internet), è sufficiente aprire il menu "Guida", accedere al sottomenu "Informazioni su Internet Explorer" e visualizzare l'elenco dei prodotti usati da altre società. Anche un altro browser comune, Netscape Navigator, utilizza l'algoritmo RSA. In generale, è difficile trovare una nota azienda operante nel campo dell'alta tecnologia che non comprerebbe una licenza per questo programma. Oggi, RSA Data Security, Inc. ha già venduto più di 450 milioni(!) di licenze.

Perché l’algoritmo RSA era così importante?

Immagina di dover scambiare velocemente un messaggio con una persona lontana. Grazie allo sviluppo di Internet, tale scambio è diventato disponibile per la maggior parte delle persone oggi: è sufficiente avere un computer con un modem o una scheda di rete. Naturalmente, quando scambiate informazioni in rete, vorrete mantenere segreti i vostri messaggi agli estranei. Tuttavia, è impossibile proteggere completamente una lunga linea di comunicazione dalle intercettazioni. Ciò significa che quando i messaggi vengono inviati, devono essere crittografati e una volta ricevuti devono essere decrittografati. Ma come potete concordare tu e il tuo interlocutore quale chiave utilizzerete? Se invii la chiave del codice sulla stessa linea, un utente malintenzionato può facilmente intercettarlo. Naturalmente è possibile trasmettere la chiave tramite un'altra linea di comunicazione, ad esempio inviarla tramite telegramma. Ma questo metodo è solitamente scomodo e, inoltre, non sempre affidabile: è possibile intercettare anche l'altra linea. Sarebbe positivo se tu e il tuo destinatario sapeste in anticipo che vi sareste scambiati la crittografia e quindi vi scambiaste le chiavi in ​​anticipo. Ma cosa succede se, ad esempio, vuoi inviare un'offerta commerciale riservata a un possibile partner commerciale o acquistare con carta di credito un prodotto che ti piace in un nuovo negozio online?

Negli anni '70, per risolvere questo problema, furono proposti sistemi di crittografia che utilizzavano due tipi di chiavi per lo stesso messaggio: pubblica (che non richiede di essere mantenuta segreta) e privata (rigorosamente segreta). La chiave pubblica viene utilizzata per crittografare il messaggio e la chiave privata viene utilizzata per decrittografarlo. Invii al tuo corrispondente una chiave pubblica e lui la usa per crittografare il suo messaggio. Tutto ciò che un utente malintenzionato che ha intercettato una chiave pubblica può fare è crittografare la sua posta elettronica con essa e inoltrarla a qualcuno. Ma non sarà in grado di decifrare la corrispondenza. Tu, conoscendo la chiave privata (è inizialmente memorizzata presso di te), puoi leggere facilmente il messaggio a te indirizzato. Per crittografare i messaggi di risposta, utilizzerai la chiave pubblica inviata dal tuo corrispondente (e lui manterrà per sé la chiave privata corrispondente).

Questo è esattamente lo schema crittografico utilizzato nell'algoritmo RSA, il metodo di crittografia a chiave pubblica più comune. Inoltre, per creare una coppia di chiavi pubblica e privata, viene utilizzata la seguente importante ipotesi. Se ce ne sono due grandi (che richiedono la scrittura di più di cento cifre decimali) semplice numeri M e K, trovare il loro prodotto N=MK non sarà difficile (per questo non è nemmeno necessario avere un computer: una persona abbastanza attenta e paziente sarà in grado di moltiplicare tali numeri con carta e penna). Ma per risolvere il problema inverso, cioè conoscere un numero N grande, bisogna scomporlo in fattori primi M e K (i cosiddetti problema di fattorizzazione) - quasi impossibile! Questo è proprio il problema che incontrerà un attacker se deciderà di “hackerare” l'algoritmo RSA e leggere le informazioni con esso criptate: per scoprire la chiave privata, conoscendo quella pubblica, dovrà calcolare M o K .

Per verificare la validità dell'ipotesi sulla complessità pratica della fattorizzazione di grandi numeri, sono stati e vengono organizzati concorsi speciali. La scomposizione di un numero di sole 155 cifre (512 bit) è considerata un record. I calcoli furono effettuati in parallelo su molti computer per sette mesi nel 1999. Se questa attività venisse eseguita su un singolo personal computer moderno, richiederebbe circa 35 anni di tempo di calcolo! I calcoli mostrano che utilizzando anche un migliaio di postazioni di lavoro moderne e il miglior algoritmo di calcolo oggi conosciuto, un numero di 250 cifre può essere fattorizzato in circa 800mila anni e un numero di 1000 cifre in 10-25 (!) anni. (Per confronto, l’età dell’Universo è di circa 10 10 anni.)

Pertanto, algoritmi crittografici come RSA, operanti su chiavi sufficientemente lunghe, erano considerati assolutamente affidabili e venivano utilizzati in molte applicazioni. E tutto andava bene fino ad allora ...finché non apparvero i computer quantistici.

Si scopre che utilizzando le leggi della meccanica quantistica è possibile costruire computer per i quali il problema della fattorizzazione (e molti altri!) non sarà difficile. Si stima che un computer quantistico con solo circa 10mila bit quantici di memoria possa scomporre in fattori primi un numero di 1000 cifre in poche ore!

COME TUTTO COMINCIÒ?

Fu solo a metà degli anni ’90 che la teoria dei computer quantistici e l’informatica quantistica si affermarono come un nuovo campo della scienza. Come spesso accade con le grandi idee, è difficile individuare l’ideatore. Apparentemente il matematico ungherese J. von Neumann fu il primo ad attirare l'attenzione sulla possibilità di sviluppare la logica quantistica. Tuttavia, a quel tempo, non erano ancora stati creati non solo i computer quantistici, ma anche quelli classici e ordinari. E con l'avvento di quest'ultimo, gli sforzi principali degli scienziati sono stati mirati principalmente alla ricerca e allo sviluppo di nuovi elementi per loro (transistor e quindi circuiti integrati) e non alla creazione di dispositivi informatici fondamentalmente diversi.

Negli anni '60, il fisico americano R. Landauer, che lavorava presso l'IBM, cercò di attirare l'attenzione del mondo scientifico sul fatto che i calcoli sono sempre un processo fisico, il che significa che è impossibile comprendere i limiti delle nostre capacità computazionali senza specificando a quale implementazione fisica corrispondono. Sfortunatamente, a quel tempo, l’opinione dominante tra gli scienziati era che il calcolo fosse una sorta di procedura logica astratta che avrebbe dovuto essere studiata dai matematici, non dai fisici.

Con la diffusione dei computer, gli scienziati quantistici giunsero alla conclusione che era praticamente impossibile calcolare direttamente lo stato di un sistema in evoluzione costituito solo da poche dozzine di particelle interagenti, come una molecola di metano (CH 4). Ciò è spiegato dal fatto che per descrivere completamente un sistema complesso, è necessario mantenere nella memoria del computer un numero esponenzialmente grande (in termini di numero di particelle) di variabili, le cosiddette ampiezze quantistiche. Si è creata una situazione paradossale: conoscendo l'equazione dell'evoluzione, conoscendo con sufficiente precisione tutti i potenziali di interazione delle particelle tra loro e lo stato iniziale del sistema, è quasi impossibile calcolarne il futuro, anche se il sistema è costituito solo da 30 elettroni in un pozzo potenziale e c'è un supercomputer con RAM, il cui numero di bit è uguale al numero di atomi nella regione visibile dell'Universo (!). E allo stesso tempo, per studiare la dinamica di un tale sistema, puoi semplicemente condurre un esperimento con 30 elettroni, posizionandoli in un dato potenziale e stato iniziale. Ciò, in particolare, fu notato dal matematico russo Yu. I. Manin, che nel 1980 indicò la necessità di sviluppare una teoria dei dispositivi di calcolo quantistico. Negli anni '80, lo stesso problema fu studiato dal fisico americano P. Benev, che dimostrò chiaramente che un sistema quantistico può eseguire calcoli, così come dallo scienziato inglese D. Deutsch, che teoricamente sviluppò un computer quantistico universale superiore al suo controparte classica.

Il vincitore ha attirato grande attenzione sul problema dello sviluppo dei computer quantistici premio Nobel in fisica R. Feynman, ben noto ai lettori abituali di Science and Life. Grazie al suo autorevole appello, il numero di specialisti che hanno prestato attenzione all'informatica quantistica è aumentato molte volte.

Eppure per molto tempo non è stato chiaro se l’ipotetica potenza di calcolo di un computer quantistico potesse essere utilizzata per accelerare la soluzione di problemi pratici. Ma nel 1994, il matematico americano e dipendente della Lucent Technologies (USA), P. Shor, stupì il mondo scientifico proponendo un algoritmo quantistico che consente la fattorizzazione rapida di grandi numeri (l'importanza di questo problema è già stata discussa nell'introduzione). Rispetto al miglior metodo classico oggi conosciuto, l’algoritmo quantistico di Shor fornisce un’accelerazione multipla dei calcoli, e quanto più lungo è il numero fattorizzato, tanto maggiore è il guadagno di velocità. L'algoritmo di fattorizzazione veloce è di grande interesse pratico per varie agenzie di intelligence che hanno accumulato banche di messaggi non decifrati.

Nel 1996, il collega di Shore alla Lucent Technologies L. Grover propose un algoritmo quantistico per la ricerca rapida in un database non ordinato. (Un esempio di tale database è un elenco telefonico in cui i nomi degli abbonati non sono disposti in ordine alfabetico, ma in modo arbitrario.) Il compito di cercare, selezionare l'elemento ottimale tra numerose opzioni si incontra molto spesso nei settori economico, militare, problemi di ingegneria e nei giochi per computer. L'algoritmo di Grover consente non solo di accelerare il processo di ricerca, ma anche di raddoppiare approssimativamente il numero di parametri presi in considerazione nella scelta dell'ottimale.

La vera creazione dei computer quantistici è stata ostacolata essenzialmente dall’unico problema serio: errori o interferenze. Il fatto è che lo stesso livello di interferenza rovina il processo del calcolo quantistico in modo molto più intenso rispetto al calcolo classico. P. Shor ha delineato i modi per risolvere questo problema nel 1995, sviluppando uno schema per codificare gli stati quantistici e correggere gli errori in essi contenuti. Sfortunatamente, l’argomento della correzione degli errori nei computer quantistici è tanto importante quanto complesso da trattare in questo articolo.

DISPOSITIVO DI UN COMPUTER QUANTISTICO

Prima di raccontarvi come funziona un computer quantistico, ricordiamo le caratteristiche principali dei sistemi quantistici (vedi anche “Science and Life” n. 8, 1998; n. 12, 2000).

Per comprendere le leggi del mondo quantistico, non bisogna fare affidamento direttamente sull'esperienza quotidiana. Nel modo consueto (nella comprensione quotidiana), le particelle quantistiche si comportano solo se le "sbirciamo" costantemente o, più strettamente parlando, misuriamo costantemente lo stato in cui si trovano. Ma non appena “ci voltiamo” (smettiamo di osservare), le particelle quantistiche si spostano immediatamente da uno stato molto specifico a diverse forme contemporaneamente. Cioè, un elettrone (o qualsiasi altro oggetto quantistico) si troverà parzialmente in un punto, parzialmente in un altro, parzialmente in un terzo, ecc. Ciò non significa che sia diviso in fette, come un'arancia. Quindi sarebbe possibile isolare in modo affidabile una parte dell'elettrone e misurarne la carica o massa. Ma l'esperienza dimostra che dopo la misurazione l'elettrone risulta essere sempre “sano e salvo” in un unico punto, nonostante prima riuscisse a trovarsi quasi ovunque contemporaneamente. Viene chiamato questo stato di un elettrone, quando si trova contemporaneamente in più punti dello spazio sovrapposizione di stati quantistici e sono solitamente descritti dalla funzione d'onda, introdotta nel 1926 dal fisico tedesco E. Schrödinger. Il modulo del valore della funzione d'onda in qualsiasi punto, al quadrato, determina la probabilità di trovare una particella in quel punto del questo momento. Dopo aver misurato la posizione di una particella, la sua funzione d'onda sembra restringersi (collassare) fino al punto in cui la particella è stata rilevata, per poi ricominciare a espandersi. La proprietà delle particelle quantistiche di trovarsi in molti stati contemporaneamente viene chiamata parallelismo quantistico, è stato utilizzato con successo nell'informatica quantistica.

Bit quantistico

La cellula base di un computer quantistico è un bit quantistico o, in breve, qubit(q-bit). Questa è una particella quantistica che ha due stati fondamentali, designati 0 e 1 o, come è consuetudine nella meccanica quantistica, e. Due valori del qubit possono corrispondere, ad esempio, agli stati fondamentale ed eccitato dell'atomo, alle direzioni su e giù dello spin del nucleo atomico, alla direzione della corrente nell'anello superconduttore, a due possibili posizioni di l'elettrone nel semiconduttore, ecc.

Registro quantistico

Il registro quantistico è strutturato quasi come quello classico. Si tratta di una catena di bit quantistici su cui è possibile eseguire operazioni logiche a uno e due bit (simili all'uso delle operazioni NOT, 2I-NOT, ecc. in un registro classico).

Gli stati base di un registro quantistico formato da L qubit comprendono, come in quello classico, tutte le possibili sequenze di zeri e uno di lunghezza L. In totale possono esserci 2 L combinazioni diverse. Possono essere considerati una registrazione di numeri in forma binaria da 0 a 2 L -1 e indicati. Tuttavia, questi stati base non esauriscono tutti i possibili valori del registro quantistico (a differenza di quello classico), poiché esistono anche stati di sovrapposizione definiti da ampiezze complesse legate dalla condizione di normalizzazione. Un analogo classico per la maggior parte dei valori possibili di un registro quantistico (ad eccezione di quelli di base) semplicemente non esiste. Gli stati di un registro classico sono solo una pietosa ombra dell’intera ricchezza di stati di un computer quantistico.

Immagina che al registro venga applicata un'influenza esterna, ad esempio, vengono applicati impulsi elettrici a una parte dello spazio o vengono diretti raggi laser. Se si tratta di un registro classico, un impulso, che può essere considerato un'operazione di calcolo, cambierà le variabili L. Se questo è un registro quantistico, lo stesso impulso può essere convertito simultaneamente in variabili. Pertanto, un registro quantistico è, in linea di principio, in grado di elaborare le informazioni molte volte più velocemente della sua controparte classica. Da qui risulta subito chiaro che i piccoli registri quantistici (L<20) могут служить лишь для демонстрации отдельных узлов и принципов работы квантового компьютера, но не принесут большой практической пользы, так как не сумеют обогнать современные ЭВМ, а стоить будут заведомо дороже. В действительности квантовое ускорение обычно значительно меньше, чем приведенная грубая оценка сверху (это связано со сложностью получения большого количества амплитуд и считывания результата), поэтому практически полезный квантовый компьютер должен содержать тысячи кубитов. Но, с другой стороны, понятно, что для достижения действительного ускорения вычислений нет необходимости собирать миллионы квантовых битов. Компьютер с памятью, измеряемой всего лишь в килокубитах, будет в некоторых задачах несоизмеримо быстрее, чем классический суперкомпьютер с терабайтами памяти.

Vale la pena notare, tuttavia, che esiste una classe di problemi per i quali gli algoritmi quantistici non forniscono un’accelerazione significativa rispetto a quelli classici. Uno dei primi a dimostrarlo è stato il matematico russo Yu. Ozhigov, che ha costruito una serie di esempi di algoritmi che, in linea di principio, non possono essere accelerati da un singolo ciclo di orologio su un computer quantistico.

Tuttavia, non c'è dubbio che i computer che funzionano secondo le leggi della meccanica quantistica rappresentano una tappa nuova e decisiva nell'evoluzione dei sistemi informatici. Non resta che costruirli.

I COMPUTER QUANTISTICI OGGI

I prototipi di computer quantistici esistono già oggi. È vero che finora è stato possibile sperimentalmente assemblare solo piccoli registri costituiti da pochi bit quantici. Così, recentemente, un gruppo guidato dal fisico americano I. Chang (IBM) ha annunciato l'assemblaggio di un computer quantistico a 5 bit. Indubbiamente, questo è un grande successo. Sfortunatamente, i sistemi quantistici esistenti non sono ancora in grado di fornire calcoli affidabili, poiché sono scarsamente controllati o molto sensibili al rumore. Tuttavia, non esistono restrizioni fisiche per costruire un computer quantistico efficace; è solo necessario superare le difficoltà tecnologiche.

Esistono diverse idee e proposte su come realizzare bit quantistici affidabili e facilmente controllabili.

I. Chang sviluppa l'idea di utilizzare gli spin dei nuclei di alcune molecole organiche come qubit.

Il ricercatore russo M.V. Feigelman, lavora presso l'Istituto di Fisica Teorica da cui prende il nome. L.D. Landau RAS, propone di assemblare registri quantistici da anelli superconduttori in miniatura. Ogni anello svolge il ruolo di un qubit e gli stati 0 e 1 corrispondono alla direzione della corrente elettrica nell'anello: in senso orario e antiorario. Tali qubit possono essere commutati utilizzando un campo magnetico.

Presso l’Istituto di fisica e tecnologia dell’Accademia russa delle scienze, un gruppo guidato dall’accademico K. A. Valiev ha proposto due opzioni per posizionare i qubit nelle strutture dei semiconduttori. Nel primo caso, il ruolo di un qubit è svolto da un elettrone in un sistema di due buche di potenziale create da una tensione applicata a minielettrodi sulla superficie del semiconduttore. Gli stati 0 e 1 sono le posizioni dell'elettrone in uno di questi pozzi. Il qubit viene commutato modificando la tensione su uno degli elettrodi. In un'altra versione, il qubit è il nucleo di un atomo di fosforo incorporato in un certo punto del semiconduttore. Stati 0 e 1 - direzioni dello spin nucleare lungo o contro il campo magnetico esterno. Il controllo viene effettuato utilizzando l'azione combinata di impulsi magnetici di frequenza di risonanza e impulsi di tensione.

Pertanto, la ricerca è attivamente in corso e si può presumere che in un futuro molto prossimo - tra circa dieci anni - verrà creato un computer quantistico efficace.

UNO SGUARDO AL FUTURO

Pertanto, è del tutto possibile che in futuro i computer quantistici verranno prodotti utilizzando i metodi tradizionali della tecnologia microelettronica e conterranno molti elettrodi di controllo, che ricordano un moderno microprocessore. Per ridurre il livello di rumore, fondamentale per il normale funzionamento di un computer quantistico, i primi modelli dovranno essere raffreddati con elio liquido. È probabile che i primi computer quantistici saranno dispositivi ingombranti e costosi che non staranno su una scrivania e saranno mantenuti da un ampio staff di programmatori di sistemi e aggiustatori hardware in camice bianco. In primo luogo, vi avranno accesso solo le agenzie governative, poi le ricche organizzazioni commerciali. Ma l’era dei computer convenzionali è iniziata più o meno allo stesso modo.

Cosa accadrà ai computer classici? Moriranno? Difficilmente. Sia i computer classici che quelli quantistici hanno le proprie aree di applicazione. Anche se, molto probabilmente, il rapporto di mercato si sposterà gradualmente verso quest'ultimo.

L’introduzione dei computer quantistici non porterà alla soluzione di problemi classici fondamentalmente irrisolvibili, ma accelererà solo alcuni calcoli. Inoltre, diventerà possibile la comunicazione quantistica: il trasferimento di qubit a distanza, che porterà all'emergere di una sorta di Internet quantistico. La comunicazione quantistica consentirà di fornire una connessione sicura (secondo le leggi della meccanica quantistica) di tutti tra loro dalle intercettazioni. Le tue informazioni archiviate nei database quantistici saranno protette dalla copia in modo più affidabile di quanto non lo siano ora. Le aziende che producono programmi per computer quantistici saranno in grado di proteggerli da qualsiasi copia, inclusa quella illegale.

Per una comprensione più approfondita di questo argomento, è possibile leggere l'articolo di revisione di E. Riffel e V. Polak, "Fundamentals of Quantum Computing", pubblicato sulla rivista russa "Quantum Computers and Quantum Computing" (n. 1, 2000). (A proposito, questa è la prima e finora l'unica rivista al mondo dedicata all'informatica quantistica. Ulteriori informazioni a riguardo possono essere trovate su Internet all'indirizzo http://rcd.ru/qc.). Una volta che avrai padroneggiato questo lavoro, sarai in grado di leggere articoli scientifici sull'informatica quantistica.

Sarà necessaria una preparazione matematica un po' più preliminare leggendo il libro di A. Kitaev, A. Shen, M. Vyaly “Classical and Quantum Computations” (Mosca: MTsNMO-CheRo, 1999).

Una serie di aspetti fondamentali della meccanica quantistica, essenziali per eseguire calcoli quantistici, sono discussi nel libro di V. V. Belokurov, O. D. Timofeevskaya, O. A. Khrustalev “Teletrasporto quantistico - un miracolo ordinario” (Izhevsk: RHD, 2000).

La casa editrice RCD si sta preparando a pubblicare una traduzione della recensione di A. Steen sui computer quantistici come libro separato.

La seguente letteratura sarà utile non solo dal punto di vista educativo, ma anche storico:

1) Yu.I. Manin. Calcolabile e incalcolabile.

M.: Sov. Radio, 1980.

2) J. von Neumann. Fondamenti matematici della meccanica quantistica.

M.: Nauka, 1964.

3) R. Feynmann. Simulazione della fisica sui computer // Computer quantistici e calcolo quantistico:

Sab. in 2 volumi - Izhevsk: RHD, 1999. T. 2, p. 96-123.

4) R. Feynmann. Computer quantomeccanici

// Ibid., pag. 123.-156.

Vedi il problema sullo stesso argomento

Di tanto in tanto vediamo una raffica di notizie sull'informatica quantistica. Questo argomento sta attirando molta attenzione, con un'azienda che afferma di avere l'algoritmo di crittografia di cui presto avrai bisogno poiché i computer quantistici renderanno inutili gli attuali algoritmi di crittografia.

Per una persona curiosa, tali affermazioni sollevano domande. Che cos'è l'informatica quantistica (Figura 1)? È vero? Se sì, come funziona? E come si collega questo alla crittografia? Poi sorgono domande più personali. L’informatica quantistica potrebbe cambiare il modo in cui progetto? Dovrei studiare questo materiale?

Anche nei rendering degli artisti, gli elementi del calcolo quantistico sono diversi da qualsiasi cosa nel mondo dell’hardware digitale.

Figura 1 – Visualizzazione degli elementi del calcolo quantistico

Si scopre che queste non sono domande molto semplici da studiare. La letteratura pertinente rientra principalmente in uno dei due generi. Il primo è destinato a un pubblico generale e tratta la meccanica quantistica come un inferno: oscura, forse pericolosa e completamente incomprensibile. Dopo aver letto tale letteratura, è abbastanza difficile trarre conclusioni.

Il secondo genere è completamente diverso, ma ugualmente "utile", scritto da esperti per impressionare altri esperti. Questo genere è caratterizzato dall'uso di termini come macchina di Turing, nome di Richard Feynman, spazio di Hilbert e trasformata di Hadamard, tutto quanto sopra e circa altre 75 parole, seguite da un groviglio di equazioni con terminologia sconosciuta e inspiegabile. Naturalmente ricorderete tutti bene cosa significa |0>!

Tre universi paralleli

Uno dei motivi per cui questo argomento è così complesso è che l’informatica quantistica abbraccia tre discipline con terminologia e interessi molto diversi. Tutto è iniziato con i fisici teorici. Nel 1980, il fisico Paul Benioff ( Paolo Benioff) dell'Argonne National Laboratory ha descritto come alcuni effetti quantomeccanici potrebbero essere utilizzati per implementare una macchina di Turing. Due anni dopo, anche il famoso fisico Richard Feynman sollevò la questione di un computer che utilizzasse il comportamento quantistico.

Ma l’idea è stata ripresa da un gruppo completamente diverso: informatici e matematici. Prendendo dalla fisica le idee di base del bit quantistico (qubit) e delle trasformazioni unitarie reversibili (che chiamavano porte quantistiche o quantili), gli scienziati informatici hanno studiato quali calcoli potrebbero essere eseguiti se esistessero qubit ideali e porte quantistiche. Hanno trovato casi in cui tali presunti computer potrebbero essere molto più veloci dei computer digitali convenzionali.

Questo risultato ha spinto i fisici sperimentali, un terzo gruppo, a iniziare gli sforzi per creare dispositivi fisici che potessero avvicinarsi ai qubit ideali e alle porte quantistiche. Si è trattato di studi lunghi e ad alta intensità di risorse che non hanno ancora dimostrato che un computer quantistico realmente funzionante sia fisicamente possibile. Ma questa possibilità è estremamente incoraggiante.

Alcuni chiarimenti

Allora, qual è questo computer immaginario che ci interessa? Chiariamo innanzitutto alcuni malintesi. Un computer quantistico non è un normale computer che simula fenomeni di meccanica quantistica. Né si tratta di un normale computer digitale, costruito con alcuni transistor (dalla fine della Legge di Moore) così piccoli da immagazzinare o scambiare quanti individuali di energia.

I computer quantistici, invece, sono macchine basate su un comportamento unico descritto dalla meccanica quantistica, completamente diverso dal comportamento dei sistemi classici. Una di queste differenze è la capacità di una particella o di un gruppo di particelle in qualche modo di trovarsi solo in due stati quantistici fondamentali discreti - chiamiamoli 0 e 1. Faremo qui senza parentesi divertenti (notazioni adottate nella teoria quantistica - aggiunte da il traduttore) Esempi di questo tipo possono essere lo spin elettronico, la polarizzazione del fotone o la carica del punto quantico.

In secondo luogo, il calcolo quantistico dipende dalla proprietà di sovrapposizione, ovvero la capacità controintuitiva di una particella di trovarsi in una combinazione degli stati base 0 e 1 contemporaneamente, finché non viene effettuata una misurazione. Una volta misurato tale stato, diventa 0 o 1 e tutte le altre informazioni scompaiono. La meccanica quantistica descrive correttamente uno stato combinato come la somma di due stati fondamentali, ciascuno dei quali è moltiplicato per un fattore complesso. La grandezza totale di questi coefficienti è sempre 1. Questo stato può essere rappresentato come un vettore unitario che inizia dall'origine e termina da qualche parte su una sfera chiamata sfera di Bloch, mostrata nella Figura 2. Il punto chiave ecco che il quadrato (modulo - aggiunto dal traduttore) del coefficiente complesso per lo stato base 0 rappresenta la probabilità che a seguito della misura il qubit si trovi nello stato base 0, analogamente per lo stato base 1. E quando effettui una misurazione, otterrai sempre o esattamente lo stato 0, o esattamente lo stato 1.


Figura 2 – Sfera di Bloch – uno dei modi per visualizzare la sovrapposizione quantistica in un qubit

Questa (proprietà di sovrapposizione - aggiunta dal traduttore) è importante perché consente al qubit di trovarsi in entrambi gli stati 0 e 1 contemporaneamente. Pertanto, un registro composto da n qubit può “contenere” contemporaneamente tutti i possibili numeri binari lunghi n bit. Ciò consente a un computer quantistico di eseguire una singola operazione non solo su un intero a n bit, ma su tutti i possibili numeri interi a n bit contemporaneamente: un parallelismo molto significativo all’aumentare di n.

In terzo luogo, il calcolo quantistico dipende dalla capacità di una porta quantistica di modificare questi coefficienti, e quindi la probabilità di misurare qualsiasi dato numero, in modo prevedibile. Se inizi con uno stato in cui tutti i coefficienti in tutti i qubit sono uguali e poi misuri tutti i qubit in un registro, è altrettanto probabile che troverai qualsiasi stringa di bit compresa tra una stringa di tutti zeri e una stringa di tutti uno, compreso. Ma eseguendo questo stato iniziale attraverso una sequenza di porte quantistiche scelta con cura, un computer quantistico può modificare questi coefficienti in modo che lo stato che con maggiore probabilità misurerai come output sia il risultato di qualche calcolo, ad esempio è molto probabile che tu misurare i bit di un numero che è un quadrato perfetto.

Computer su carta

Ma cosa c’entra tutto questo con l’informatica reale? Per rispondere a questa domanda dobbiamo spostare la nostra attenzione dai fisici teorici agli informatici e ai matematici. Per ottenere risultati pratici, dobbiamo essere in grado di mappare il registro dei qubit in una specifica sovrapposizione di stati. Abbiamo bisogno di porte quantistiche, possibilmente cavi e qualche tipo di dispositivo di output.

Tutto questo è facile per gli informatici: possono semplicemente presumere che queste idee siano già state implementate nella vita reale. Tuttavia, dovranno fare delle concessioni alla meccanica quantistica. Per evitare di infrangere le leggi della fisica quantistica, gli informatici devono richiedere che le porte quantistiche siano reversibili: è possibile inserire il risultato in output e ottenere i valori di input corretti in input. E insistono sul fatto che le porte quantistiche devono essere trasformazioni unitarie. Secondo l'algebra delle matrici, ciò significa che quando si inserisce uno stato di qubit attraverso una porta quantistica, lo stato risultante sarà 0 o 1 quando misurato e la somma delle probabilità dei quadrati di questi coefficienti rimarrà uguale all'unità.

Si noti che queste porte quantistiche, anche in teoria, sono molto diverse dalle porte logiche ordinarie. Ad esempio, la maggior parte delle funzioni booleane non sono invertibili. Non c'è modo di emettere l'input da una porta NAND a meno che l'uscita non sia 0. E, naturalmente, le porte logiche funzionano solo con uno e zero (stati 1 e 0), mentre le porte quantistiche funzionano ruotando un vettore all'interno di una sfera di Bloch. In effetti, non c'è nulla in comune tra loro tranne il nome.

Gli informatici hanno scoperto che un insieme molto piccolo di porte quantistiche è sufficiente per emulare una macchina di Turing: solo un insieme di porte quantistiche a ingresso singolo e una porta quantistica a due ingressi. L’esempio più comunemente utilizzato di porta quantistica a due ingressi è il “NOT controllato” (CNOT). Questa funzione reversibile inverte lo stato vettoriale di un qubit o lo lascia invariato, a seconda dello stato del secondo qubit. È più simile a un'analogia XOR quantistica.

Possibili benefici

Non abbiamo ancora risposto alla domanda su come tutto questo possa essere utilizzato. La risposta è che se colleghi insieme un numero sufficiente di porte quantistiche in modo adeguato e se puoi preparare qubit di input che rappresentano tutti i numeri possibili nel dominio dei dati di input, allora all'uscita della matrice di porte quantistiche puoi, in teoria, misurare la bit che rappresentano i valori di alcune funzioni utili.

Facciamo un esempio. Nel 1994, il matematico Peter Shor, dei Bell Labs, sviluppò un algoritmo per fattorizzare numeri molto grandi utilizzando routine quantistiche. Questa fattorizzazione è un problema vitale nella matematica applicata perché non esiste una soluzione analitica: l'unico modo è provare ed sbagliare, e puoi solo rendere l'algoritmo più veloce scegliendo i numeri di prova appropriati con maggiore abilità. Di conseguenza, quando si rende il numero di input molto grande, la quantità di tentativi ed errori diventa enorme. Non è un caso che questa sia la base di algoritmi di crittografia come RSA. I codici RSA e quelli a curva ellittica sono difficili da decifrare, soprattutto perché è molto difficile fattorizzare numeri enormi.

L'algoritmo di Shor combinava alcuni calcoli tradizionali con due funzioni quantistiche che accelerano direttamente l'algoritmo nella parte di prova ed errore, essenzialmente provando tutti i numeri possibili allo stesso tempo. Una dimostrazione dell'algoritmo è fornita nella Figura 3. Una di queste funzioni quantistiche esegue l'esponenziazione modulare e l'altro esegue una versione quantistica della trasformata veloce di Fourier (FFT). Per ragioni che solo un matematico potrebbe amare, se dovessimo introdurre un insieme di n qubit preparati in modo tale che insieme rappresentino tutti i possibili numeri binari fino alla lunghezza n, allora nelle porte quantistiche i diversi stati in una sovrapposizione si annullano a vicenda - come l'interferenza di due raggi luminosi coerenti - e ci rimane una certa struttura di stati nel registro di uscita.


Figura 3 – L'algoritmo di Shor dipende da routine quantistiche per l'elevamento a potenza modulare e operazioni FFT. (immagine per gentile concessione di Tyson Williams)

Questa procedura non produce un fattore primo: è solo un passaggio intermedio che consente di calcolare un possibile fattore primo. Questo calcolo viene effettuato misurando i qubit (nota che siamo nel regno della possibilità, ma non della precisione, di misurare lo stato più probabile di ciascun qubit) e quindi eseguendo numerosi calcoli di routine su un normale processore (CPU) per ottenere certo che il risultato è corretto.

Tutto ciò può sembrare irrimediabilmente complicato e impossibile. Ma la capacità dell’elevamento a potenza quantistica e della FFT quantistica di lavorare simultaneamente con tutte le possibili potenze di 2 per trovare il fattore primo più grande rende l’algoritmo di Shor più veloce dei calcoli convenzionali per grandi numeri, anche quando si utilizzano routine quantistiche teoriche piuttosto lente.

L'algoritmo di Shor è un brillante esempio di calcolo quantistico perché è diverso dal calcolo convenzionale e potenzialmente estremamente importante. Ma lui non è solo. Il National Institute of Standards and Technology (NIST) degli Stati Uniti mantiene una vasta libreria di algoritmi di calcolo quantistico nel suo Quantum Algorithms Zoo, all'indirizzo math.nist.gov/quantum/zoo/.

Questi algoritmi sono solo esercizi di matematica? È troppo presto per dirlo con certezza. Ma in pratica, i ricercatori hanno effettivamente creato calcolatori quantistici da laboratorio con diversi qubit funzionanti. Queste macchine hanno scomposto con successo il numero 15 (fatto per la prima volta presso IBM nel 2001), producendo prevedibilmente 3 e 5, e l’attuale record mondiale è 21 (fatto da un team multi-istituto nel 2012). Quindi per numeri piccoli l’idea funziona. L’idoneità di questo approccio per grandi numeri potrà essere testata in futuro solo su macchine con più qubit. E questo porta la questione a un livello pratico.

Percorso verso la realizzazione

Per creare dispositivi funzionali di calcolo quantistico, è necessario passare attraverso una serie di fasi di implementazione. Dobbiamo costruire qubit funzionanti: non solo cinque, ma migliaia. Dobbiamo organizzare una struttura di porte quantistiche e l'equivalente di fili, a meno che non riusciamo a far sì che le porte agiscano direttamente sullo stato nel registro quantistico di input. Sono tutti problemi complessi e i tempi per la loro soluzione sono imprevedibili.

Purtroppo i problemi sono legati non tanto alla novità dei problemi, quanto alle leggi della meccanica quantistica e della fisica classica. Forse il più importante e meno familiare di questi è chiamato decoerenza. Il ruolo di un qubit è quello di mantenere un oggetto fisico, come uno ione, un pacchetto di fotoni o un elettrone, in posizione in modo da poterlo influenzare e, infine, misurare una quantità quantizzata come la carica o lo spin. Affinché questa quantità si comporti in modo quantistico anziché classico, dobbiamo essere in grado di restringere il suo stato a una sovrapposizione di due stati base puri, che abbiamo chiamato 0 e 1.

Ma la natura dei sistemi quantistici è tale da collegarli alle cose che li circondano, aumentando notevolmente il numero di possibili stati sottostanti. I fisici chiamano questa confusione degli stati puri decoerenza. Un'analogia potrebbe essere un raggio laser coerente in una guida di luce, disperso da disomogeneità nel materiale e imbrattato dalla sovrapposizione di due modi in una luce completamente incoerente. L’obiettivo della creazione di un qubit fisico è prevenire la decoerenza il più a lungo possibile.

In pratica, ciò significa che anche un singolo qubit è uno strumento di laboratorio complesso, che magari utilizza laser o trasmettitori radio ad alta frequenza, campi elettrici e magnetici controllati con precisione, dimensioni precise, materiali speciali e possibilmente raffreddamento criogenico. Il suo utilizzo è essenzialmente una procedura sperimentale complessa. Nonostante tutti questi sforzi, oggi questo “il più lungo possibile” si misura in decine di microsecondi. Pertanto, hai pochissimo tempo per eseguire calcoli quantistici prima che i tuoi qubit perdano la loro coerenza. Cioè, prima che le informazioni scompaiano.

Oggi, queste limitazioni precludono la possibilità di registri quantistici di grandi dimensioni o di calcoli che richiedono più di pochi microsecondi. Tuttavia, la ricerca è attualmente in corso nel campo della microelettronica per creare array molto più grandi di qubit e porte quantistiche.

Tuttavia, questo lavoro in sé è alquanto sconnesso perché non è ancora certo quale fenomeno fisico utilizzare per memorizzare gli stati quantistici. Esistono progetti di qubit che quantizzano la polarizzazione dei fotoni, la carica degli elettroni intrappolati nei punti quantici, lo spin netto degli ioni superraffreddati in una trappola, la carica in un dispositivo chiamato transmon e molti altri approcci.

Il tipo di qubit scelto determinerà naturalmente l'implementazione della porta quantistica. Ad esempio, è possibile utilizzare l'interazione degli impulsi radio con gli spin interni nelle molecole in una trappola o l'interazione dei divisori di fascio con le modalità fotoniche nelle guide d'onda. Ovviamente, l'essenza della questione risiede nel campo della fisica sperimentale. E, come già accennato, l’implementazione di qubit o porte quantistiche richiede l’uso di un gran numero di apparecchiature diverse, dalla logica digitale ai laser o trasmettitori radio, alle antenne, ai raffreddatori criogenici.

L'implementazione di un qubit dipende anche da come viene misurato lo stato del qubit. Potrebbe essere necessario un fotometro o un bolometro ultrasensibile, un ponte resistivo o qualche altro dispositivo incredibilmente sensibile per misurare i qubit e forzare lo stato di sovrapposizione nello stato fondamentale. E oltre a ciò, questo processo di misurazione dello stato di un qubit introduce un altro problema non familiare all’informatica tradizionale: ottenere la risposta sbagliata.

Dubbi

Esistono due tipi principali di problemi con l’estrazione dello stato fondamentale da un qubit. Innanzitutto, stai misurando una sovrapposizione quantistica, non una quantità classica. Supponendo che il qubit rimanga coerente, otterrai l'uno o l'altro degli stati base, ma non puoi essere sicuro in anticipo quale otterrai: puoi solo essere sicuro che la probabilità di ottenere un particolare stato sarà il quadrato ( modulo – aggiunto dal traduttore) del coefficiente di questo stato in sovrapposizione. Se misuri un qubit esattamente nello stesso stato cento volte, otterrai una distribuzione di zeri e uno che converge ai quadrati dei coefficienti.

Quindi non sai se lo stato di base che hai misurato in qualche prova ha effettivamente la probabilità più alta. Dopo aver letto il registro di output quantistico, misurando i bit e impostandoli tutti ai loro stati base, hai tre opzioni. Potresti dubitare di avere la risposta giusta e andare avanti. Puoi verificare con calcoli tradizionali, come fa l'algoritmo di Shor, per vedere se il numero che stavi contando è effettivamente vero la decisione giusta. Oppure puoi ripetere il calcolo un gran numero di volte, in sequenza o in parallelo, e prendere il risultato che ricorre più frequentemente. Puoi anche organizzare i tuoi calcoli in modo che la risposta sia una distribuzione di probabilità degli stati sottostanti piuttosto che un numero binario specifico. Anche in questo caso è necessaria la ripetizione.

Questo è vero anche per un computer quantistico teoricamente perfetto. Ma l’implementazione vera e propria presenta un ulteriore problema: il buon vecchio rumore classico. Anche se tutto va bene, non c’è decoerenza dei qubit, e il calcolo è progettato per produrre una risposta con una probabilità molto alta, stai comunque osservando i qubit mentre cerchi di misurare quantità fisiche molto, molto piccole. Il rumore è ancora lì. Ancora una volta, l'unica soluzione è rilevare l'errore mediante ulteriori calcoli o eseguire i calcoli così tante volte da essere disposti ad accettare come risultato qualsiasi incertezza rimanente. Il concetto di risposta corretta garantita è estraneo all’essenza stessa dell’informatica quantistica.

Se tutto ciò non dipinge un quadro roseo del futuro dell’informatica quantistica, allora è qualcosa da prendere molto sul serio. La ricerca è in corso scelta migliore per implementare i qubit, sebbene la risposta possa dipendere dall'algoritmo. Gli scienziati di microelettronica stanno lavorando per miniaturizzare i componenti quantistici utilizzando nuovi materiali e strutture che consentirebbero la creazione di array molto ampi di dispositivi di calcolo quantistico che potrebbero essere prodotti in serie come i tradizionali chip di processore. Gli informatici stanno sviluppando prototipi di assemblatori e compilatori in grado di tradurre un algoritmo nella disposizione dei registri quantistici e delle porte quantistiche in una particolare tecnologia.

Ne vale la pena? Ecco un fatto. Shore ha calcolato che un modesto computer ibrido, ovvero quantistico più convenzionale, potrebbe decifrare il potente algoritmo di crittografia RSA più velocemente di quanto un computer convenzionale potrebbe crittografarlo. Risultati simili sono stati trovati per problemi come l'ordinamento e la districazione di altri problemi matematici complessi simili. Quindi, ci sono abbastanza promesse in quest’area per mantenere entusiasti i ricercatori. Ma sarebbe bello vedere tutto questo mentre sei ancora in vita.

Solo cinque anni fa, solo gli specialisti nel campo della fisica quantistica conoscevano i computer quantistici. Tuttavia, dentro l'anno scorso Il numero di pubblicazioni su Internet e in pubblicazioni specializzate dedicate all'informatica quantistica è aumentato in modo esponenziale. Il tema dell’informatica quantistica è diventato popolare e ha generato molte opinioni diverse, che non sempre corrispondono alla realtà.
In questo articolo cercheremo di parlare nel modo più chiaro possibile di cos'è un computer quantistico e in quale fase si trovano gli sviluppi moderni in questo settore.

Capacità limitate dei computer moderni

Si parla spesso di computer quantistici e di calcolo quantistico come un'alternativa alle tecnologie al silicio per la creazione di microprocessori, il che, in generale, non è del tutto vero. In realtà, perché dobbiamo cercare un’alternativa alla moderna tecnologia informatica? Come dimostra l’intera storia dell’industria informatica, la potenza di calcolo dei processori sta aumentando in modo esponenziale. Nessun altro settore si sta sviluppando a un ritmo così rapido. Di norma, quando si parla del tasso di crescita della potenza di calcolo dei processori, si ricorda la cosiddetta legge di Gordon Moore, derivata nell'aprile 1965, cioè appena sei anni dopo l'invenzione del primo circuito integrato (IC) .

Su richiesta della rivista Electronics, Gordon Moore ha scritto un articolo dedicato al 35° anniversario della pubblicazione. Ha fatto una previsione su come si svilupperanno i dispositivi a semiconduttore nei prossimi dieci anni. Dopo aver analizzato il ritmo di sviluppo dei dispositivi a semiconduttore e dei fattori economici negli ultimi sei anni, cioè dal 1959, Gordon Moore suggerì che entro il 1975 il numero di transistor in un circuito integrato sarebbe stato di 65mila.

Secondo le previsioni di Moore, infatti, il numero di transistor in un singolo chip sarebbe aumentato di oltre mille volte in dieci anni. Allo stesso tempo, ciò significava che ogni anno il numero di transistor in un chip doveva raddoppiare.

Successivamente sono state apportate modifiche alla legge di Moore (per correlarla con la realtà), ma il significato non è cambiato: il numero di transistor nei microcircuiti aumenta in modo esponenziale. Naturalmente, è possibile aumentare la densità dei transistor su un chip solo riducendo le dimensioni dei transistor stessi. A questo proposito la domanda rilevante è: fino a che punto è possibile ridurre le dimensioni dei transistor? Già ora le dimensioni dei singoli elementi transistor nei processori sono paragonabili a quelle atomiche; ad esempio, la larghezza dello strato di biossido che separa il dielettrico di gate dal canale di trasferimento della carica è solo di diverse decine di strati atomici. È chiaro che esiste un limite puramente fisico che rende impossibile ridurre ulteriormente le dimensioni dei transistor. Anche supponendo che in futuro avranno una geometria e un'architettura leggermente diverse, è teoricamente impossibile creare un transistor o un elemento simile con una dimensione inferiore a 10 -8 cm (il diametro di un atomo di idrogeno) e un circuito operativo frequenza superiore a 10 15 Hz (la frequenza delle transizioni atomiche). Pertanto, che ci piaccia o no, è inevitabile il giorno in cui la Legge di Moore dovrà essere archiviata (a meno che, ovviamente, non venga corretta ancora una volta).

Le limitate possibilità di aumentare la potenza di calcolo dei processori riducendo le dimensioni dei transistor sono solo uno dei colli di bottiglia dei classici processori al silicio.

Come vedremo più avanti, i computer quantistici non rappresentano in alcun modo un tentativo di risolvere il problema della miniaturizzazione degli elementi base dei processori.

La risoluzione del problema della miniaturizzazione dei transistor, la ricerca di nuovi materiali per creare gli elementi base della microelettronica, la ricerca di nuovi principi fisici per dispositivi con dimensioni caratteristiche paragonabili alla lunghezza d'onda di De Broglie, che ha un valore di circa 20 nm: questi problemi sono all’ordine del giorno da quasi due decenni. Come risultato della loro soluzione, è stata sviluppata la nanotecnologia. Un serio problema affrontato durante la transizione al campo dei dispositivi nanoelettronici è la riduzione della dissipazione di energia durante le operazioni computazionali. L'idea della possibilità di operazioni "logicamente reversibili" che non sono accompagnate da dissipazione di energia fu espressa per la prima volta da R. Landauer nel 1961. Un passo significativo nella risoluzione di questo problema è stato compiuto nel 1982 da Charles Bennett, che ha dimostrato teoricamente che un computer digitale universale può essere costruito su porte logicamente e termodinamicamente reversibili in modo tale che l'energia venga dissipata solo a causa di processi periferici irreversibili di immissione delle informazioni. nella macchina (preparazione dello stato iniziale) e, di conseguenza, in uscita da essa (lettura del risultato). Le tipiche valvole universali reversibili includono le valvole Fredkin e Toffoli.

Un altro problema con i computer classici risiede nell'architettura stessa di von Neumann e nella logica binaria di tutti i processori moderni. Tutti i computer, dalla macchina analitica di Charles Babbage ai moderni supercomputer, si basano sugli stessi principi (architettura von Neumann) sviluppati negli anni '40 del secolo scorso.

Qualsiasi computer a livello software funziona con bit (variabili che assumono il valore 0 o 1). Utilizzando le porte logiche, vengono eseguite operazioni logiche sui bit, che consentono di ottenere un determinato stato finale in uscita. La modifica dello stato delle variabili viene eseguita utilizzando un programma che definisce una sequenza di operazioni, ciascuna delle quali utilizza un piccolo numero di bit.

I processori tradizionali eseguono i programmi in sequenza. Nonostante l'esistenza di sistemi multiprocessore, processori multi-core e varie tecnologie volti ad aumentare il livello di parallelismo, tutti i computer costruiti sulla base dell'architettura von Neumann sono dispositivi con una modalità sequenziale di esecuzione delle istruzioni. Tutti i processori moderni implementano il seguente algoritmo per l'elaborazione di comandi e dati: recupero di comandi e dati dalla memoria ed esecuzione di istruzioni sui dati selezionati. Questo ciclo si ripete molte volte e ad una velocità tremenda.

Tuttavia, l'architettura di von Neumann limita la capacità di aumentare la potenza di calcolo dei PC moderni. Un tipico esempio di attività che va oltre le capacità dei moderni PC è la scomposizione di un numero intero in fattori primi (un fattore primo è un fattore divisibile per se stesso e 1 senza resto).

Se vuoi scomporre un numero in fattori primi X, avendo N caratteri in notazione binaria, il modo più ovvio per risolvere questo problema è provare a dividerlo sequenzialmente in numeri da 2 a. Per fare ciò, dovrai passare attraverso 2 n/2 opzioni. Ad esempio, se stai considerando un numero composto da 100.000 caratteri (in notazione binaria), dovrai utilizzare le opzioni 3x10 15.051. Se assumiamo che per una ricerca sia necessario un ciclo del processore, quindi a una velocità di 3 GHz, la ricerca tra tutti i numeri richiederà un tempo superiore all'età del nostro pianeta. Esiste, tuttavia, un algoritmo intelligente che risolve lo stesso problema in exp( N 1/3) passaggi, ma anche in questo caso nessun supercomputer moderno può far fronte al compito di fattorizzare un numero con un milione di cifre.

Il problema della fattorizzazione di un numero in fattori primi appartiene alla classe dei problemi che si dice non siano risolvibili in tempo polinomiale (problema NP-completo - Tempo polinomiale non deterministico completo). Tali problemi sono inclusi nella classe dei problemi non calcolabili nel senso che non possono essere risolti sui computer classici in un polinomio temporale dipendente dal numero di bit N, che rappresenta l'attività. Se parliamo di fattorizzare un numero in fattori primi, allora all'aumentare del numero di bit, il tempo necessario per risolvere il problema aumenta in modo esponenziale, non polinomiale.

Guardando al futuro, notiamo che il calcolo quantistico è associato alla prospettiva di risolvere problemi NP-completi in tempo polinomiale.

La fisica quantistica

Naturalmente, la fisica quantistica è vagamente correlata a quella che viene chiamata la base elementare dei computer moderni. Tuttavia, quando si parla di computer quantistico, è semplicemente impossibile evitare di menzionare alcuni termini specifici della fisica quantistica. Comprendiamo che non tutti hanno studiato il leggendario terzo volume di "Fisica teorica" ​​di L.D. Landau e E.M. Lifshitz, e per molti concetti come la funzione d'onda e l'equazione di Schrödinger sono qualcosa dell'altro mondo. Per quanto riguarda l'apparato matematico specifico della meccanica quantistica, si tratta di formule solide e parole oscure. Pertanto, cercheremo di aderire a un livello di presentazione generalmente accessibile, evitando, se possibile, l'analisi tensoriale e altre specificità della meccanica quantistica.

Per la stragrande maggioranza delle persone, la meccanica quantistica va oltre la comprensione. Il punto non è tanto nel complesso apparato matematico, ma nel fatto che le leggi della meccanica quantistica sono illogiche e non hanno un'associazione subconscia: sono impossibili da immaginare. Tuttavia, l'analisi dell'illogicità della meccanica quantistica e la nascita paradossale della logica armoniosa da questa illogicità è compito dei filosofi; toccheremo aspetti della meccanica quantistica solo nella misura necessaria per comprendere l'essenza dell'informatica quantistica.

La storia della fisica quantistica inizia il 14 dicembre 1900. Fu in questo giorno che il fisico tedesco e futuro premio Nobel Max Planck riferì in una riunione della Società di fisica di Berlino sulla scoperta fondamentale delle proprietà quantistiche della radiazione termica. Così è apparso in fisica il concetto di quanto di energia e, tra le altre costanti fondamentali, anche la costante di Planck.

La scoperta di Planck e la teoria dell'effetto fotoelettrico di Albert Einstein, apparsa poi nel 1905, nonché la creazione nel 1913 della prima teoria quantistica degli spettri atomici da parte di Niels Bohr stimolarono la creazione e l'ulteriore rapido sviluppo della teoria quantistica e degli studi sperimentali sull'effetto fotoelettrico. fenomeni.

Già nel 1926 Erwin Schrödinger formulò la sua famosa equazione d'onda, ed Enrico Fermi e Paul Dirac ottennero una distribuzione statistica quantistica per il gas di elettroni, tenendo conto del riempimento dei singoli stati quantistici.

Nel 1928, Felix Bloch analizzò il problema quantomeccanico del movimento di un elettrone in un campo periodico esterno di un reticolo cristallino e dimostrò che lo spettro energetico elettronico in un solido cristallino ha una struttura a bande. In effetti, questo fu l'inizio di una nuova direzione nella fisica: la teoria dello stato solido.

L'intero XX secolo è un periodo di intenso sviluppo della fisica quantistica e di tutti quei rami della fisica di cui la teoria quantistica è diventata il capostipite.

L’emergere dell’informatica quantistica

L'idea di utilizzare il calcolo quantistico fu espressa per la prima volta dal matematico sovietico Yu.I. Manin nel 1980 nella sua celebre monografia “Computable and Incomputable”. È vero, l'interesse per il suo lavoro sorse solo due anni dopo, nel 1982, dopo la pubblicazione di un articolo sullo stesso argomento da parte del fisico teorico americano, premio Nobel Richard Feynman. Notò che alcune operazioni della meccanica quantistica non possono essere trasferite esattamente a un computer classico. Questa osservazione lo portò a credere che tali calcoli potessero essere più efficienti se eseguiti utilizzando operazioni quantistiche.

Consideriamo, ad esempio, il problema della meccanica quantistica di cambiare lo stato di un sistema quantistico costituito da N gira per un certo periodo di tempo. Senza entrare nei dettagli dell'apparato matematico della teoria quantistica, notiamo che lo stato generale del sistema da N gli spin sono descritti da un vettore nello spazio complesso bidimensionale e il cambiamento nel suo stato è descritto da una matrice unitaria di dimensione 2nx2n. Se l'intervallo di tempo considerato è molto breve, allora la matrice è strutturata in modo molto semplice e ciascuno dei suoi elementi è facile da calcolare, conoscendo l'interazione tra gli spin. Se è necessario conoscere il cambiamento nello stato del sistema per un lungo periodo di tempo, è necessario moltiplicare tali matrici e ciò richiede un numero esponenzialmente elevato di operazioni. Ancora una volta ci troviamo di fronte ad un problema PN-completo, irrisolvibile in tempo polinomiale sui computer classici. Al momento non esiste alcun modo per semplificare questo calcolo ed è probabile che la modellazione della meccanica quantistica sia un problema matematico esponenzialmente difficile. Ma se i computer classici non sono in grado di risolvere i problemi quantistici, forse sarebbe opportuno utilizzare il sistema quantistico stesso per questo scopo? E se ciò fosse effettivamente possibile, i sistemi quantistici sarebbero adatti a risolvere altri problemi informatici? Domande simili furono prese in considerazione da Feynman e Manin.

Già nel 1985 David Deutsch propose uno specifico modello matematico di una macchina quantistica.

Tuttavia, fino alla metà degli anni ’90, il campo dell’informatica quantistica si è sviluppato piuttosto lentamente. L’implementazione pratica dei computer quantistici si è rivelata molto difficile. Inoltre, la comunità scientifica era pessimista sul fatto che le operazioni quantistiche potessero accelerare la soluzione di alcuni problemi computazionali. Ciò continuò fino al 1994, quando il matematico americano Peter Shor propose un algoritmo di decomposizione per un computer quantistico N-cifre in fattori primi in un polinomio temporale dipendente da N(algoritmo di fattorizzazione quantistica). L'algoritmo di fattorizzazione quantistica di Shor è diventato uno dei principali fattori che hanno portato allo sviluppo intensivo di metodi di calcolo quantistico e all'emergere di algoritmi che consentono di risolvere alcuni problemi NP.

Naturalmente sorge la domanda: perché, in effetti, l'algoritmo di fattorizzazione quantistica proposto da Shor ha portato a tali conseguenze? Il fatto è che il problema della scomposizione di un numero in fattori primi è direttamente correlato alla crittografia, in particolare ai popolari sistemi di crittografia RSA. Essendo in grado di fattorizzare un numero in fattori primi in tempo polinomiale, un computer quantistico potrebbe teoricamente essere in grado di decrittografare i messaggi codificati utilizzando molti algoritmi crittografici popolari, come RSA. Finora questo algoritmo era considerato relativamente affidabile metodo efficace la fattorizzazione dei numeri in fattori primi è attualmente sconosciuta per un computer classico. Shor ha ideato un algoritmo quantistico che permette di fattorizzare N-numero digitale per N 3 (log N) k passi ( K=cost). Naturalmente, l’implementazione pratica di un simile algoritmo potrebbe avere conseguenze più negative che positive, poiché renderebbe possibile selezionare chiavi per cifrare, falsificare firme elettroniche, ecc. Tuttavia, l’implementazione pratica di un vero computer quantistico è ancora molto lontana, e quindi nei prossimi dieci anni non vi è alcun timore che i codici possano essere decifrati utilizzando computer quantistici.

L'idea dell'informatica quantistica

Quindi dopo breve descrizione storia dell’informatica quantistica, possiamo passare a considerarne l’essenza stessa. L'idea (ma non la sua implementazione) dell'informatica quantistica è piuttosto semplice e interessante. Ma anche per una comprensione superficiale è necessario familiarizzare con alcuni concetti specifici della fisica quantistica.

Prima di considerare i concetti quantistici generalizzati del vettore di stato e del principio di sovrapposizione, consideriamo un semplice esempio di un fotone polarizzato. Un fotone polarizzato è un esempio di un sistema quantistico a due livelli. Lo stato di polarizzazione di un fotone può essere specificato da un vettore di stato che determina la direzione della polarizzazione. La polarizzazione di un fotone può essere diretta verso l'alto o verso il basso, quindi si parla di due stati principali, o fondamentali, che sono indicati come |1 e |0.

Queste notazioni (notazioni reggiseno/gatto) sono state introdotte da Dirac e hanno una definizione strettamente matematica (vettori di stato di base), che determina le regole per lavorare con esse, tuttavia, per non addentrarci nella giungla matematica, non le considereremo sottigliezze in dettaglio.

Ritornando al fotone polarizzato, notiamo che come afferma la base potremmo scegliere non solo orizzontale e verticale, ma anche qualsiasi direzione di polarizzazione reciprocamente ortogonale. Il significato di stati base è che qualsiasi polarizzazione arbitraria può essere espressa come una combinazione lineare di stati base, cioè a|1+b|0. Poiché siamo interessati solo alla direzione della polarizzazione (l'entità della polarizzazione non è importante), il vettore di stato può essere considerato un'unità, ovvero |a| 2+|b| 2 = 1.

Ora generalizziamo l'esempio con la polarizzazione dei fotoni a qualsiasi sistema quantistico a due livelli.

Supponiamo di avere un sistema quantistico arbitrario a due livelli, caratterizzato dagli stati ortogonali di base |1 e |0. Secondo le leggi (postulati) della meccanica quantistica (principio di sovrapposizione), i possibili stati di un sistema quantistico saranno anche sovrapposizioni y = a|1+b|0, dove a e b sono numeri complessi chiamati ampiezze. Si noti che non esiste alcun analogo dello stato di sovrapposizione nella fisica classica.

Uno dei postulati fondamentali della meccanica quantistica afferma che per poter misurare lo stato di un sistema quantistico è necessario distruggerlo. Cioè, qualsiasi processo di misurazione nella fisica quantistica viola lo stato iniziale del sistema e lo trasferisce in un nuovo stato. Non è così facile comprendere questa affermazione, quindi soffermiamoci su di essa più in dettaglio.

In generale, il concetto di misura nella fisica quantistica gioca un ruolo speciale e non dovrebbe essere considerato una misura nel senso classico. Una misurazione di un sistema quantistico avviene ogni volta che entra in interazione con un oggetto “classico”, cioè un oggetto che obbedisce alle leggi della fisica classica. Come risultato di tale interazione, lo stato del sistema quantistico cambia e la natura e l'entità di questo cambiamento dipendono dallo stato del sistema quantistico e quindi possono fungere da sua caratteristica quantitativa.

A questo proposito, un oggetto classico viene solitamente chiamato dispositivo e il suo processo di interazione con un sistema quantistico viene definito misurazione. Va sottolineato che questo non significa affatto il processo di misurazione a cui partecipa l'osservatore. Per misurazione nella fisica quantistica intendiamo qualsiasi processo di interazione tra oggetti classici e quantistici che avviene in aggiunta e indipendentemente da qualsiasi osservatore. La chiarificazione del ruolo della misurazione nella fisica quantistica spetta a Niels Bohr.

Quindi, per misurare un sistema quantistico, è necessario in qualche modo agire su di esso con un oggetto classico, dopodiché il suo stato originale verrà interrotto. Inoltre si può sostenere che come risultato della misurazione il sistema quantistico verrà trasferito in uno dei suoi stati fondamentali. Ad esempio, per misurare un sistema quantistico a due livelli, è necessario almeno un oggetto classico a due livelli, cioè un oggetto classico che può assumere due possibili valori: 0 e 1. Durante il processo di misurazione, lo stato del quanto sistema verrà trasformato in uno dei vettori base, e se l'oggetto classico assume un valore pari a 0, allora l'oggetto quantistico viene trasformato nello stato |0, e se l'oggetto classico assume un valore pari a 1, allora l'oggetto quantistico si trasforma nello stato |1.

Pertanto, sebbene un sistema quantistico a due livelli possa trovarsi in un numero infinito di stati di sovrapposizione, come risultato della misurazione assume solo uno dei due possibili stati base. Modulo di ampiezza al quadrato |a| 2 determina la probabilità di rilevare (misurare) il sistema nello stato di base |1 e il quadrato del modulo di ampiezza |b| 2 - allo stato fondamentale |0.

Torniamo però al nostro esempio con un fotone polarizzato. Per misurare lo stato di un fotone (la sua polarizzazione), abbiamo bisogno di un dispositivo classico con base classica (1,0). Allora lo stato di polarizzazione del fotone a|1+b|0 sarà definito come 1 (polarizzazione orizzontale) con probabilità |a| 2 e come 0 (polarizzazione verticale) con probabilità |b| 2.

Poiché la misurazione di un sistema quantistico lo porta in uno degli stati fondamentali e, quindi, distrugge la sovrapposizione (ad esempio, durante la misurazione si ottiene un valore pari a |1), ciò significa che a seguito della misurazione il sistema quantistico va in un nuovo stato quantico e alla misurazione successiva otteniamo il valore |1 con una probabilità del 100%.

Il vettore di stato di un sistema quantistico a due livelli è anche chiamato funzione d'onda degli stati quantistici y del sistema a due livelli o, nell'interpretazione dell'informatica quantistica, un qubit (bit quantistico, qubit). A differenza di un bit classico, che può assumere solo due valori logici, un qubit è un oggetto quantistico e il numero dei suoi stati determinati dalla sovrapposizione è illimitato. Tuttavia, sottolineiamo ancora una volta che il risultato della misurazione di un qubit ci porta sempre a uno dei due valori possibili.

Consideriamo ora un sistema di due qubit. Misurando ciascuno di essi può dare un valore oggetto classico di 0 o 1. Pertanto, un sistema di due qubit ha quattro stati classici: 00, 01, 10 e 11. Analoghi a loro sono gli stati quantistici di base: |00, |01, |10 e |11. Il corrispondente vettore di stato quantistico è scritto come UN|00+B|01+ C|10+ D|11, dove | UN| 2 - probabilità durante la misurazione di ottenere il valore 00, | B| 2 - probabilità di ottenere il valore 01, ecc.

In generale, se un sistema quantistico è costituito da l qubit, allora ne ha 2 l possibili stati classici, ciascuno dei quali può essere misurato con una certa probabilità. La funzione di stato di un tale sistema quantistico sarà scritta come:

dove | N- stati quantistici di base (ad esempio, stato |001101 e | CN| 2 - probabilità di trovarsi nello stato di base | N.

Per modificare lo stato di sovrapposizione di un sistema quantistico è necessario implementare un’influenza esterna selettiva su ciascun qubit. Da un punto di vista matematico tale trasformazione è rappresentata da matrici unitarie di dimensione 2 l x2 l. Di conseguenza, si otterrà un nuovo stato di sovrapposizione quantistica.

Struttura di un computer quantistico

La trasformazione che abbiamo considerato dello stato di sovrapposizione di un sistema quantistico costituito da l qubits è essenzialmente un modello di computer quantistico. Consideriamo, ad esempio, un esempio più semplice di implementazione del calcolo quantistico. Supponiamo di avere un sistema di l qubit, ognuno dei quali è idealmente isolato dal mondo esterno. In ogni momento, possiamo scegliere due qubit arbitrari e agire su di essi con una matrice unitaria di dimensione 4x4. La sequenza di tali influenze è una sorta di programma per un computer quantistico.

Per utilizzare un circuito quantistico per il calcolo, è necessario essere in grado di inserire dati di input, eseguire il calcolo e leggere il risultato. Ecco perché schema elettrico qualsiasi computer quantistico (vedi figura) deve includere i seguenti blocchi funzionali: un registro quantistico per l'immissione dei dati, un processore quantistico per la conversione dei dati e un dispositivo per la lettura dei dati.

Un registro quantistico è una raccolta di un certo numero l qubit Prima di inserire informazioni nel computer, tutti i qubit del registro quantistico devono essere portati negli stati base |0. Questa operazione è chiamata preparazione o inizializzazione. Successivamente, alcuni qubit (non tutti) sono soggetti a un'influenza esterna selettiva (ad esempio, utilizzando impulsi di un campo elettromagnetico esterno controllato da un computer classico), che modifica il valore dei qubit, cioè passano dallo stato |0 a stato |1. In questo caso, lo stato dell'intero registro quantistico andrà in una sovrapposizione degli stati fondamentali | N s, cioè lo stato del registro quantistico nell'istante iniziale sarà determinato dalla funzione:

È chiaro che questo stato di sovrapposizione può essere utilizzato per la rappresentazione binaria di un numero N.

In un processore quantistico, i dati in ingresso sono sottoposti ad una sequenza di operazioni logiche quantistiche, che, da un punto di vista matematico, sono descritte da una trasformazione unitaria che agisce sullo stato dell'intero registro. Di conseguenza, dopo un certo numero di cicli del processore quantistico, lo stato quantistico iniziale del sistema diventa una nuova sovrapposizione della forma:

Parlando del processore quantistico, dobbiamo fare una nota importante. Si scopre che per costruire qualsiasi calcolo sono sufficienti solo due operazioni booleane logiche di base. Usando le operazioni quantistiche di base, è possibile imitare il funzionamento delle normali porte logiche di cui sono fatti i computer. Poiché le leggi della fisica quantistica a livello microscopico sono lineari e reversibili, i corrispondenti dispositivi logici quantistici che eseguono operazioni con gli stati quantistici dei singoli qubit (porte quantistiche) risultano essere logicamente e termodinamicamente reversibili. Le porte quantistiche sono simili alle corrispondenti porte classiche reversibili, ma, a differenza di queste, sono in grado di eseguire operazioni unitarie su sovrapposizioni di stati. Si suppone che l'implementazione di operazioni logiche unitarie sui qubit venga eseguita utilizzando appropriate influenze esterne controllate da computer classici.

Struttura schematica di un computer quantistico

Dopo aver implementato le trasformazioni in un computer quantistico, la nuova funzione di sovrapposizione è il risultato dei calcoli in un processore quantistico. Non resta che contare i valori ottenuti, per i quali viene misurato il valore del sistema quantistico. Di conseguenza, si forma una sequenza di zero e uno e, a causa della natura probabilistica delle misurazioni, può essere qualsiasi cosa. Pertanto, un computer quantistico può fornire qualsiasi risposta con una certa probabilità. In questo caso uno schema di calcolo quantistico è considerato corretto se la risposta corretta si ottiene con una probabilità sufficientemente vicina all'unità. Ripetendo i calcoli più volte e scegliendo la risposta che ricorre più spesso, è possibile ridurre la probabilità di errore a un valore arbitrariamente piccolo.

Per capire in che modo i computer classici e quantistici differiscono nel loro funzionamento, ricordiamo cosa immagazzina in memoria un computer classico l bit che cambiano durante ogni ciclo del processore. In un computer quantistico, la memoria (registro di stato) memorizza i valori l qubit, tuttavia, il sistema quantistico è in uno stato che è una sovrapposizione di tutte le basi 2 l stati e un cambiamento nello stato quantistico del sistema prodotto da un processore quantistico influisce su tutti e 2 l stati fondamentali contemporaneamente. Di conseguenza, in un computer quantistico, la potenza di calcolo viene raggiunta attraverso l’implementazione di calcoli paralleli e, teoricamente, un computer quantistico può funzionare in modo esponenzialmente più veloce di un circuito classico.

Si ritiene che per implementare un computer quantistico su vasta scala, superiore in termini di prestazioni a qualsiasi computer classico, indipendentemente dai principi fisici su cui opera, devono essere soddisfatti i seguenti requisiti di base:

  • un sistema fisico che sia un computer quantistico su vasta scala deve contenere un numero sufficientemente grande l>103 qubit chiaramente visibili per eseguire operazioni quantistiche rilevanti;
  • è necessario garantire la massima soppressione degli effetti di distruzione della sovrapposizione di stati quantistici causata dall'interazione del sistema qubit con l'ambiente, per cui l'esecuzione di algoritmi quantistici potrebbe diventare impossibile. Il tempo necessario per la distruzione di una sovrapposizione di stati quantistici (tempo di decoerenza) deve essere almeno 104 volte maggiore del tempo necessario per eseguire operazioni quantistiche di base (tempo di ciclo). Per fare ciò, il sistema qubit deve essere abbastanza liberamente accoppiato al suo ambiente;
  • è necessario garantire una misurazione con affidabilità sufficientemente elevata dello stato del sistema quantistico in uscita. Misurare lo stato quantistico finale è una delle principali sfide dell’informatica quantistica.

Applicazioni pratiche dei computer quantistici

Per applicazione pratica Finora non è stato creato un solo computer quantistico che soddisfi tutte le condizioni di cui sopra. Tuttavia, in molti paesi sviluppati, viene prestata molta attenzione allo sviluppo dei computer quantistici e ogni anno vengono investiti decine di milioni di dollari in tali programmi.

Attualmente, il più grande computer quantistico è composto da soli sette qubit. Questo è sufficiente per implementare l'algoritmo di Shor e fattorizzare il numero 15 in fattori primi di 3 e 5.

Se parliamo di possibili modelli di computer quantistici, allora, in linea di principio, ce ne sono molti. Il primo computer quantistico creato in pratica era uno spettrometro di risonanza magnetica nucleare pulsata (NMR) ad alta risoluzione, sebbene, ovviamente, non fosse considerato un computer quantistico. Fu solo quando emerse il concetto di computer quantistico che gli scienziati si resero conto che uno spettrometro NMR era una variante di un computer quantistico.

In uno spettrometro NMR, gli spin dei nuclei della molecola in studio formano qubit. Ogni nucleo ha la propria frequenza di risonanza in un dato campo magnetico. Quando un nucleo viene esposto ad un impulso alla sua frequenza di risonanza, inizia ad evolversi, mentre i restanti nuclei non subiscono alcun impatto. Per forzare l'evoluzione di un altro nucleo, è necessario prendere una frequenza di risonanza diversa e darle un impulso. Pertanto, l’azione pulsata sui nuclei a una frequenza di risonanza rappresenta un effetto selettivo sui qubit. Inoltre, la molecola ha una connessione diretta tra gli spin, quindi è una preparazione ideale per un computer quantistico, e lo spettrometro stesso è un processore quantistico.

I primi esperimenti sugli spin nucleari di due atomi di idrogeno in molecole di 2,3-dibromotiofene SCH:(CBr) 2:CH e su tre spin nucleari - uno nell'atomo di idrogeno H e due negli isotopi del carbonio 13 C in molecole di tricloroetilene CCl 2:CHCl - sono andati in scena nel 1997 a Oxford (Regno Unito).

Nel caso dell'utilizzo di uno spettrometro NMR, è importante che, per influenzare selettivamente gli spin nucleari di una molecola, sia necessario che differiscano notevolmente nelle frequenze di risonanza. Successivamente, le operazioni quantistiche sono state eseguite in uno spettrometro NMR con il numero di qubit 3, 5, 6 e 7.

Il vantaggio principale di uno spettrometro NMR è che può utilizzare un numero enorme di molecole identiche. Inoltre, ogni molecola (più precisamente, i nuclei degli atomi che la compongono) è un sistema quantistico. Sequenze di impulsi a radiofrequenza, agendo come determinate porte logiche quantistiche, eseguono trasformazioni unitarie degli stati dei corrispondenti spin nucleari simultaneamente per tutte le molecole. Cioè, l’influenza selettiva su un singolo qubit viene sostituita dall’accesso simultaneo ai qubit corrispondenti in tutte le molecole di un grande insieme. Un computer di questo tipo è chiamato computer quantistico bulk-ensemble. Tali computer possono funzionare a temperatura ambiente e il tempo di decoerenza degli stati quantistici degli spin nucleari è di diversi secondi.

Nel campo della NMR dei computer quantistici su liquidi organici ad oggi sono stati compiuti i maggiori progressi. Essi sono dovuti principalmente alla tecnica ben sviluppata della spettroscopia NMR pulsata, che consente di eseguire varie operazioni su sovrapposizioni coerenti di stati di spin nucleare, e alla possibilità di utilizzare a questo scopo spettrometri NMR standard operanti a temperatura ambiente.

La principale limitazione dei computer quantistici NMR è la difficoltà di inizializzare lo stato iniziale in un registro quantistico. Il fatto è che in un grande insieme di molecole lo stato iniziale dei qubit è diverso, il che rende complicato portare il sistema allo stato iniziale.

Un'altra limitazione dei computer quantistici NMR è dovuta al fatto che il segnale misurato all'uscita del sistema diminuisce esponenzialmente all'aumentare del numero di qubit l. Inoltre, il numero di qubit nucleari in una singola molecola con frequenze di risonanza ampiamente variabili è limitato. Ciò porta al fatto che i computer quantistici NMR non possono avere più di dieci qubit. Dovrebbero essere considerati solo come prototipi dei futuri computer quantistici, utili per testare i principi dell’informatica quantistica e testare gli algoritmi quantistici.

Un'altra versione di un computer quantistico si basa sull'uso di trappole ioniche, quando il ruolo dei qubit è il livello energetico degli ioni catturati dalle trappole ioniche, che vengono create nel vuoto da una certa configurazione del campo elettrico in condizioni di raffreddamento del laser a temperature ultra-basse. Il primo prototipo di computer quantistico basato su questo principio fu proposto nel 1995. Il vantaggio di questo approccio è che è relativamente semplice controllare individualmente i singoli qubit. I principali svantaggi dei computer quantistici di questo tipo sono la necessità di creare temperature ultra-basse, garantire la stabilità dello stato degli ioni nella catena e il numero limitato possibile di qubit - non più di 40.

Sono possibili anche altri progetti per computer quantistici, il cui sviluppo è attualmente in corso. Tuttavia, ci vorranno almeno altri dieci anni prima che i veri computer quantistici vengano finalmente creati.