- Introduzione all'Intelligenza Artificiale
- Introduzione
Syllabus del corso
Obiettivi
Gli obiettivi del corso riguardano l’introduzione di aspetti fondazionali e teorici, metodologici e pratici inerenti l'area dell'Intelligenza Artificiale (IA); in particolare, il corso intende:
- fornire conoscenze di base per analizzare e valutare la possibilità di applicare soluzioni esistenti nell'area dell'IA a problemi specifici;
- discutere questioni metodologiche legate all'applicazione di tecniche di IA in domini e contesti applicativi;
- presentare alcune soluzioni tecniche e tecnologiche specifiche per la sperimentazione da parte degli studenti.
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 è 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
The aims of the course concern theoretical, methodological, and practical issues related to the area of Artificial Intelligence (AI); in particular the course:
- is aimed at supplying basic knowledge necessary to analyse and evaluate the applicability of existing AI solutions to specific problems;
- is aimed at discussing methodological issues related to the application of AI techniques to specific domains and contexts of application;
- is aimed at presenting some specific technical and technological solutions for experimentation by the students.
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 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.
Sustainable Development Goals
Scheda del corso
Staff
-
Dimitri Ognibene
-
Matteo Luigi Palmonari
-
Giuseppe Vizzari