Sistemi Intelligenti M 2012/2013

Questo sito Web è dedicato al corso di Sistemi Intelligenti M. Il sito vuole consentire agli allievi di avere accesso a tutte le informazioni relative a finalità, contenuti, testi adottati e modalità di valutazione del corso.

Si ricorda a tutti gli studenti del corso l'iniziativa PAI (Popularize Artificial Intelligence): ulteriori informazioni e dettagli sono disponibili al sito del workshop. 

Orario del corso: consultabile sul sistema informatizzato di Facoltà.

Titolare del corso:

Prof. ssa Michela Milano, Tel. 051 20 93790, michela <dot> milano <at> unibo <dot> it
Ricevimento: Giovedi dalle 10 alle 12 presso lo studio del docente. Fac. Ing. Aule Nuove di fianco all'aula 5.7

Assistente:
Dott. Michele Lombardi, Tel. 051 20 93938, michele <dot> lombardi2 <at> unibo <dot> it
Ricevimento: Via Saragozza 8 (CIRAM), previo appuntamento via email


Obiettivi

Questo corso sfrutta alcuni degli argomenti trattati in Fondamenti di Intelligenza Artificial, quali rappresentazione della conoscenza, logica, strategie di ricerca informate e non informate, teoria dei giochi, risoluzione di vincoli. Il corso di Sistemi Intelligenti M, partendo dalle nozioni acquisite nel corso di Fondamenti, si propone di mostrare le principali applicazioni di Intelligenza Artificiale e dare esempi pratici delle tecniche apprese nel primo modulo.

Gli obiettivi pricipali del corso sono:

Inoltre:


Link interessanti

Curiosità:

 

Programma e Modalità d'Esame

Programma:

Il programma del corso si divide in due componenti principali: una teorica e una pratica in laboratorio. Per ognuno degli argomenti trattati, al termine della presentazione dei principali concetti, verranno proposte esercitazioni guidate rivolte ad utilizzare i principali strumenti disponibili. Le tecniche studiate in questo modulo rappresentano lo stato dell'arte della ricerca scientifica nel settore dell'Intelligenza Artificiale. Per ogni argomento, verranno consigliati articoli di rassegna che riassumono i più recenti progressi nello stato dell'arte. Segue il programma dettagliato:

  1. Pianificazione
    1. Pianificazione non lineare
    2. Pianificazione gerarchica
    3. Pianificazione basata su grafi
  2. Swarm Intelligence
    1. Ant-colony Optimization
    2. Particle Swarm Optimization
  3. Programmazione a Vincoli ed Ottimizzazione
    1. Applicazioni
    2. Strategie di ricerca e di Propagazione avanzate
  4. Apprendimento Automatico
    1. Alberi di decisione
    2. Reti neurali

Modalità d'esame

L'esame si compone di una prova scritta che riguarda sia esercizi sia domande di teoria. Per questo motivo non sarà possibile consultare libri o appunti.

Attività Progettuale a Scelta

E' possibile inserire nel piano di studi l'attività progettuale in Sistemi Intelligenti M. In questo caso il progetto da svolgere deve essere discusso con il docente.

Il progetto può riguardare o l'uso di un sistema esistente per la soluzione di un problema complesso o lo sviluppo di uno strumento di risoluzione di un'applicazione di IA. Il progetto deve essere corredato da:

  • Una relazione accurata sul contenuto del progetto e sul codice sviluppato.
  • Una presentazione, ossia una serie di lucidi, che riassume i principali punti del progetto e deve essere usata per "guidare" la prova orale.
  • Il codice dell'esercitazione. 

Testi di Riferimento ed Articoli

Testi di riferimento

 Intelligenza artificiale in genere:

Prolog:

Testi aggiuntivi:


Articoli

Planning

Swarm Intelligence:

Neural Networks:

Programmazione a Vincoli:

 

Lezioni & Esercitazioni

Lezioni

Il materiale delle lezioni verrà pubblicato progressivamente durante la durata del corso.

Esercizi

Alcuni esercizi svolti a lezione:

Esercitazioni

Il materiale delle esercitazioni verrà pubblicato progressivamente durante la durata del corso.

 

 

Seminari

Seminari effettuati e previsti:



Robot Mobili

Ing. Riccardo Falconi, Ing. Raffaele Grandi (DEIS, Univeristà di Bologna) - 16 Marzo 2012 ore 11 in aula 5.7

