Home Freccia destra Ingegneria Informatica e dell’Intelligenza Artificiale Applicata LM-32 Freccia destra Introduzione al trattamento quantistico delle informazioni

Ingegneria Informatica e dell’Intelligenza Artificiale Applicata LM-32

Introduzione al trattamento quantistico delle informazioni

Settore scientifico disciplinare Numero crediti formativi (CFU) Docente
FIS/03 6 -- Nessun gestore --

Obiettivi Formativi

 L’insegnamento si propone di fornire agli studenti una solida conoscenza dei principi teorici e matematici alla base dell’elaborazione quantistica dell’informazione, introducendo i concetti di qubit, sovrapposizione, entanglement e basi di rappresentazione.

L’obiettivo è sviluppare la capacità di analizzare, progettare e implementare semplici algoritmi quantistici, comprendendone la logica operativa e le potenzialità rispetto ai corrispettivi classici.

Il corso introduce inoltre gli strumenti software per la modellazione, la sintesi, la simulazione e la verifica di circuiti quantistici, nonché le metodologie di realizzazione hardware su piattaforme FPGA mediante linguaggio VHDL.

Particolare attenzione è dedicata all’integrazione tra teoria e pratica, favorendo la comprensione del legame tra il modello quantistico e la sua implementazione digitale.
L’insegnamento contribuisce infine al potenziamento delle competenze trasversali quali l’autonomia di giudizio, la capacità di apprendimento autonomo e le abilità comunicative e progettuali.

Risultati di apprendimento attesi

 Conoscenza e capacità di comprensione

Lo studente acquisisce una conoscenza strutturata dei principi fondamentali della meccanica quantistica applicati all'elaborazione dell'informazione. Comprende i concetti di qubit, sovrapposizione, entanglement e misura quantistica, nonché la loro formulazione matematica mediante algebra lineare e spazi di Hilbert. Conosce la struttura e il funzionamento dei principali algoritmi quantistici (Deutsch, Deutsch-Jozsa, Simon, Shor e Grover) e le architetture hardware per la loro implementazione su FPGA.

 

Capacità di applicare conoscenza e comprensione

Lo studente è in grado di applicare le conoscenze acquisite nella progettazione di semplici circuiti quantistici e nella realizzazione di gate quantistici mediante VHDL su piattaforme FPGA. Sa tradurre algoritmi quantistici in descrizioni digitali, effettuare analisi temporale e di potenza di circuiti digitali, e verificare il funzionamento attraverso simulazioni e test su hardware reale. Sviluppa competenze nell'utilizzo di strumenti software professionali (Vivado, simulatori quantistici) per la sintesi, implementazione e verifica di sistemi digitali.

 

Abilità di giudizio

Lo studente sviluppa la capacità di valutare criticamente le potenzialità e i limiti del quantum computing rispetto al calcolo classico, riflettendo sulla complessità teorica e sulla fattibilità pratica. Sa riconoscere i vincoli tecnologici e fisici delle implementazioni attuali, nonché le implicazioni etiche e sociali derivanti dal controllo della sicurezza crittografica (es. minaccia agli algoritmi RSA). Integra conoscenze quantistiche, digitali e di hardware design per prendere decisioni consapevoli sulla scelta tecnologica più appropriata.

 

Abilità di comunicare

Lo studente è in grado di comunicare in modo chiaro e rigoroso i concetti di quantum computing a interlocutori specialisti, utilizzando il linguaggio matematico e tecnico appropriato. Sa inoltre descrivere e motivare scelte progettuali, risultati di simulazioni e implementazioni hardware con chiarezza sia orale che scritta. Sviluppa la capacità di presentare idee complesse in forma accessibile a uditori con diversi livelli di competenza tecnica.

 

Capacità di apprendimento

Lo studente acquisisce autonomia nel proseguire lo studio di tematiche avanzate del quantum computing e della progettazione digitale. Sviluppa la capacità di consultare autonomamente letteratura scientifica, documentazione tecnica di piattaforme hardware e software, e risorse online specializzate. Sa inoltre identificare autonomamente lacune nella propria conoscenza e integrarle mediante approfondimenti self-directed, favorendo un apprendimento consapevole e strategico.

PROGRAMMA DEL CORSO

 Lezione 0: Introduzione al corso

 

Modulo 1: Fondamenti di Meccanica Quantistica e Teoria dell'Informazione (1 CFU)

1.     Lezione 1 –Introduzione al quantum computing

1.1. L’esperimento di Stern e Gerlach

1.2. L’analogia dell’orologio

