View syllabus
INTRODUCTION TO ARTIFICIAL INTELLIGENCE
ALESSIO MICHELI
Academic year2020/21
CourseCOMPUTER SCIENCE
Code586AA
Credits6
PeriodSemester 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
INTRODUZIONE ALL'INTELLIGENZA ARTIFICIALEINF/01LEZIONI48
ALESSIO MICHELI unimap
MARIA SIMI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Apprendere i concetti principali e i metodi che stanno alla base della progettazione e sviluppo di sistemi intelligenti.

Il corso introduce le tecniche di base per la realizzazione di agenti intelligenti e in particolare il paradigma di risoluzione dei problemi come ricerca in uno spazio di stati, la rappresentazione della conoscenza e il ragionamento automatico, i metodi e modelli di base dell’apprendimento automatico.

Knowledge

Learn the key concepts and methods behind the design and development of intelligent agents.

Modalità di verifica delle conoscenze

Le conoscenza sono verificate attraverso una prova scritta (prove in itinere o prova scritta prevista per ogni sessione) e una (eventuale) prova orale.

Assessment criteria of knowledge

Knowledge is verified through a written test (written “in itinere” tests or written test for each session) and a (possible) oral exam.

Capacità

Capacità di impostare e risolvere un problema secondo il paradigma di ricerca in uno spazio di stati; capacità di rappresentare conoscenze nei classici linguaggi logici e comprendere alcuni algoritmi di inferenza e loro complessità; capacità di scegliere ed utilizzare correttamente alcuni algoritmi base di apprendimento automatico.

Skills

Ability to formulate and solve a problem according to the paradigm of problem solving  as search in a state space. Ability to represent knowledge in classical logic languages and to understand some inference algorithms and their complexity. Ability to choose and use correctly some basic learning algorithms.

Modalità di verifica delle capacità

Gli esercizi delle prove scritte verificano la capacità di risoluzione di semplici istanze di nuovi problemi con le metodologie presentate nel corso.

Lo studente può inoltre esercitare (autoverifica) alcune metodologie della materia attraverso strumenti software, resi disponibili durante il corso e arricchiti di documentazione per l’uso e di prove di esercitazione specifiche per il corso.

Assessment criteria of skills

Exercises in written tests verify the ability to solve simple instances of new problems with the methodologies and techniques learned in the course.

The student can also experiment (in a self-assessment mode) methods and algorithms through software tools made available during the course and enriched with documentation for their use and exercise tutorials developed specifically for the course.

Comportamenti

Consapevolezza dei limiti attuali e delle potenzialità dei sistemi intelligenti.

Behaviors

Awareness of current limits and potential of intelligent systems.

Modalità di verifica dei comportamenti

Tramite la prova scritta e (eventuale) orale.

Assessment criteria of behaviors

Through written and (possible) oral tests.

Prerequisiti (conoscenze iniziali)

Algoritmi e strutture dati. Logica formale. Elementi di analisi matematica: funzioni, calcolo differenziale. Elementi di calcolo matriciale e relative notazioni. Elementi di calcolo di probabilità e statistica.

Prerequisites

Algorithms and data Structures.  Formal logic.  Elements of mathematical calculus: functions, differential calculus. Elements of matrix calculus and related notations. Elements of probability and statistics.

Indicazioni metodologiche

Il corso si articola in lezioni teoriche ed esercitazioni in aula, che hanno lo scopo di esemplificare i concetti sviluppati durante le lezioni e presentare problemi da formalizzare.
Le lezioni sono frontali, tipicamente con  l'ausilio di slide (proiezione).

Si utilizza la piattaforma elearning Moodle per distribuire il materiale didattico di ausilio (slide, software etc.).

Sono previste  prove intermedie in itinere (compitini) durante il semestre del corso in accordo al calendario del corso di Laurea in Informatica.

 

Teaching methods

The course includes theory lessons and exercise classes, which aim to exemplify the concepts developed during the lessons and to propose problems to be formalized and solved.
The lessons are face-to-face, typically with the help of slides (projection).

We use the Moodle e-learning platform to deliver additional learning material (slides, software etc.).

Intermediate tests are scheduled during the semester of the course in accordance with the calendar of the degree program in Computer Science. 

