Dati Generali
Periodo di attività
Annualità Singola (19/09/2024 - 05/06/2025)
Syllabus
Obiettivi Formativi
L'insegnamento approfondisce schemi di controllo, algoritmi e linguaggi, anche basati su strumenti dell’intelligenza artificiale per risolvere problemi di soddisfacibilità di vincoli e di ottimizzazione.
Gli obiettivi formativi del corso sono che gli studenti siano in grado di:
- descrivere le principali caratteristiche di schemi, algoritmi e linguaggi di programmazione logica con vincoli
- descrivere gli schemi di controllo e gli algoritmi per includere i principali vincoli considerati nel progetto
- modellare un problema al fine di soddisfare vincoli e ottimizzare le soluzioni proposte utilizzando gli strumenti software più appropriati
- descrivere gli schemi e gli algoritmi impiegati nella soluzione proposta
- codificare un problema di soddisfacimento dei vincoli richiesti con lo strumento software più appropriato
- riconoscere quali modelli e soluzioni sono le più indicate per soddisfare i vincoli imposti dal problema.
Gli obiettivi formativi del corso sono che gli studenti siano in grado di:
- descrivere le principali caratteristiche di schemi, algoritmi e linguaggi di programmazione logica con vincoli
- descrivere gli schemi di controllo e gli algoritmi per includere i principali vincoli considerati nel progetto
- modellare un problema al fine di soddisfare vincoli e ottimizzare le soluzioni proposte utilizzando gli strumenti software più appropriati
- descrivere gli schemi e gli algoritmi impiegati nella soluzione proposta
- codificare un problema di soddisfacimento dei vincoli richiesti con lo strumento software più appropriato
- riconoscere quali modelli e soluzioni sono le più indicate per soddisfare i vincoli imposti dal problema.
Prerequisiti
------------------------------------------------------------
Insegnamento raggruppato: 66817 - SISTEMI DI SUPERVISIONE ADATTATIVI (mutua dall'attività formativa SISTEMI DI SUPERVISIONE ADATTATIVI - 66816 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
È necessario avere acquisito e assimilato le seguenti conoscenze fornite dai corsi di “Fondamenti di Controlli Automatici” o “Controlli Automatici”:
- concetti elementari di Analisi Matematica e del Calcolo Integrale e Differenziale;
- conoscenze dei concetti fondamentali di Fisica, in particolari quelli relativi alla modellistica dei sistemi dinamici;
- conoscenze della teoria dei sistemi dinamici e loro applicazione pratica; metodi per trattare i sistemi dinamici in regime continuo e transitorio;
- conoscenze di base dei sistemi statici e dinamici fornite nei corsi di base degli insegnamenti di Analisi Matematica e Fisica;
- capacità di analizzare e progettare sistemi di controllo a tempo continuo e discreto con complessità ridotta; fondamenti di sistemi dinamici lineari.
------------------------------------------------------------
Insegnamento raggruppato: 70454 - INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA (mutua dall'attività formativa INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA - 70443 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
E’ necessario avere acquisito e assimilato le seguenti conoscenze fornite dal corso "Fondamenti di Intelligenza Artificiale”:
• programmazione logica
• problemi di soddisfacimento di vincoli e loro tecniche di risoluzione
Insegnamento raggruppato: 66817 - SISTEMI DI SUPERVISIONE ADATTATIVI (mutua dall'attività formativa SISTEMI DI SUPERVISIONE ADATTATIVI - 66816 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
È necessario avere acquisito e assimilato le seguenti conoscenze fornite dai corsi di “Fondamenti di Controlli Automatici” o “Controlli Automatici”:
- concetti elementari di Analisi Matematica e del Calcolo Integrale e Differenziale;
- conoscenze dei concetti fondamentali di Fisica, in particolari quelli relativi alla modellistica dei sistemi dinamici;
- conoscenze della teoria dei sistemi dinamici e loro applicazione pratica; metodi per trattare i sistemi dinamici in regime continuo e transitorio;
- conoscenze di base dei sistemi statici e dinamici fornite nei corsi di base degli insegnamenti di Analisi Matematica e Fisica;
- capacità di analizzare e progettare sistemi di controllo a tempo continuo e discreto con complessità ridotta; fondamenti di sistemi dinamici lineari.
------------------------------------------------------------
Insegnamento raggruppato: 70454 - INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA (mutua dall'attività formativa INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA - 70443 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
E’ necessario avere acquisito e assimilato le seguenti conoscenze fornite dal corso "Fondamenti di Intelligenza Artificiale”:
• programmazione logica
• problemi di soddisfacimento di vincoli e loro tecniche di risoluzione
Metodi didattici
------------------------------------------------------------
Insegnamento raggruppato: 66817 - SISTEMI DI SUPERVISIONE ADATTATIVI (mutua dall'attività formativa SISTEMI DI SUPERVISIONE ADATTATIVI - 66816 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Il corso è organizzato in modalità blended (lezioni registrate e in presenza) nel seguente modo:
- 45/47 ore circa di didattica su tutti gli argomenti teorici del corso, erogate in modalità blended (lezioni registrate e discussione in Laboratorio di Informatica);
- 15/17 ore circa di esercitazioni presso il Laboratorio di Informatica per la discussione degli argomenti teorici del corso, e simulazione con il progetto di schemi di supervisione adattativi a media ed elevata complessità.
La parte teorica del corso sarà presentata sia sulla home page personale del corso del docente:
http://www.silviosimani.it/lessons.html
- Link di Meet: https://meet.google.com/lookup/bvqszkuzyf
Gli studenti seguiranno quindi le esercitazioni guidate in Laboratorio di Informatica, precedute dalle lezioni teoriche presentate in precedenza, come da calendario delle lezioni. Al termine delle esercitazioni guidate gli studenti avranno libero accesso al Laboratorio di Informatica per eventuali ed ulteriori esercitazioni individuali.
------------------------------------------------------------
Insegnamento raggruppato: 70454 - INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA (mutua dall'attività formativa INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA - 70443 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Le lezioni sono organizzate tramite la tecnica della Flipped Classroom: vengono fornite videolezioni da guardare a casa su tutti gli argomenti del corso.
Le lezioni in presenza sono tenute in laboratorio di informatica; vengono assegnati esercizi che vengono svolti al calcolatore, per poter apprendere tramite "learning by doing" le tecniche apprese nelle videolezioni.
Le esercitazioni in laboratorio riguardano l'uso di linguaggi di programmazione logica a vincoli, di risolutori SAT e di Answer Set Programming per la risoluzione di problemi a vincoli.
Insegnamento raggruppato: 66817 - SISTEMI DI SUPERVISIONE ADATTATIVI (mutua dall'attività formativa SISTEMI DI SUPERVISIONE ADATTATIVI - 66816 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Il corso è organizzato in modalità blended (lezioni registrate e in presenza) nel seguente modo:
- 45/47 ore circa di didattica su tutti gli argomenti teorici del corso, erogate in modalità blended (lezioni registrate e discussione in Laboratorio di Informatica);
- 15/17 ore circa di esercitazioni presso il Laboratorio di Informatica per la discussione degli argomenti teorici del corso, e simulazione con il progetto di schemi di supervisione adattativi a media ed elevata complessità.
La parte teorica del corso sarà presentata sia sulla home page personale del corso del docente:
http://www.silviosimani.it/lessons.html
- Link di Meet: https://meet.google.com/lookup/bvqszkuzyf
Gli studenti seguiranno quindi le esercitazioni guidate in Laboratorio di Informatica, precedute dalle lezioni teoriche presentate in precedenza, come da calendario delle lezioni. Al termine delle esercitazioni guidate gli studenti avranno libero accesso al Laboratorio di Informatica per eventuali ed ulteriori esercitazioni individuali.
------------------------------------------------------------
Insegnamento raggruppato: 70454 - INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA (mutua dall'attività formativa INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA - 70443 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Le lezioni sono organizzate tramite la tecnica della Flipped Classroom: vengono fornite videolezioni da guardare a casa su tutti gli argomenti del corso.
Le lezioni in presenza sono tenute in laboratorio di informatica; vengono assegnati esercizi che vengono svolti al calcolatore, per poter apprendere tramite "learning by doing" le tecniche apprese nelle videolezioni.
Le esercitazioni in laboratorio riguardano l'uso di linguaggi di programmazione logica a vincoli, di risolutori SAT e di Answer Set Programming per la risoluzione di problemi a vincoli.
Verifica Apprendimento
L'obiettivo della prova d'esame consiste nel verificare il livello di raggiungimento degli obiettivi formativi precedentemente indicati.
Al fine di verificare la capacità dello studente di modellare problemi con i diversi strumenti software e linguaggi di programmazione studiati, viene fatta una prova pratica di laboratorio; in questa prova, allo studente viene descritto un problema, che lo studente deve poi risolvere tramite il programma che riterrà più appropriato. Durante la prova di laboratorio è possibile accedere alla documentazione dei software studiato nel corso.
Al fine di verificare la conoscenza dello studente sulle tecniche e metodologie di progetto disponibili, viene fatta una prova a quiz a scelta multipla e una prova scritta. In queste prove lo studente deve dimostrare di aver appreso le principali strategie di progetto con vincoli. Durante la prova scritta e quiz non è possibile utilizzare alcun materiale didattico.
Al fine di verificare la capacità dello studente di modellare problemi con i diversi strumenti software e linguaggi di programmazione studiati, viene fatta una prova pratica di laboratorio; in questa prova, allo studente viene descritto un problema, che lo studente deve poi risolvere tramite il programma che riterrà più appropriato. Durante la prova di laboratorio è possibile accedere alla documentazione dei software studiato nel corso.
Al fine di verificare la conoscenza dello studente sulle tecniche e metodologie di progetto disponibili, viene fatta una prova a quiz a scelta multipla e una prova scritta. In queste prove lo studente deve dimostrare di aver appreso le principali strategie di progetto con vincoli. Durante la prova scritta e quiz non è possibile utilizzare alcun materiale didattico.
Testi
------------------------------------------------------------
Insegnamento raggruppato: 66817 - SISTEMI DI SUPERVISIONE ADATTATIVI (mutua dall'attività formativa SISTEMI DI SUPERVISIONE ADATTATIVI - 66816 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Verranno forniti appunti, lucidi schematici delle lezioni e altro materiale integrativo preparato preliminarmente dal docente, che risulteranno comunque sufficienti per seguire le lezioni e preparare l'esame.
Il materiale sarà disponibile alla pagina personale del sito dell'insegnamento del docente:
http://www.silviosimani.it/lessons45.html
Gli argomenti specifici trattati nel corso possono essere approfonditi sui seguenti testi, che però non risultano essenziali ai fini della preparazione dell'esame, né per seguire le lezioni:
- Controllo Ottimo e Stima Ottima: "Progetto di sistemi di controllo", M. Tibaldi. - 2. ed. - Pitagora, 1995.
- Controllo Non Lineare: "Applied nonlinear control", J.J. Slotine, W. Li. - Prentice Hall, 1991.
- Logica e Controllo Fuzzy: "A course in fuzzy systems and control", L.-X. Wang - Prentice Hall, 1997.
- Reti Neurali: "Neural Networks for Identification, Prediction, and Control", D.T. Pham and X. Liu - Springer Verlag, 1995.
- Diagnosi Automatica dei Guasti: "Model-based Fault Diagnosis in Dynamic Systems Using Identification Techniques", S. Simani, C. Fantuzzi, R. J. Patton - Springer, 2003.
Si segnala infine che il materiale o supporto didattico dell’insegnamento viene fornito in lingua Inglese.
------------------------------------------------------------
Insegnamento raggruppato: 70454 - INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA (mutua dall'attività formativa INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA - 70443 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Il materiale didattico di riferimento viene pubblicato su Google Classroom (codice swtkeqg per il 2022/23)
Per approfondimenti, si consigliano i seguenti testi:
- Krzysztof R. Apt and Mark Wallace. Constraint Logic Programming using Eclipse. Cambridge University Press, 2007
- Francesca Rossi, Peter van Beek, Toby Walsh (Eds.):
Handbook of Constraint Programming, Elsevier 2006
- Martin Gebser, Roland Kaminski, Benjamin Kaufmann, Torsten Schaub: Answer Set Solving in Practice. Morgan & Claypool, 2012
Insegnamento raggruppato: 66817 - SISTEMI DI SUPERVISIONE ADATTATIVI (mutua dall'attività formativa SISTEMI DI SUPERVISIONE ADATTATIVI - 66816 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Verranno forniti appunti, lucidi schematici delle lezioni e altro materiale integrativo preparato preliminarmente dal docente, che risulteranno comunque sufficienti per seguire le lezioni e preparare l'esame.
Il materiale sarà disponibile alla pagina personale del sito dell'insegnamento del docente:
http://www.silviosimani.it/lessons45.html
Gli argomenti specifici trattati nel corso possono essere approfonditi sui seguenti testi, che però non risultano essenziali ai fini della preparazione dell'esame, né per seguire le lezioni:
- Controllo Ottimo e Stima Ottima: "Progetto di sistemi di controllo", M. Tibaldi. - 2. ed. - Pitagora, 1995.
- Controllo Non Lineare: "Applied nonlinear control", J.J. Slotine, W. Li. - Prentice Hall, 1991.
- Logica e Controllo Fuzzy: "A course in fuzzy systems and control", L.-X. Wang - Prentice Hall, 1997.
- Reti Neurali: "Neural Networks for Identification, Prediction, and Control", D.T. Pham and X. Liu - Springer Verlag, 1995.
- Diagnosi Automatica dei Guasti: "Model-based Fault Diagnosis in Dynamic Systems Using Identification Techniques", S. Simani, C. Fantuzzi, R. J. Patton - Springer, 2003.
Si segnala infine che il materiale o supporto didattico dell’insegnamento viene fornito in lingua Inglese.
------------------------------------------------------------
Insegnamento raggruppato: 70454 - INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA (mutua dall'attività formativa INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA - 70443 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Il materiale didattico di riferimento viene pubblicato su Google Classroom (codice swtkeqg per il 2022/23)
Per approfondimenti, si consigliano i seguenti testi:
- Krzysztof R. Apt and Mark Wallace. Constraint Logic Programming using Eclipse. Cambridge University Press, 2007
- Francesca Rossi, Peter van Beek, Toby Walsh (Eds.):
Handbook of Constraint Programming, Elsevier 2006
- Martin Gebser, Roland Kaminski, Benjamin Kaufmann, Torsten Schaub: Answer Set Solving in Practice. Morgan & Claypool, 2012
Contenuti
------------------------------------------------------------
Insegnamento raggruppato: 66817 - SISTEMI DI SUPERVISIONE ADATTATIVI (mutua dall'attività formativa SISTEMI DI SUPERVISIONE ADATTATIVI - 66816 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Il corso è costituito da 60/64 ore di didattica tra lezioni a distanza ed esercitazioni in presenza. In particolare, sono previste 45/17 ore circa di lezioni teoriche, e 15/17 ore circa di esercitazioni guidate al calcolatore.
Più nel dettaglio, il corso esaminerà i seguenti argomenti:
- Introduzione. Sistemi adattativi, sistemi intelligenti, sistemi autonomi, sistemi distribuiti, sistemi embedded, sistemi ciberfisici. Gli strumenti chiave e le tecniche multidisciplinari per la comprensione, l’analisi, la rappresentazione e la sintesi di fenomeni fisici complessi. Introduzione ai sistemi adattativi, teoria dell’adattamento.
- Cenni di Tecniche di ottimizzazione. Ottimizzazione non vincolata. Metodo del gradiente. Ottimizzazione vincolata. Metodo di Lagrange. Metodi stocastici. Algoritmi genetici.
- Identificazione di Sistemi Dinamici. Identificazione parametrica e non parametrica. Metodi ed algoritmi ricorsivi per l’identificazione di sistemi lineari. Modelli ed algoritmi on-line per l’identificazione di sistemi non lineari.
- Logica e Controllo Fuzzy. Definizioni e proprietà; identificazione di modelli fuzzy finalizzata al controllo fuzzy. Controllo fuzzy: auto-apprendimento e controllo fuzzy adattativo. Il sistema ANFIS – Adaptive Neuro Fuzzy Inference System.
- Reti Neurali. Fondamenti e proprietà. Algoritmi per apprendimento supervisionato e non, con applicazioni all'identificazione ed al controllo. Algoritmi di ricerca stocastica: classificazione ed illustrazione delle principali tecniche. Reti neurali ricorrenti. Reti neurali adattative. Reti neurali dinamiche per l’identificazione ed il controllo. Progetto del regolatore adattativo neurale mediante controllore di riferimento (MRAC).
- Supervisione, Diagnosi dei Guasti e Controllo “Sostenibile”. Il principio della ridondanza fisica. Il progetto di un generatore di residuo. La valutazione del residuo. Schemi di diagnosi dei guasti. Isolamento ed identificazione di un guasto. Condition monitoring. La compensazione passiva ed attiva dei disturbi e dei guasti nella supervisione adattativa. Controllo sostenibile e tollerante ai guasti. Diagnosi preventiva e predittiva.
- Esercitazioni numeriche con l’ausilio del calcolatore. Esercizi di Identificazione di sistemi non lineari. Applicazioni della Logica Fuzzy e delle Reti Neurali. Algoritmi Stocastici. Esempi di progetto di sistemi di supervisione e di sistemi adattativi per l’identificazione ed il controllo di processi non lineari.
------------------------------------------------------------
Insegnamento raggruppato: 70454 - INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA (mutua dall'attività formativa INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA - 70443 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Il corso presenta le principali tecniche di propagazione e risoluzione dei vincoli e la loro applicazione concreta a varie tipologie di problemi reali.
In particolare, il corso tratta i linguaggi e risolutori sui domini finiti, con cenni di linguaggi e risolutori sui reali ed altri domini. Particolare enfasi verrà data ai linguaggi basati sulla logica, ovvero linguaggi di programmazione logica a vincoli e programmazione Answer Set Programming. Verranno poi spiegate le principali tecniche utilizzate nei risolutori SAT e le tecniche di codifica di problemi a vincoli in SAT.
Programmazione logica a vincoli sui domini finiti
- Vincoli globali
- Ottimizzazione
- Generazione di nuovi vincoli
- rimozione di simmetrie, vincoli ridondanti
- strategie di search
Algoritmi di risoluzione SAT
- Algoritmo Davis-Putnam-Logeman-Loveland
- Algoritmo Conflict-Directed Clause Learning
Algoritmi di codifica di problemi di soddisfacimento di vincoli in SAT
- direct encoding
- log encoding
- support encoding
Answer Set Programming
Insegnamento raggruppato: 66817 - SISTEMI DI SUPERVISIONE ADATTATIVI (mutua dall'attività formativa SISTEMI DI SUPERVISIONE ADATTATIVI - 66816 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Il corso è costituito da 60/64 ore di didattica tra lezioni a distanza ed esercitazioni in presenza. In particolare, sono previste 45/17 ore circa di lezioni teoriche, e 15/17 ore circa di esercitazioni guidate al calcolatore.
Più nel dettaglio, il corso esaminerà i seguenti argomenti:
- Introduzione. Sistemi adattativi, sistemi intelligenti, sistemi autonomi, sistemi distribuiti, sistemi embedded, sistemi ciberfisici. Gli strumenti chiave e le tecniche multidisciplinari per la comprensione, l’analisi, la rappresentazione e la sintesi di fenomeni fisici complessi. Introduzione ai sistemi adattativi, teoria dell’adattamento.
- Cenni di Tecniche di ottimizzazione. Ottimizzazione non vincolata. Metodo del gradiente. Ottimizzazione vincolata. Metodo di Lagrange. Metodi stocastici. Algoritmi genetici.
- Identificazione di Sistemi Dinamici. Identificazione parametrica e non parametrica. Metodi ed algoritmi ricorsivi per l’identificazione di sistemi lineari. Modelli ed algoritmi on-line per l’identificazione di sistemi non lineari.
- Logica e Controllo Fuzzy. Definizioni e proprietà; identificazione di modelli fuzzy finalizzata al controllo fuzzy. Controllo fuzzy: auto-apprendimento e controllo fuzzy adattativo. Il sistema ANFIS – Adaptive Neuro Fuzzy Inference System.
- Reti Neurali. Fondamenti e proprietà. Algoritmi per apprendimento supervisionato e non, con applicazioni all'identificazione ed al controllo. Algoritmi di ricerca stocastica: classificazione ed illustrazione delle principali tecniche. Reti neurali ricorrenti. Reti neurali adattative. Reti neurali dinamiche per l’identificazione ed il controllo. Progetto del regolatore adattativo neurale mediante controllore di riferimento (MRAC).
- Supervisione, Diagnosi dei Guasti e Controllo “Sostenibile”. Il principio della ridondanza fisica. Il progetto di un generatore di residuo. La valutazione del residuo. Schemi di diagnosi dei guasti. Isolamento ed identificazione di un guasto. Condition monitoring. La compensazione passiva ed attiva dei disturbi e dei guasti nella supervisione adattativa. Controllo sostenibile e tollerante ai guasti. Diagnosi preventiva e predittiva.
- Esercitazioni numeriche con l’ausilio del calcolatore. Esercizi di Identificazione di sistemi non lineari. Applicazioni della Logica Fuzzy e delle Reti Neurali. Algoritmi Stocastici. Esempi di progetto di sistemi di supervisione e di sistemi adattativi per l’identificazione ed il controllo di processi non lineari.
------------------------------------------------------------
Insegnamento raggruppato: 70454 - INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA (mutua dall'attività formativa INTELLIGENZA ARTIFICIALE PER L'OTTIMIZZAZIONE VINCOLATA - 70443 del CdS INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE - 1229)
------------------------------------------------------------
Il corso presenta le principali tecniche di propagazione e risoluzione dei vincoli e la loro applicazione concreta a varie tipologie di problemi reali.
In particolare, il corso tratta i linguaggi e risolutori sui domini finiti, con cenni di linguaggi e risolutori sui reali ed altri domini. Particolare enfasi verrà data ai linguaggi basati sulla logica, ovvero linguaggi di programmazione logica a vincoli e programmazione Answer Set Programming. Verranno poi spiegate le principali tecniche utilizzate nei risolutori SAT e le tecniche di codifica di problemi a vincoli in SAT.
Programmazione logica a vincoli sui domini finiti
- Vincoli globali
- Ottimizzazione
- Generazione di nuovi vincoli
- rimozione di simmetrie, vincoli ridondanti
- strategie di search
Algoritmi di risoluzione SAT
- Algoritmo Davis-Putnam-Logeman-Loveland
- Algoritmo Conflict-Directed Clause Learning
Algoritmi di codifica di problemi di soddisfacimento di vincoli in SAT
- direct encoding
- log encoding
- support encoding
Answer Set Programming
Lingua Insegnamento
ITALIANO
Altre informazioni
Si segnala che è possibile avere materiale o supporto didattico dell’insegnamento in lingua inglese.
Corsi
Corsi
INGEGNERIA INFORMATICA E DELL’AUTOMAZIONE
Laurea Magistrale
2 anni
No Results Found