
(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.

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 anche tu vuoi occuparti di progetti di sviluppo software di ultima generazione
dai un’occhiata alle nostre opportunità di lavoro e conosciamoci subito!