1.3. Misura e Casualità nel Quantum Computing

1.4. Fotoni e Polarizzazione

2.     Lezione 2 – Algebra lineare: i vettori

2.1. La definizione di Paul Dirac

2.2. Operazioni e proprietà tra vettori

2.3. Basi ortonormali

2.4. Matrici

3.     Lezione 3 – Probabilità e basi associate

3.1. Probabilità e stati equivalenti

3.2. Relazione Spin -Base Associata

3.3. Relazione polarizzazione -Base Associata

4.     Lezione 4 – Qubit e non entangled Qubits

4.1. Qubits

4.2. Transizioni di Stato e Ampiezze di Probabilità

4.3. Protocollo BB84

4.4. Non Entangled Qubit

5.     Lezione 5 – Entanglement

5.1. I Qubit Entangled

5.2. Comunicazione Superluminale

5.3. La Base Standard per Prodotti Tensoriali

5.4. Gate CNOT per rendere i Qubit Entangled

5.5. Orologi Quantistici Entangled

 

Modulo 2: Teoria Quantistica Avanzata e Protocolli Quantistici (1 CFU)

6.     Lezione 6 - Il teorema di Bell

6.1. Qubit Entangled in basi differenti

6.2. Einstein: il Realismo Locale e le Variabili Nascoste

6.3. Una Spiegazione Classica dell'Entanglement

6.4. Disuguaglianza di Bell: La Risposta della Meccanica Quantistica

6.5. Disuguaglianza di Bell: La Risposta Classica

7.     Lezione 7 - Logica classica

7.1. Il Protocollo Ekert per la Distribuzione Quantistica di Chiavi

7.2. Logica Classica e logic gates

7.3. Minterm e Maxterm

8.     Lezione 8 - I Quantum gate

8.1. Reversable computation

8.2. Fan-Out

8.3. Qubits e quantum gates

8.4. Le porte I, Z, X e Y

8.5. La porta di Hadamard

8.6. Porte quantistiche universali

9.     Trasmettere informazioni tramite i Qubit

9.1. No Cloning Theorem

9.2. Il circuito di Bell

9.3. Superdense Coding

9.4. Teletrasporto quantistico

10. Lezione 10 - I Primi algoritmi quantistici

10.1.               Correzione degli errori

10.2.               La velocità degli algoritmi quantistici

10.3.               Algoritmo di Deutsch

 

Modulo 3: Algoritmi Quantistici Fondamentali (1 CFU)

11. Lezione 11 - Due algoritmi base del quantum computing

11.1.               Dal Kronecker product agli operatori su molti qubit

11.2.               Algoritmo di Deutsch–Jozsa

11.3.               Algoritmo di Simon

12. Lezione 12 – Algoritmo di Shor

12.1.               Introduzione

12.2.               Trasformata di Fourier quantistica (QFT)

12.3.               Algoritmo di Shor

12.4.               Conclusioni

13. Lezione 13 – Algoritmo di Grover e le tecnologie del quantum computing

13.1.               Algoritmo di Grover

13.2.               Algoritmi quantistici e l’uso nel mondo reale

13.3.               Dalla teoria alla pratica: tecnologie per circuiti quantistici e uso delle FPGA

14. Lezione 14 – Field Programmable Gate Arrays

14.1.               Processori, ASIC ed FPGA

14.2.               Architettura delle FPGA

14.3.               Componenti aggiuntivi

 

Modulo 4: Progettazione Digitale in VHDL – Fondamenti (1CFU)

15. Lezione 15 – Introduzione al VHDL

15.1.               Struttura base del VHDL

15.2.               Livelli di astrazione

15.3.               I processi in VHDL

15.4.               Descrizione strutturale e testbench

16. Lezione 16 – VHDL OBJECTs E TYPE

16.1.               Introduzione agli Oggetti VHDL

16.2.               Introduzione ai Dati in VHDL

16.3.               Tipi di Dato VHDL

16.4.               Conversioni di Tipo Comuni

17. Lezione 17 – Logica Combinatoria in VHDL

17.1.               VHDL statements

17.2.               differenza di sintesi

17.3.               for statements

18. Lezione 18 – Logica Sequenziale in VHDL

18.1.               D-Flip-Flop: sintassi e funzionamento

18.2.               Clock

18.3.               Reset

18.4.               D-FF

18.5.               Segnali vs Variabili

19. Lezione 19 – I più comuni circuiti sequenziali

19.1.               Shift Register

19.2.               Contatori

19.3.               Finite State Machines (FSM)

19.4.               Memoria RAM

 

