- Area di Scienze
- Corso di Laurea Triennale
- Informatica [E3102Q - E3101Q]
- Insegnamenti
- A.A. 2025-2026
- 3° anno
- Introduzione all'Intelligenza Artificiale
- Introduzione
Syllabus del corso
Obiettivi
Conoscenza e capacità di comprensione (DdD 1)
Al termine del corso, lo studente sarà in grado di:
• comprendere i fondamenti teorici e storici dell’Intelligenza Artificiale, con particolare riferimento sia agli approcci simbolici (come il ragionamento basato su ontologie, la pianificazione e il ragionamento in condizioni di incertezza) sia a quelli sub-simbolici (quali l’apprendimento automatico supervisionato e non supervisionato);
• acquisire familiarità con i principali strumenti e tecnologie alla base del Web Semantico e dei Knowledge Graphs;
• conoscere le principali metodologie per la rappresentazione della conoscenza e per la risoluzione automatica di problemi;
• comprendere le caratteristiche dei principali algoritmi di apprendimento (classificazione, regressione, clustering, reti neurali), il loro funzionamento e i contesti in cui possono essere applicati.
Conoscenza e capacità di comprensione applicate (DdD 2)
Al termine del corso, lo studente sarà in grado di:
• valutare criticamente la possibilità di applicare tecniche e strumenti di IA a problemi concreti, con consapevolezza dei limiti metodologici e pratici;
• utilizzare strumenti operativi (come Protegé, DBPedia, ambienti per il machine learning) per progettare e sperimentare soluzioni basate su modelli IA;
• analizzare dati reali tramite tecniche di apprendimento automatico e interpretarne i risultati per formulare soluzioni pertinenti;
• applicare in contesti diversi approcci simbolici e sub-simbolici, riconoscendo i presupposti e le condizioni d’uso di ciascuna classe di tecniche.
Altri obiettivi (DdD 3, 4, 5)
Il corso promuove:
• l’autonomia di giudizio attraverso attività come la discussione di casi studio, esercitazioni e la realizzazione (facoltativa) di un progetto di gruppo, che richiede scelte metodologiche motivate;
• abilità comunicative, in particolare nella redazione di brevi relazioni e nell’esposizione orale facoltativa, finalizzate a rendere espliciti i ragionamenti compiuti e le soluzioni adottate;
• capacità di apprendere, favorendo l’accesso autonomo a materiali scientifici aggiornati e incentivando l’approfondimento individuale, anche tramite l’utilizzo di fonti online e letteratura specialistica.
Contenuti sintetici
Il corso presenterà un'introduzione storica della disciplina, poi si focalizzerà su contributi nell'area della cosidetta IA simbolica, con particolare riferimento (i) alle ontologie, alle tecnologie e possibilità inferenziali offerte da strumenti del Web Semantico; (ii) alla pianificazione; (iii) a cenni sul ragionamento in condizioni di incertezza. Verranno inoltre introdotti contributi selezionati nell'area della cosidetta IA sub-simbolica, con particolare riferimento a tecniche di analisi dei dati con approcci di apprendimento automatico (supervisionato e non supervisionato).
Programma esteso
- Introduzione alla disciplina
- Agenti intelligenti e ambienti come modo di descrivere problemi
- IA simbolica
- Breve introduzione ai concetti base
- Introduzione al web semantico (Knowledge Graphs, strumenti di query e inferenza; Strumenti abilitanti: DBPedia, WikiData, Protegé)
- Risolvere problemi con la ricerca, introduzione alla pianificazione
- Cenni su ragionamento in condizioni di incertezza
- IA sub-simbolica
- Breve introduzione ai concetti base, analisi di dati con tecniche di IA
- Classificazione (Alberi di decisione e cenni su metodi ensemble, K-NN, Reti Neurali)
- Regressione a partire da classificazione
- Clustering (K-means, DBSCAN)
- Approfondimento su reti neurali profonde
- Interventi di carattere seminariale (su temi di etica, approcci emergenti, o risultati particolarmente significativi) definiti durante il corso
Prerequisiti
Saranno considerati noti e ragionevolmente chiari concetti discussi negli insegnamenti di Fondamenti dell'Informatica, Linguaggi di Programmazione, e di Probabilità e Statistica per l'Informatica.
Modalità didattica
I temi trattati saranno presentati in relazioni agli aspetti teorici e metodologici ma anche discussi in relazione ad esempi pratici e casi di studio; saranno presentati e discussi in opportune esercitazioni alcuni strumenti per la realizzazione di sistemi basati su modelli e approcci discussi a lezione; saranno inoltre di volta in volta date indicazioni per approfondimenti nella letteratura scientifica del settore.
Il corso consta di 68 ore, di cui 48 ore di lezione (di cui circa il 66% di natura erogativa e il resto di natura interattiva) e 20 di esercitazione, di natura interattiva. Le lezioni e le esercitazioni sono in presenza, salvo problemi o cambiamenti di natura estemporanea che saranno annunciati tempestivamente, e saranno registrate e messe a disposizione per studio e ripasso.
Il corso è in lingua italiana, sebbene il materiale didattico sia prevalentemente in lingua inglese.
Materiale didattico
Slide del corso, articoli e materiale di approfondimento selezionato, capitoli selezionati da testi di riferimento, tra cui Artificial Intelligence: Foundations of Computational Agents, 2nd Edition, David L. Poole and Alan K. Mackworth (https://artint.info/2e/html/ArtInt2e.html). Ulteriori materiali saranno indicati durante il corso.
Periodo di erogazione dell'insegnamento
Primo semestre
Modalità di verifica del profitto e valutazione
Scritto e orale facoltativo (su richiesta del docente o dello studente) su temi discussi e presentati durante il corso; saranno oggetto di valutazione la conoscenza dei concetti, tecniche, e problematiche discusse, l'abilità nella risoluzione di esercizi discussi durante il corso, la capacità di scegliere tecniche discusse in relazione alla loro adeguatezza a situazioni specifiche. È apprezzata la capacità di sintesi. Verrà proposto un progetto facoltativo di gruppo (2-3 persone) con una sola possibilità di consegna annuale (che verrà fissata nella parte finale del corso, e sarà indicativamente collocata nei mesi di gennaio o febbraio) che potrà portare a dei punti extra, previa una discussione di quanto realizzato.
Orario di ricevimento
Giuseppe Vizzari: mercoledì mattina, su appuntamento, eventualmente anche per via telematica.
Sustainable Development Goals
Aims
Knowledge and Understanding (Dublin Descriptor 1)
At the end of the course, the student will be able to:
- understand the theoretical and historical foundations of Artificial Intelligence, with particular reference to both symbolic approaches (such as ontology-based reasoning, planning, and reasoning under uncertainty) and sub-symbolic ones (such as supervised and unsupervised machine learning);
- become familiar with the main tools and technologies underlying the Semantic Web and Knowledge Graphs;
- understand the main methodologies for knowledge representation and automated problem solving;
- comprehend the characteristics of the main learning algorithms (classification, regression, clustering, neural networks), how they work, and the contexts in which they can be applied.
Applying Knowledge and Understanding (Dublin Descriptor 2)
At the end of the course, the student will be able to:
- critically assess the applicability of AI techniques and tools to real-world problems, with an awareness of their methodological and practical limitations;
- use operational tools (such as Protégé, DBpedia, and machine learning environments) to design and test solutions based on AI models;
- analyze real-world data using machine learning techniques and interpret the results in order to formulate relevant solutions;
- apply symbolic and sub-symbolic approaches in various contexts, recognizing the assumptions and conditions of use for each class of techniques.
Other Objectives (Dublin Descriptors 3, 4, 5)
The course fosters:
- independent judgment, through activities such as case study discussions, exercises, and an (optional) group project that requires motivated methodological choices;
- communication skills, especially through the writing of short reports and optional oral presentations, aimed at making reasoning and adopted solutions explicit;
- learning skills, by encouraging autonomous access to up-to-date scientific materials and promoting individual in-depth study, also through the use of online resources and specialized literature.
Contents
The course will present a historical introduction to the discipline, then it will focus on selected contribution in the area of the so-called symbolic AI, with specific reference to (i) ontologies, technologies, and inferential capabilities offered by Semantic Web technologies, (ii) planning, (ii) brief introduction to reasoning in presence of uncertainty. Finally, selected contributions of the so-called sub-symbolic AI will also be discussed, with specific reference to data analysis techniques based on machine learning approaches (supervised and unsupervised).
Detailed program
- Introduction to the discipline
- Intelligent agents and environments as a way to characterize problems
- Symbolic AI
- Brief introduction to basic concepts
- Introduction to Semantic Web (Knowledge Graphs, querying, and inference; enabling instruments: DBPedia, WikiData, Protegé)
- Solving problems with search, introduction to planning
- Brief introduction to reasoning in presence of uncertainty
- Sub-symbolic AI
- Brief introduction to basic concepts
- Classification (Decision trees and ensemble methods, K-NN, Neural Networks)
- Regression
- Clustering (K-means, DBSCAN)
- Deep neural networks and deep learning
- Additional topics as invited seminars (on ethics, emerging topics, or particularly significant results) defined during the course
Prerequisites
Topics discussed within the classes of Fundamentals of Computer Science, Programming Languages, Probability and Statistics For Computer Science will be considered known and reasonably clear.
Teaching form
Theoretical and methodological aspects will be presented along with practical examples and case studies, employed to exemplify the introduced topics; specific tools for the realization of presented models and approaches will be presented; suitable references to the relevant and recent scientific literature will be given for supporting an in depth study of the treated topics.
The course consists of 68 hours, of which 48 hours are lectures (approximately 66% of which are expository and the rest interactive) and 20 hours are interactive exercises. The lectures and exercises are conducted in person, unless unforeseen problems or changes arise, which will be promptly announced, and will be recorded and made available.
The course is in Italian although the teaching material is mostly in English.
Textbook and teaching resource
Slides, papers and selected additional material, selected chapters from reference books, among which Artificial Intelligence: Foundations of Computational Agents, 2nd Edition, David L. Poole and Alan K. Mackworth (https://artint.info/2e/html/ArtInt2e.html). Additional resources will be indicated during the course.
Semester
First semester
Assessment method
Written and optional oral examination on topics discussed during the course; knowledge about concepts, techniques, issues discussed in the course, as well as the ability to solve exercises proposed, and the ability to choose solutions based on their appropriateness to the context of the problem will also be evaluated. The ability to convey knowledge and abilities in a compact and effective way will be appreciated. An optional group project (2-3 members) will be proposed; a single possibility to carry out the project will be defined, plausibly close to the end of the course, with assignment due in the months of January/February. It could lead to extra points for the final evaluation, provided the project is discussed.
Office hours
Giuseppe Vizzari: wednesday morning, by appointment, potentially also via teleconferencing systems.