INTELLIGENZA ARTIFICIALE E LABORATORIO

Anno accademico 2016/2017 - 1° anno - Curriculum Data Science
Docenti Crediti: 9
SSD: INF/01 - Informatica
Organizzazione didattica: 225 ore d'impegno totale, 189 di studio individuale, 36 di lezione frontale
Semestre:

Obiettivi formativi

  • INTELLIGENZA ARTIFICIALE

    Conoscenza e capacità di comprensione (knowledge and understanding): saranno acquisite le conoscenze relative agli Agenti Intelligent ed alle loro caratteristiche principali.
    Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): saranno acquisite le capacità per applicare le nozioni imparate in vari campi come: risoluzione di problemi combinatorialmente difficili, giochi e teoria delle decisioni, deduzione e ragionamento automatico.
    Autonomia di giudizio (making judgements): Lo studente sarà in grado di valutare la possibilità di sviluppare algoritmi e sistemi intelligenti per l'automazione di processi decisionali in diversi ambiti applicativi.
    Abilità comunicative (communication skills): saranno acquisite le necessarie abilità comunicative ed un'adeguata appropriatezza espressiva nella comunicazione di problematiche inerenti i sistemi intelligenti e le loro applicazioni.
    Capacità di apprendimento (learning skills): lo studente avrà la capacita di adattare le conoscenze acquisite anche a nuovi contesti e di comprendere i limiti di applicabilità delle tecniche di intelligenza artificiale.

  • LABORATORIO

    Il modulo di Laboratorio si concentra sugli aspetti implementativi e progettuali, dei vari algoritmi introdotti soprattutto durante la prima parte del corso, ovvero sulla risoluzione di problemi, anche computazionalmente molto complessi.

    Alla fine del corso, gli studenti avranno acquisito una notevole esperienza implementativa e sperimentale, su diversi algoritmi di ricerca propri dell'Intelligenza Artificiale

    1. Ricerca non informata
    2. Ricerca informata per mezzo di euristiche informata, euristiche,
    3. Algoritmi per problemi con vincoli
    4. Fondamenti di Algoritmi Naturali

Prerequisiti richiesti

  • INTELLIGENZA ARTIFICIALE

    Il corso presuppone una buona conoscenza di strumenti matematici discreti e continui, ed una conoscenza approfondita di algoritmi e complessita' di problemi.

  • LABORATORIO

    Il corso presuppone una buona conoscenza di linguaggi di programmazione (Ex. Java e/o C++) e lo studio delle tematiche viste durante le ore di lezione.


Frequenza lezioni

  • INTELLIGENZA ARTIFICIALE

    La frequenza è consigliata. Le lezioni permettono di cogliere meglio gli argomenti trattati e l'idea generale che tiene legati i diversi temi e forniscono riferimenti e digressioni utili.

  • LABORATORIO

    La frequenza è consigliata. Le lezioni permettono di cogliere meglio gli argomenti trattati e l'idea generale che tiene legati i diversi temi e forniscono riferimenti e digressioni utili.


Contenuti del corso

  • INTELLIGENZA ARTIFICIALE

    Il corso è suddiviso in 2 parti fondamentali. La prima parte su Risoluzione di Problemi e la seconda su Conoscenza e Ragionamento

    Contenuti dettagliati del Corso:

    PRIMA PARTE: Risoluzione di Problemi

    • Fondamenti e Storia dell'Intelligenza Artificiale
    • Agenti Intelligenti e loro classificazione
    • Ricerca e risoluzione di problemi
    • RIcerca nei giochi
    • Problemi con soddisfacimento di vincoli
    • Ricerca per mezzo di algoritmi naturali

    SECONDA PARTE: Conoscenza e Ragionamento

    • Agenti Logici e puzzles
    • Logica del primo ordine
    • Inferenze
    • Utilita' e valore dell'informazione
    • Decisioni semplici e complesse
  • LABORATORIO

    Il corso di Laboratorio, si concentrerà in particolare sugli aspetti implementativi di
    Strategie di ricerca non informata (BFS, Ricerca a costo uniforme, DFS, Ricerca a profondità’ limitata, etc.) e il confronto sperimentale del loro costo.
    Strategie di ricerca informata (Greedy BFS, A*, Ricerca euristica a memoria limitata, etc.) ed il confronto sperimentale del loro costo
    Ricerca locale e problemi di ottimizzazione, ivi incluse tecniche di computazione naturale
    Tecniche algoritmiche per giochi (Minimax, Alfa-beta, etc.)
    Algoritmi per problemi con vincoli (Colorazione di mappe, etc.)


Testi di riferimento

  • INTELLIGENZA ARTIFICIALE

    Il Libro di testo adottato è, Artificial Intelligence, a modern approach, 3rd Edition, S. Russel, P. Norvig, Disponibile anche in versione italiana. Altro materiale sara' fornito dal docente a lezione.

  • LABORATORIO
    1. Artificial Intelligence, a modern approach, 3rdEdition, S. Russel, P. Norvig,
    2. E.G. Talbi, "Metaheuristics: From Design to Implementation", Wiley, 2009
    3. C. Blum and G.R. Raidl, "Hybrid Metaheuristics: Powerful Tools for Optimization", Artificial Intelligence: Foundations, Theory, and Algorithms, 2016
    4. Materiale fornito dal docente.

Programmazione del corso

INTELLIGENZA ARTIFICIALE
 ArgomentiRiferimenti testi
1Fondamenti e Storia dell'Intelligenza ArtificialeCap. 1 e 27 
2Agenti IntelligentiCap. 2 
3Risoluzione dei problemi per mezzo di ricercaCap. 3 
4Oltre la ricerca classicaCap. 4 
5Ricerca con avversari e giochiCap. 5 
6Problemi con soddisfacimento di vincoliCap. 6 
7Agenti LogiciCap. 7 
8Logica del primo ordineCap. 8 
9Inferenza nella logica del primo ordineCap. 9 
10Quantificare l'incertezzaCap. 13 
11Ragionamento ProbabilisticoCap. 14 
12Ragionamento Probabilstico nel tempoCap. 15 
13Decisioni SempliciCap. 16 
14Decisioni ComplesseCap. 17 

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

  • INTELLIGENZA ARTIFICIALE

    L'esame si svolge oralmente.

    I quesiti riguardano tutte le parti del programma. In aggiunta, gli studenti presenteranno alla prova orale un progetto implementativo su uno dei temi della prima parte, concordato durante il Laboratorio, con il Prof. Pavone.

  • LABORATORIO

    L'esame consiste nello svolgimento di un progetto.