Modulo 5: Progettazione Digitale Avanzata e Verifica (1CFU)

20. Lezione 20 – Esempio di MSF: la Snack Drink Machine

20.1.               Design della Snack Drink Machine

20.2.               Realizzazione in VHDL

20.3.               Descrizione Circuitale RTL

20.4.               Conclusioni

21. Lezione 21 – lavorare con i vettori in VHDL

21.1.               Rappresentazione fixed point

21.2.               Esempio: moltiplicazione fixed-point

21.3.               I Vettori in VHDL: definizione e operazioni

22. Lezione 22 – Lavorare con le matrici in VHDL

22.1.               Definizione delle Matrici in VHDL

22.2.               Operazioni sulla singola matrice

22.3.               Operazioni tra vettori e matrici e tra matrice e matrice

23. Lezione 23 – Static Timing Analysis (STA)

23.1.               Cos'è la Static Timing Analysis

23.2.               Il Clock nell' STA

23.3.               Input e Output Delay

23.4.               Pipelining e Retiming

24. Lezione 24 - Test-bench e verification

24.1.               Definizioni

24.2.               Semplice testbench senza stimoli esterni

24.3.               Standard test-bench con stimuli da file

24.4.               Asserting

25. Lezione 25 – Power Consumption

25.1.               Introduzione

25.2.               Definizioni

25.3.               Dissipazioni nei circuiti digitali

 

Modulo 6: Implementazione Hardware e Circuiti Quantistici su FPGA (1CFU)

26. Lezione 26 – Flusso Vivado

26.1.               Nuovo progetto RTL in Vivado

26.2.               Creare un file VHDL

26.3.               Creazione di un file di testbench

26.4.               Simulazione

26.5.               Sintesi, implementazione, bitstream

27. Lezione 27 – Pauli X e Z in RTL

27.1.               Moduli VHDL per X e per Z

27.2.               Testbench

27.3.               Risultati simulativi

28. Lezione 28 – Hadamard “numerico” (superposizione approssimata)

28.1.               matrice H

28.2.               Modulo VHDL

28.3.               Testbench

28.4.               Risultati simulativi

29. Lezione 29 - CNOT e H+CNOT

29.1.               CNOT (matrice 4×4)

29.2.               Modulo VHDL per CNOT

29.3.               Modulo VHDL H + CNOT

29.4.               Testbench

29.5.               Risultati simulativi

30. Lezione 30 – Emulazione della struttura di Deutsch

30.1.               Richiamo concetto Deutsch

30.2.               Emulazione della struttura di Deutsh

30.3.               Testbench

30.4.               Risultati simulativi

Testi consigliati

Il docente consiglia l’integrazione del materiale fornito (videolezioni, slides, esercitazioni) con i seguenti testi, a cui il docente può fare riferimento durante le lezioni:

  • Donzellini, G., Oneto, L., Ponta, D., & Anguita, D. (2018). Introduzione al progetto di sistemi digitali. Springer Milan.
  • Ercegovac, M. D., Moreno, J. H., & Lang, T. (1998). Introduction to digital systems. John Wiley & Sons, Inc..
  • Pong P. Chu “RTL HARDWARE DESIGN USING VHDL”
  • Mark Zwolinski ”VHDL progetto di sistemi digitali”
  • Douglas Perry “VHDL Programming by Example”
  • Maxfield C.“The Design Warrior’s Guide to FPGAs”
  • Bernhardt, Chris. Quantum computing for everyone. Mit Press, 2019.
  • Bandini, Michele. "Crittografia quantistica e algoritmo di Shor." (2017).

MODALITÀ DI ESAME, PREREQUISITI, ESAMI PROPEDEUTICI

 Modalità di accertamento dei risultati di apprendimento acquisiti dallo studente

Per valutate le capacità acquisite nel governare le nozioni apprese, nel creare delle connessioni con altri insegnamenti del corso di studi in maniera autonoma lo studente sarà sottoposto a una prova scritta da svolgere in presenza o a distanza e alla valutazione di un progetto pratico da consegnare prima dell’esame. Attraverso la prova scritta sarà valutata la conoscenza degli elementi di carattere teorico e pratico mentre la valutazione del progetto valuterà la capacità di applicazione pratica delle nozioni acquisite.

Modalità di esame

Al termine del corso è previsto lo svolgimento di un esame di profitto composto da una parte progettuale e da una prova teorica.

La valutazione della prova teorica andrà a fare media aritmetica con la valutazione del progetto pratico richiesto. Lo svolgimento del progetto è obbligatorio e il conseguimento di una votazione sufficiente (18/30) costituisce prerequisito per l’accesso alla prova teorica.

