Via Antonio Amato, 20/22 84131 Salerno (SA)

Quantum computing: che cos’è, come funziona e perché è interessante

quantum computing

(articolo redatto da Domenico Di Mieri)

Insieme all’intelligenza artificiale, il quantum computing è una delle più promettenti frontiere dell’elaborazione computazionale. Sul tema si sta investendo molto in termini di ricerca applicata e se ne iniziano a vedere le prime applicazioni commerciali. L’obiettivo di questo articolo è spiegare, in una miniguida a puntate, che cos’è il quantum computing, come funziona e perché è così interessante oggi.

Che cos’è il Quantum Computing

Il quantum computing rappresenta un nuovo paradigma di elaborazione basato sui principi fondamentali della meccanica quantistica.

Nel quantum computing l’unità fondamentale di elaborazione è detta qubit.

Un qubit, come il bit classico, può assumere (idealmente) i due valori 0 e 1 o, a differenza del bit classico, un qualsiasi valore costituito da una combinazione lineare dei vettori dello spazio scelti per rappresentare i valori 0 e 1.

Quantum Computing - Qubit

Come funziona e perchè interessa

Il quantum computing sfrutta le proprietà della meccanica quantistica:

  • la sovrapposizione degli stati,
  • l’entanglement
  • l’interferenza quantistica.

L’interesse nel quantum computing nasce dal fatto che l’elettronica classica ha già raggiunto i limiti fisici oltre i quali non è più possibile migliorare le prestazioni delle CPU ed i vantaggi ottenibili migliorando le architetture dei processori o delle memorie non promettono grandi risultati.

Questo significa che con le attuali tecnologie la soluzione ai problemi complessi richiede tempi che crescono in maniera più che polinomiale (classe NP in complessità computazionale) al crescere della cardinalità dei dati di input (si arriva facilmente a centinaia e migliaia di anni).

L’interesse nel quantum computing nasce dal fatto che l’elettronica classica ha già raggiunto i limiti fisici oltre i quali non è più possibile migliorare le prestazioni delle CPU ed i vantaggi ottenibili migliorando le architetture dei processori o delle memorie non promettono grandi risultati.

Questo significa che con le attuali tecnologie la soluzione ai problemi complessi richiede tempi che crescono in maniera più che polinomiale (classe NP in complessità computazionale) al crescere della cardinalità dei dati di input (si arriva facilmente a centinaia e migliaia di anni).

Un po’ di storia

L’idea di sfruttare i principi della meccanica quantistica per realizzare una macchina generica in grado di effettuare elaborazioni che un computer classico non sia in grado di fare, nasce dal fisico Richard Feynman e dal matematico Jurij Manin già verso la fine degli anni Settanta del secolo scorso.

Si dimostra, infatti, che una volta definita una serie di componenti base di un circuito quantistico, tutti i circuiti elettronici standard possono essere visti come un caso degenere di un circuito quantistico e, di conseguenza, tutto ciò che è possibile calcolare tramite un elaboratore elettronico classico è elaborabile anche tramite un computer quantistico. Al contrario, si dimostra che alcune caratteristiche dei circuiti quantistici non possono essere simulate dai computer classici (ad esempio gli algoritmi di generazione casuale dei numeri in informatica classica, in realtà, sono “deterministici” tant’è che vengono definiti pseudo casuali).

I primi algoritmi studiati da Deutsch e Jozsa  per un computer quantico erano dei “semplici” classificatori di funzione. Gli studiosi descrivono un circuito quantistico in grado di “capire” se una funzione f(x) di variabile booleana è bilanciata o no, utilizzando il minor numero possibile di “prove” e dimostrano che l’utilizzo di un algoritmo quantistico è vantaggioso rispetto all’utilizzo di un algoritmo classico.

Nel 1994 Peter Shor, un informatico/matematico impiegato presso la Bell Laboratories negli USA, ha inventato un algoritmo per la fattorizzazione in numeri primi che, sfruttando le peculiarità dei computer quantistici, é in grado di risolvere il problema in tempi polinomiali.

Nel 1996 Lov Grover, anch’egli matematico ed informatico, ha inventato un algoritmo di ricerca di un valore in un database che, sfruttando la proprietà di sovrapposizione dei qubit, può fornire il risultato in tempi molto più rapidi del tempo lineare necessario per gli algoritmi classici.

Esistono poi altri algoritmi che si propongono di risolvere problemi complessi in maniera analoga come, ad esempio, l’algoritmo HHL (Harrow, Hassidim e Lloyd) per la soluzione di sistemi lineari tramite computer quantistici, ecc.

Per un elenco più completo si veda: https://quantumalgorithmzoo.org/

Conclusioni

Il quantum computing promette di risolvere problemi non affrontabili tramite i computer classici in tempi “ragionevoli“. Questo avrà impatti notevolissimi in tutti i campi: si pensi, ad esempio, a tutti i sistemi di sicurezza elettronici basati sull’algoritmo RSA, che diventeranno immediatamente “insicuri” non appena saremo in grado di fattorizzare un qualsiasi numero in numeri primi.

Nel prossimo articolo

Nel prossimo articolo dedicato al quantum computing parleremo di un framework gratuito messo a disposizione da IBM e che consente di scrivere applicazioni che possono essere eseguite su un simulatore installato localmente o su un Quantum Computer reale.

Se vuoi approfondire la tua conoscenza sul quantum computing ti consigliamo i seguenti riferimenti sito-bibliografici:
Quantum Algorithm Zoo
Qiskit [quiss-kit] – open-source SDK
Computer quantistico Da Wikipedia
Chris Bernhardt – Quantum Computing For Everyone [MIT Press]


Se anche tu vuoi occuparti di progetti di sviluppo software di ultima generazione
dai un’occhiata alle nostre opportunità di lavoro e conosciamoci subito!

Questo sito utilizza cookies propri e si riserva di utilizzare anche cookie di terze parti per garantire la funzionalità del sito e per tenere conto delle scelte di navigazione.
Per maggiori dettagli e sapere come negare il consenso a tutti o ad alcuni cookie è possibile consultare la Cookie Policy.

USO DEI COOKIE

Se abiliti i cookie nella tabella sottostante, ci autorizzi a memorizzare i tuoi comportamenti di utilizzo sul nostro sito web. Questo ci consente di migliorare il nostro sito web e di personalizzare le pubblicità. Se non abiliti i cookie, noi utilizzeremo solo cookies di sessione per migliorare la facilità di utilizzo.

Cookie tecnicinon richiedono il consenso, perciò vengono installati automaticamente a seguito dell’accesso al Sito.

Cookie di statisticaVengono utilizzati da terze parti, anche in forma disaggregata, per la gestione di statistiche

Cookie di social networkVengono utilizzati per la condivisione di contenuti sui social network.

Cookie di profilazione pubblicitariaVengono utilizzati per erogare pubblicità basata sugli interessi manifestati attraverso la navigazione in internet.

AltriCookie di terze parti da altri servizi di terze parti che non sono cookie di statistica, social media o pubblicitari.