INFORMATICA - QUANTUM COMPUTING

Luglio 2022

1. Premessa

Questa pagina introduttiva viene dai miei studi sul Quantum Computing (QC) compiuti sia a livello professionale che personale. Si tratta di un'introduzione leggera ma secondo me importante a questo fenomeno che presto diverrà determinante nel panorama della nuova IT. Ho avuto la fortuna di studiare e programmare in prima persona diversi dei sistemi di QC attualmente disponibili (in cloud) e devo dire che è un'esperienza esaltante anche se ancora soffre di molte limitazioni. Dopotutto è una materia al suo nascere (sebbene gli impieghi commerciali siano già moltissimi) e deve assestarsi non poco. Per finire la premessa vorrei indicare anche un particolare sottocampo estremamente importante del QC che è la QAI (Quantum Artificial Intelligence) di cui spero di poter trattare sempre a livello introduttivo in altre pagine di questo sito molto presto.

NB: la meccanica quantistica, parte della fisica da cui il QC attinge a piene mani per esistere è una materia ostica, usa formalismi matematici evoluti ma soprattutto porta a delle conclusioni e delle pseudo-osservazioni che non sono compatibili con il mondo reale (in ambito quantistico detto emersivo) che tutti siamo abituati a considerare grazie ai nostri sensi. Vi avverto quindi a non ragionare sulle "cose" quantistiche come fate sulle cose reali altrimenti ne uscite destabilizzati. Continuando anche nella lettura di questa pagina ve ne accorgerete...

Per capire un poco la QC partiremo dalle 3 componenti base dei sistemi di elaborazione classici: (a) memoria e memorizzazione; (b) CPU ed elaborazione; (c) canale e comunicazione.

2. Memorizzazione quantistica

Il "contenitore" elementare di memoria per le informazioni digitali classico è il bit e questo ormai è noto praticamente a tutti, esso può assumere esclusivamente uno tra due valori possibili: 0 e 1. Il corrispondente "contenitore quantistico" viene detto "qbit". Ebbene, il qbit assume simultaneamente i valori 0 e 1 in infinite possibili combinazioni. Una delle conseguenze dirette è un incremento esponenziale della capacità di memoria. Se infatti 1 qbit può assumere di fatto il valore di 2 bit classici, avendo 2 qbit si possono memorizzare 4 bit classici, avendone 3 qbit si hanno 8 bit classici e così via, per n qbit si ha uno spazio di memorizzazione di 2n bit classici. Vi basterà fare qualche conto e vedrete che una memoria quantistica con solo 100 qbit può contenere di principio 1030 bit classici e quindi una dimensione difficilmente anche solo concepibile a livello umano.

Esistono però dei problemi: (1) i qbit sono molto difficili da realizzare e mantenere stabili, così macchine con 40 o 50 qbit sono già da considerarsi un miracolo oggi; (2) Inserire e estrarre le informazioni classiche dai qbit è veramente difficile e talvolta (oggi) ancora impossibile.

3. Elaborazione quantistica

L'elaborazione classica avviene mediante porte logiche sincrone (al ritmo di un segnale detto clock) più o meno complesse (circuiti digitali) che operano su delle celle di memoria (bit classici). L'elaborazione quantistica attualmente si basa su delle porte logiche quantistiche (Gate Based QC) oppure su dei reticoli quantistici molto complessi (Quantum Annealing QC). In entrambi i casi l'elaborazione quantistica non è sincrona (in ambito quantistico il tempo non è ben visto perchè proprietà del mondo emersivo) ma soprattutto è intrinsecamente parallela. In pieno accordo con il comportamento dei qbit elaborare 1 qbit significa elaborare 2 bit classici simultaneamente, elaborare 2 qbit significa elaborare 4 bit classici simultaneamente, elaborare 3 qbit significa elaborare 8 bit classici simultaneamente e elaborare n qbit significa elaborare 2n bit assieme. Anche una macchina quantistica di soli 10 qbit ha quindi una potenza di parallelizzazione dell'elaborazione enorme, questo è ad esempio il motivo per cui il QC minaccia tutti i sistemi di crittazione classici esistenti.

Anche qui però ci sono dei problemi: (1) inserire e soprattutto estrarre dati da macchine quantistiche è estremamente difficile e spesso impossibile (oggi) questo perchè quando proponi un problema ad una macchina quantistica essa ti risponde in un solo passo tutte le possibili soluzioni e noi spesso siamo interessati solo ad una, magari la migliore; (2) l'elaborazione avviene in condizioni fisiche difficili (es. temperature prossime allo zero Kelvin) per cui queste macchine possono erogare servizi solo online in cloud.

4. Comunicazione quantistica

Una proprietà interessante dei sistemi quantistici (che non tratteremo qui per rimanere in ambito di semplicità) assicura che, di principio, la comunicazione quantistica può avvenire in qualsiasi tipo di mezzo, in tempo zero e senza possibilità che qualcuno possa intercettarla (sicurezza estrema). So che questo è il sogno di qualsiasi informatico e so anche che sembra utopico ma c'è altro. In teoria la comunicazione quantistica non risente della distanza tra i due che comunicano. Come ho scritto all'inizio attenzione al mondo quantistico perchè porta ad affermare delle cose strane nel nostro mondo emersivo... per finire è bene correlare l'aspetto comunicazioni con i qbit perchè, in pieno accordo con quanto detto, le velocità di trasmissioni sono esponenziali rispetto a quello cui siamo abituati oggi.

Qui di problemi ce ne sono tanti, la nostra difficoltà nel mantenere stabili e funzionanti i sistemi quantistici porta ad avere delle comunicazioni quantistiche che impiegano tempo e che non funzionano con le caratteristiche evidenziate oltre i 200 km, ad ogni modo le sperimentazioni continuano e le funzionalità, anno dopo anno, stanno convergendo verso quanto indicato.

5. Conclusioni

Sicuramente una nuova informatica quella quantistica. Il QC ribalterà molte delle nostre convinzioni sulle macchine digitali, soprattutto in relazione alle loro limitazioni. Si determineranno nuovi campi di studio e si apriranno nuovi fronti anche nel campo della matematica applicata, della logica e della fisica dato che il QC permetterà elaborazioni mai concepite prima. Nelle prossime pagine qualche dettaglio su come si programma un computer quantistico, qualche indicazione sui QC commerciali e sulle loro applicazioni reali disponibili e in sperimentazione.