I robot mobili, negli ultimi anni, stanno sempre più entrando a far parte del mondo quotidiano, diffondendosi sia in ambiente industriale che in ambiente domestico. Di conseguenza, sempre maggiore interesse è stato focalizzato su tali sistemi da parte di numerosi enti di ricerca. Inoltre, il prezzo sempre più basso e le ridotte dimensioni a cui possibile accedere ad hardware relativamnete complesso, hanno portato da un lato alla miniaturizzazione di robot mobili, dall’altro alla possibilità di iniziare a studiare sistemi complessi composti da un numero sempre maggiore di robot mobili in grado di cooperare tra loro per portare a termine un determinato compito, come il trasporto cooperativo, l’esporazione decentralizzata o compiti di ricerca e soccorso in ambienti ostili all’uomo. Il seminario è stato suddiviso in due parti. Nella prima parte, dopo una breve introduzione storica, verrà introdotto il modello cinematico base dei robot mobili più diffusi e verrà presentata una panoramica delle tecniche di controllo più diffuse per sistemi single-robot. Si passerà poi a considerare le proprietà dei sistemi multirobot e le relative tecniche controllo, quali graph theory e PSO, basate essenzialmente non sull’individualità del singolo elemento, ma sulla capacità dell’intero sistema di svolgere compiti complessi sfruttando le capacità dei singoli componenti.

Durante la seconda parte dell’incontro verrà fatta una introduzione di massima sui mattoncini Lego Mindstorm NXT, illustrando la componentistica a disposizione dell’utente e la piattaforma di sviluppo hardware. Seguirà un breve cenno sui linguaggi a utilizzati nella programmazione dei Lego e in particolare sul linguaggio Java e il sistema LeJOS che ne consente l’interfacciamento con l’hardware del micro-controllore, comprese le procedure di sostituzione del firmware. Successivamente si illustreranno le caratteristiche di LeJOS e tutto ciò che viene messo a disposizione del programmatore o per il controllo via software del robot, comprese le letture dei sensori e il controllo dei motori. Il tutto verrà in pratica attraverso un piccolo esempio implementativo che dimostri le buone capacità dei lego come piattaforma di sviluppo di algoritmi...

A conclusione della seconda parte verrà mostrata la piattaforma multi-robot Unibot sviluppata al LAR con il relativo software di controllo ed i suoi sviluppi futuri nonché una veloce panoramica delle tecnologie hardware e software che ruotano attorno al mondo della robotica, con un breve cenno al sistema che sta diventando uno standard per il controllo di robots: "ROS: an open-source Robot Operating System".


Viaggio al centro della te...cnologia semantica

 Ing. Marcello Pellacani (Expert System), Aula 2.7B lunedì 20 Maggio  ore 12.00 - 14.00.

 


Tecniche di ottimizzazione per lo sviluppo di applicazioni embedded su piattatforme multiprocessore su singolo chip 

Ing. Alessio Bonfietti - DISI, Università di Bologna

L'evoluzione della tecnologia microelettronica consente oggigiorno di produrre sistemi multi-processore su singolo chip per applicazioni embedded quali telefonia cellulare, televisione digitale, handheld gaming, etc. Lo sviluppo di software per queste piattaforme hardware richiede complesse decisioni di allocazione  e scheduling in presenza di stringenti vincoli prestazionali (banda, ritardo) ed energetici. In questa presentazione verranno illustrati alcuni problemi di ottimizzazone relativi al mapping  di applicazioni software su piattaforme multiprocessore su singolo chip. Dai casi di studio illustrati emerge il ruolo strategico delle tecnologie di ottimizzazione studiate nel corso di Applicazioni di Intelligenza Artificiale nel rendere possibile lo sviluppo di software efficiente per tali piattaforme. 

 

 

 


Computational Arguments and their application in Computational Sociology

Paolo Torroni, Simone Gabbriellini - DISI, Università di Bologna

I prossimi anni ci vedranno testimoni di una crescita e diffusione capillare degli strumenti di simulazione di sistemi complessi, e in particolare simulazione sociale, come supporto alle decisioni a vari livelli: policy-making regionale, scelte strategiche aziendali, amministrazioni cittadine. L'argomentazione astratta, integrata a tecniche di simulazione sociale, è un nuovo promettente approccio per studiare la diffusione di opinioni in reti sociali. Questo seminario fornirà una breve introduzione all'argomentazione astratta e all'analisi di reti sociali, e discuterà alcune possibili applicazioni in questo ambito. Verranno esposti possibili temi per tesi di laurea magistrale in ingegneria informatica.

Slides:  http://lia.deis.unibo.it/~pt/Presentations/seminario-sistemi-intelligenti-2013.pdf

 

 

Temi d'Esame

ATTENZIONE: i temi provengono dal vecchio corso di Applicazioni di Intelligenza Artificiale e differiscono dalle prove d'esame correnti principalmente per l'esercizio di Programmazione a Vincoli (vedi esempi a seguire).

Alcuni esercizi di Programmazione a Vincoli tratti da temi d'esame di Sistemi Intelligenti

Temi d'esame completi di Sistemi Intelligenti

 

Se non li avete visti, controllate anche gli esercizi sugli alberi decisionali disponibili nella pagine con le slides.