LOGICA E METODI PROBABILISTICI PER L'INFORMATICA

Obiettivi formativi

Obiettivi Generali Fornire allo studente le nozioni formali fondamentali di due aspetti basilari della preparazione di uno scienziato dell'intelligenza artificiale, la logica matematica e i metodi probabilistici in informatica. A questi due aspetti sono dedicate le due sezioni del corso. La prima parte del corso ha l’obiettivo di introdurre la logica matematica come potente strumento per modellare e ragionare formalmente su diversi aspetti dell’intelligenza artificiale, in particolare la gestione dei dati, la rappresentazione della conoscenza, l'interrogazione e la revisione di dati e conoscenza. La seconda parte del corso intende illustrare alcuni aspetti fondamentali dei metodi probabilistici in Informatica quali il progetto e l'analisi degli algoritmi probabilistici, i metodi di campionamento e di allocazione probabilistica, i processi stocastici e alcune loro applicazioni all'analisi dei dati e dell’apprendimento automatico. Obiettivi specifici Conoscenza e comprensione Rispetto alla prima parte del corso, lo studente impara le nozioni fondamentali della logica matematica, i principi secondo i quali si giudica la validità degli argomenti, si analizzano le relazioni tra argomenti e si valutano i rapporti inferenziali, come la deduzione, l’induzione e l’abduzione, tra essi. Rispetto alla seconda parte del corso, lo studente impara le nozioni basilari della progettazione degli algoritmi probabilistici e della loro analisi ed acquisisce le basi per applicare tali nozioni al progetto di algoritmi fondamentali in Intelligenza Artificiale, inclusi algoritmi di ricerca e ordinamento, algoritmi su reti e grafi, algoritmi di classificazione, clustering e apprendimento automatico. Applicare conoscenza e comprensione Lo studente acquisisce una comprensione profonda del ruolo della logica in vari aspetti dell'intelligenza artificiale e si appropria di conoscenze di base per formalizzare un problema in logica, analizzare teorie logiche e ragionare sulle relative inferenze, costruire teorie logiche per la modellazione di basi di conoscenza di media complessità, specificare in logica interrogazioni di basi di dati e di conoscenza e tradurre in programmi logici la specifica di semplici computazioni. Lo studente acquisisce una comprensione profonda del ruolo del ruolo della probabilità nel progetto di algoritmi e nell'analisi dei dati e si appropria di conoscenze di base per svolgere analisi di algoritmi probabilistici, definire algoritmi probabilistici per problemi di media complessità, applicare metodi fondamentali quali il metodo di Monte Carlo, le catene di Markov, la programmazione dinamica ed i modelli bayesiani a diversi contesti, come le sequenze, i grafi, le reti, l’apprendimento automatico, la classificazione ed il clustering. Capacità critiche e di giudizio Lo studente è in grado di valutare la validità di affermazioni e di argomentazioni, la coerenza di un insieme di assiomi in una base di conoscenza, l’adeguatezza della formulazione di una computazione che estrae dati da una base di dati e di conoscenza, la correttezza di un programma logico rispetto alla specifica di determinate proprietà. Lo studente è in grado di analizzare algoritmi probabilistici, di valutare l’efficacia di metodi probabilistici e di ottimizzazione dinamica a problemi algoritmici e di Intelligenza Artificiale e di giudicare la qualità dell’applicazione di algoritmi di apprendimento automatico, di classificazione e di clustering. Capacità comunicative Le attività pratiche e le esercitazioni del corso consentono allo studente di acquisire strumenti cruciali per comunicare e condividere la valutazione critica di strumenti e linguaggi logici e il loro ruolo nell'intelligenza artificiale e dei metodi algoritmici e il loro ruolo in diversi importanti contesti dell'Intelligenza Artificiale. Capacità di apprendimento Oltre alle classiche capacità di apprendimento fornite dallo studio teorico delle tematiche di base trattate nel corso, le modalità di svolgimento del corso stesso, in particolare le attività progettuali, stimolano lo studente all'approfondimento autonomo di alcuni argomenti, al lavoro di gruppo e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.

Canale 1
STEFANO LEONARDI Scheda docente
LORENZO MARCONI Scheda docente

Programmi - Frequenza - Esami

Programma
- Sintassi e semantica della logica proposizionale - Algoritmo DPLL - Sistemi di Hilbert - Metodo della risoluzione - Metodo dei tableaux - Sintassi e samantica della logica del primo ordine - Relazione tra logica del primo ordine e basi di dati relazionali - Il linguaggio Datalog
Prerequisiti
Per la sezione "Logica" 1) Conoscere le nozioni matematiche di base 2) Esperienza di base con database relazionali
Testi di riferimento
Durante il corso verranno forniti dei lucidi che affrontano nel dettaglio tutti i temi trattati.
Frequenza
Il corso è erogato in modalità di didattica frontale. Non è previsto obbligo di frequenza.
Modalità di esame
Per la sezione "Logica", l'esame consisterà in una prova scritta.
Modalità di erogazione
Il corso prevede lezioni frontali ed esercitazioni in aula. Le lezioni si svolgono in presenza e trasmesse in modalità telematica.
  • Codice insegnamento10603320
  • Anno accademico2025/2026
  • CorsoScienze matematiche per l’intelligenza artificiale
  • CurriculumCurriculum unico
  • Anno3º anno
  • Semestre2º semestre
  • SSDING-INF/05
  • CFU6