Quantum/9 - Programmazione quantistica ad alto livello

Quantum/9 - Programmazione quantistica ad alto livello

Quantum/9 - Programmazione quantistica ad alto livello

A questo punto, si dovrebbe avere una buona conoscenza della magia sotto il cofano del Quantum Computing e far si che i circuiti quantistici e la programmazione quantistica siano ora a portata di mano.

Si può vedere come il calcolo quantistico può essere utilizzato a vantaggio di molte altre aree scientifiche e industriali e che avranno impatti diretti e indiretti nella vita e nel lavoro.

Aiutano un pò di risoluzione dei problemi con Qiskit Aqua ed esempi in Qiskit-tutorial su come utilizzarlo per risolvere problemi del mondo reale. Questo set di esempi è in esplorazione e si prevede che crescerà a breve termine.

QISKIT AQUA

Qiskit Aqua è il blocco di primo livello sull'infrastruttura full-stack di Qiskit. Ciò significa che funziona a un livello superiore rispetto a quello che visto negli articoli precedenti: astraendo un compilatore quantistico e fornire un'interfaccia molto simile a quella dell'informatica classica.

LA PREMESSA DI QISKIT AQUA

Qiskit Aqua contiene "una libreria di algoritmi quantistici cross-domain su cui è possibile costruire applicazioni per il calcolo quantistico a breve termine". Significa che è importante esaminare questo aspetto, poiché questi algoritmi e applicazioni diventeranno realizzabili in breve tempo.

SUPREMAZIA QUANTISTICA

Il termine Supremazia Quantistica indica il momento nel tempo in cui i computer quantistici possono fare meglio del computer più potente nella simulazione di un sistema quantistico.

Può sembrare strano, ma il fatto è che i computer classici sono così sviluppati da essere ancora in grado di simulare computer quantistici migliori di quelli esistenti, ma questa classica "simulazione quantistica" si inserisce nella famiglia NP e si avvicina il tempo, in un futuro non così lontano, quando non saranno più in grado di fare meglio dei primi.

ESECUZIONE DI ALGORITMI IN QISKIT AQUA

Innanzitutto si procede all'installazione pip install qiskit-aqua e si va a capire quali algoritmi sono già stati implementati in Qiskit Aqua. Un elenco completo può essere trovato nella documentazione, alcuni riconoscibili sono:

  • Grover Search
  • Quantum Dynamics (Simulating Universal Quantum Sistems)
  • Supporta Vector Machine Quantum Kernel (Machine Learning)
  • CPLEX (Risolutore di vincoli)

Qiskit Aqua è molto dichiarativo, l'esecuzione di un algoritmo può essere considerata come la definizione di una descrizione del problema, ad esempio in un file JSON o in un dizionario Python. È una composizione delle seguenti impostazioni:

Problema: Il tipo di esperimento, ("energia" | "stati_eccitati" | "in corso" | "ricerca"...)

Input / Oracle: Il modo per specificare l'input del problema, dipende dal tipo (configurazione SAT, dataset, Oracle...)

Algoritmo: Specifica opzionale dell'algoritmo da utilizzare (ogni problema ha algoritmi predefiniti) e le sue configurazioni

Backend: Quale dispositivo utilizzare (simulatore, dispositivo reale), altamente personalizzabile con il numero di "colpi" (quante volte dovrebbe essere ripetuto un esperimento), attivare l'ottimizzazione del compilatore, specificare i parametri di rumore del dispositivo...

ALGORITMO DI GROVER IN QISKIT AQUA

Il codice sorgente, da riportare e comprendere, è il seguente:

INTELLIGENZA ARTIFICIALE

Qui si opera con un algoritmo per l'apprendimento supervisionato di Machine Learning: Support Vector Machine (SVM). Qiskit Aqua viene fornito con più di un'implementazione dei kernel SVM.

Il codice sorgente, da riportare e comprendere, è il seguente:

OTTIMIZZAZIONE

Legato all'Intelligenza Artificiale, un altro argomento molto importante al giorno d'oggi sia nella ricerca che nel settore industriale è quello dell'ottimizzazione.

Due esempi di problemi di ottimizzazione: il taglio massimo e l'iconico problema del commesso viaggiatore. Entrambi possono essere ridotti a un modello tradizionale chiamato Modello di Ising che è stato studiato da un punto di vista quantitativo.

Pertanto, utilizzando il risolutore di problemi in Qiskit Aqua si possono risolvere molti problemi diversi: l'unica limitazione è la propria capacità di mappare le formulazioni dei problemi in problemi noti e risolti (Taglio massimo, Problema del commesso viaggiatore, modello di Ising)

CHIMICA IN QISKIT AQUA

Rivolte alla ricerca chimica, ci sono anche esempi di estrapolazione di proprietà meccaniche quantistiche che permettono di effettuare simulazioni sul comportamento di atomi, elettroni e sull'evoluzione di configurazioni molecolari (niente di meglio della quantistica per simulare un processo atomico).

Qui un esempio di come tali problemi possono essere configurati. L'input proviene da file HDF5 (un insieme di formati di file progettati per archiviare e organizzare grandi quantità di dati):