La mia ricerca: hybrid quantum-classical computation

Paolo Bernardi

Tra una stima e una decisione

Sto svolgendo un dottorato in Computer Science presso il Dipartimento di Informatica dell’Università di Pisa, sotto la supervisione dei professori Antonio Brogi e Gian-Luigi Ferrari e del dott. Giuseppe Bisicchia. Mi occupo di quantum computing e, in particolare, di modelli per descrivere e progettare computazioni ibride tra sistemi classici e quantistici.

Un programma quantistico non è quasi mai soltanto un circuito da eseguire. Una parte classica prepara il lavoro, invia esperimenti a una risorsa quantistica, raccoglie misure, ne ricava stime e decide se quelle informazioni siano sufficienti oppure se occorra continuare.

La mia ricerca si colloca proprio tra il passaggio dal risultato parziale di un’esecuzione e la decisione su cosa fare dopo.


Il problema che studio

Il quantum computing, in un certo senso, ci costringe a rimettere al centro una domanda quintessenziale dell’informatica: che cosa significa programmare un calcolo?

In una procedura ibrida quantistico-classica non basta descrivere il circuito quantistico. Bisogna rappresentare anche ciò che gli accade attorno: le esecuzioni ripetute, le stime prodotte dai risultati, il controllo classico, i punti in cui occorre attendere, comporre informazioni oppure scegliere una direzione.

La domanda che guida il mio lavoro è quindi questa:

Come dare una forma chiara e rigorosa a una computazione in cui parti classiche e quantistiche procedono insieme, producono evidenza progressiva e arrivano a una decisione soltanto quando quella decisione diventa necessaria?

Questa domanda è formale, ma nasce da un’esigenza molto concreta. Se si rendono espliciti i passaggi in cui un programma aspetta, osserva, combina stime o si impegna in una scelta, diventa possibile ragionare meglio sia sulla correttezza del processo sia sulle sue opportunità di esecuzione.


Una semantica per computazioni ibride

La direzione che sto esplorando è una semantica operazionale per workflow classico-quantistici. In questo modello, un programma non descrive soltanto quali circuiti eseguire, ma anche come le informazioni ottenute dalle esecuzioni entrino nel comportamento complessivo del calcolo.

Mi interessa rendere visibili alcuni gesti fondamentali:

  • affidare un compito quantistico a una o più risorse di calcolo;
  • raccogliere e comporre stime ottenute da esecuzioni diverse;
  • continuare a osservare prima di decidere;
  • riconoscere i punti in cui una scelta diventa una barriera per il resto del processo;
  • studiare quali parti possano procedere in parallelo e quali informazioni debbano poi essere riunite.

Il punto non è soltanto descrivere con precisione ciò che un sistema già fa. Una buona astrazione può suggerire modi diversi di organizzare il calcolo: meno vincolati alla sequenza “esegui, attendi, decidi”, più capaci di sfruttare stime indipendenti, esecuzioni speculative o risorse quantistiche multiple.


Perché linguaggi e semantiche

Nella programmazione, una regola non serve soltanto a imporre un vincolo: stabilisce che cosa si può comporre, osservare e trasformare.

Questo è uno dei motivi per cui il quantum computing mi interessa. Le sue computazioni rendono particolarmente evidente il rapporto fra la forma di un programma e il suo comportamento: un risultato non è sempre un valore già pronto, ma può essere una stima da rafforzare; una decisione non è sempre immediata, ma può dipendere dall’evidenza accumulata; due esecuzioni non sono soltanto due compiti separati, ma informazioni che un programma deve saper mettere insieme.

Lavorare sulla semantica di questi processi significa cercare una forma di programmazione in cui la complessità dell’esecuzione non rimanga nascosta dietro un’interfaccia, ma diventi parte del modo in cui il problema viene pensato e costruito.


Un lavoro in corso

Questa ricerca è nella sua fase di costruzione. Il mio obiettivo è sviluppare un modello formale sufficientemente nitido da poter essere discusso, verificato e messo alla prova su procedure ibride concrete, in particolare su problemi nei quali stime, decisioni e possibilità di parallelismo incidano realmente sull’esecuzione.

In prospettiva, la domanda più importante è se questa linea possa produrre non soltanto strumenti per descrivere programmi quantistici, ma anche intuizioni algoritmiche: nuovi modi di organizzare un calcolo, di distribuire la raccolta di evidenza o di decidere quando una computazione ha osservato abbastanza per procedere.