Programma (contenuti dell'insegnamento)

Risoluzione di problemi come ricerca:

  • Formulazione di problemi come ricerca in uno spazio di stati
  • Strategie di ricerca non informata ed euristica
  • Giochi con avversario

Rappresentazione della conoscenza e  ragionamento:

  • Il problema fondamentale della rappresentazione della conoscenza: espressività e complessità computazionale
  • Algoritmi efficienti per la soddisfacibilità
  • Deduzioni automatica: il metodo di risoluzione
  • Sistemi a regole: basi di dati deduttive e programmazione  logica
  • Rappresentazioni strutturate (frames, semantic networks)

Introduzione all’ apprendimento automatico:

  • Paradigma,  “forme” e metodi dell’ apprendimento automatico
  • Apprendimento induttivo di regole proposizionali
  • Apprendimento supervisionato: classificazione e regressione (modelli lineari e instance based)
  • Apprendimento non supervisionato (clustering)
  • Validazione: tecniche e aspetti teorici
  • Cenni a modelli dei paradigmi Bayesiano, simbolico, sub-simbolico
  • Esempi di applicazioni.
Syllabus

Problem solving as search:

  • Problem formulation as search in state spaces
  • Non-informed and heuristic search strategies
  • Adversarial problems (games)

Knowledge representation and reasoning:

  • The fundamental problem of knowledge representation: expressivity vs computational complexity
  • Efficient algorithms for satisfiability
  • Automated reasoning: the resolution method
  • Rule based systems: deductive data bases and logic programming
  • Structured representations (frames, semantic networks)

Introduction to machine learning:

  • Paradigms, "forms" and methods of machine learning
  • Inductive learning of propositional rules
  • Supervised learning: classification and regression (linear models and instance based)
  • Unsupervised Learning (Clustering)
  • Validation: techniques and theoretical aspects.
  • Introduction to the models of the Bayesian, symbolic and sub-symbolic  paradigms
  • Application examples
Bibliografia e materiale didattico

S. Russell, P. Norvig, “Artificial Intelligence: a modern approach", Pearson, Third Edition, 2010.

T. Mitchell, "Machine Learning", McGraw-Hill 1997.

Slide del corso forniti sulla piattaforma Moodle e materiale suggerito nelle slide.

Bibliography

S. Russell, P. Norvig, “Artificial Intelligence: a modern approach", Pearson, Third Edition, 2010.

T. Mitchell, "Machine Learning", McGraw-Hill 1997.

Course slides (made available on the Moodle platform) and readings suggested in the slides.

Indicazioni per non frequentanti

Non sono previste variazioni.

Non-attending students info

Same program as for attending students.

Modalità d'esame

Scritto e (eventuale) orale

La prova scritta consiste in domande sulle conoscenze teoriche e esercizi volti ad accertare la capacità di risolvere semplici istanze di nuovi problemi.  Si svolge in un’aula senza specifiche attrezzature.
La prova scritta è superata  se sono risposte correttamente le domande che verificano le conoscenze di base della materia e se sono svolti  con le metodologie presentate nel corso gli esercizi sui problemi da risolvere.

La (eventuale) prova orale consiste in un colloquio tra il candidato e i docenti del corso, relativo a tutte le parti del programma e, ove occorra, alla discussione dell'elaborato scritto.
La prova orale è superata se il candidato è in grado di esprimersi in modo chiaro e di usare la terminologia corretta su tutte le parti basilari del corso e mostra la capacità di mettere in relazione le diverse nozioni acquisite, mostrando  una sufficiente consapevolezza del funzionamento  e delle limitazioni e  potenzialità dei sistemi intelligenti.

La prova orale è necessaria se il candidato, pur avendo conseguito una valutazione globalmente sufficiente, non ha conseguito una sufficienza su tutte le parti della prova scritta.

Assessment methods

The written exam consists of questions about theory and exercises to verify the ability to solve simple instances of new problems. It takes place in a classroom without specific equipment.

The written exam is passed if the questions that verify the basic knowledge of the subject are properly answered and if the exercises are solved with the methodologies presented during the course.

The (possible) oral test consists in an interview between the candidate and the course lecturers on all parts of the program and, where appropriate, in a discussion on the written test.

The oral examination is passed if the candidate is able to express himself clearly and to use the correct terminology on all the basic parts of the course and shows the ability to relate the various notions acquired, showing a sufficient awareness of the functioning, limits and potential of intelligent systems.

The oral test is necessary if the candidate, despite having achieved a globally sufficient evaluation, has not obtained a sufficiency on all the parts of the written test.

Altri riferimenti web

Si utilizza la piattaforma elearning Moodle (elearning.di.unipi.it)

Additional web pages

We use the Moodle platform (elearning.di.unipi.it)

Notes

The course is in Italian.

Updated: 04/08/2020 19:50