Il progetto pratico è volto a dimostrare la capacità da parte dello studente di implementare un sistema di emulazione di gate o algoritmi di quantum computing.

La prova scritta composta da 31 domande a scelta multipla, della durata di 30 minuti. A ciascuna risposta corretta viene attribuito un punto, senza penalizzazione per le risposte errate o mancanti. Il superamento della prova richiede il raggiungimento di una soglia minima di risposte corrette pari a 18. Il punteggio massimo di 31/31 corrisponde alla lode: lo studente che risponde correttamente a tutte le domande ottiene 30 e lode, a sottolineare il conseguimento pieno e approfondito dei risultati di apprendimento previsti.

Per gli studenti che seguono la didattica interattiva sono previsti bonus sul voto dell’esame scritto, a riconoscimento della partecipazione attiva e del lavoro svolto durante il semestre. In particolare:

  • +1 punto sul voto d’esame se lo studente ha seguito almeno il 50% delle lezioni erogate in modalità sincrona e ha superato i relativi test in itinere.
  • +2 punti sul voto d’esame se lo studente ha seguito almeno il 75% delle lezioni sincrone e ha superato i relativi test in itinere.

I punti aggiuntivi vengono applicati solo se il voto ottenuto alla prova scritta finale è almeno pari a 18/30 e possono contribuire all’attribuzione della lode nel caso in cui il punteggio complessivo raggiunga o superi la soglia prevista per 30 e lode.

 

Propedeuticità

Come da regolamento del corso di studi, non sono previste propedeuticità.

 

Prerequisiti          

Per seguire il corso con adeguata proficuità, è opportuno che lo studente abbia già superato i seguenti esami, da considerarsi prerequisiti:

·       Analisi matematica I e Geometria

·       Fondamenti di informatica

·       Fisica

·       Analisi matematica 2

·       Algoritmi e strutture dati

·       Reti di calcolatori

ORGANIZZAZIONE DIDATTICA

 Modalità di erogazione del corso: Corso interamente erogato a distanza   Attività didattiche previste Le attività di didattica, suddivise tra didattica erogativa (DE) e didattica interattiva (DI), saranno costituite da 7 ore per CFU e ripartite secondo una struttura di almeno 2,5 ore di DE (tenuta in considerazione la necessità di riascolto) e di 2 ore di DI per ciascun CFU.   Attività didattica erogativa (15 ore): 30 lezioni frontali videoregistrate, della durata di circa 30 minuti ciascuna (tenuta in considerazione la necessità di riascolto) sempre disponibili in piattaforma.   Attività didattica interattiva (24 ore): Le attività di didattica interattiva si svolgeranno mediante l’utilizzo di strumenti di videoconferenza sincrona secondo il calendario seguente: ·       Dicembre 2025 3 lezioni da 2 ore 1.     Approfondimento ed esercizi sull’algebra lineare 2.     Approfondimento sui circuiti combinatori 3.     Approfondimento sui circuiti sequenziali ·       Gennaio 2026 3 lezioni da 2 ore 1.     Approfondimento sui circuiti combinatori in VHDL 2.     Approfondimento sui circuiti sequenziali in VHDL 3.     Flusso ASIC ·       Marzo 2026 2 lezioni da 2 ore 1.     Approfondimento ed esercizi sull’algebra lineare 2.     Approfondimento sui circuiti combinatori ·       Aprile 2026 2 lezioni da 2 ore  1.     Approfondimento sui circuiti sequenziali 2.     Approfondimento sui circuiti combinatori in VHDL ·       Maggio 2026 2 lezioni da 2 ore 1.     Approfondimento sui circuiti sequenziali in VHDL 2.     Flusso ASIC   Attività di autoapprendimento: Le ore di autoapprendimento previste sono dedicate allo studio dei materiali dei materiali forniti dal docente e alla realizzazione del progetto pratico. Sono previsti dei test di autovalutazione a conclusione di ogni lezione, costituito da 5 domande (relative ai contenuti esposti nella lezione) a risposta multipla, con 4 risposte di cui una sola corretta. L'articolazione tra DE e DI, per ciascuna unità didattica, sarà organizzata coerentemente con gli obiettivi formativi specifici dell’insegnamento.   Ricevimento studenti Nella pagina dell’insegnamento, sezione “Ricevimento on line, vengono predisposti gli incontri con gli studenti in videoconferenza. Gli studenti possono concordare un appuntamento effettuando una richiesta alla mail istituzionale del docente riccardo.lacesa@uniroma5.it