In questa pagina sono raccolte alcune proposte di
progetti per la parte di laboratorio eventualmente
associata al corso (4 crediti). Tale elenco non va
inteso come esaustivo: gli studenti possono proporre
altri progetti, concordandoli preventivamente col
docente.
La discussione del progetto può avvenire solo dopo
aver sostenuto con successo l'esame scritto di
Fondamenti di Intelligenza Artificiale M. La data di
discussione va concordata preventivamente col docente.
Alla discussione del progetto, lo studente è
tenuto a:
- portare una relazione sintetica del lavoro svolto (max. 10 pagine);
- effettuare una presentazione della durata di 10 minuti ca. (max. 8 slide);
- mostrare una demo del sistema realizzato.
AI e Sistemi Distribuiti per il Calcolo Parallelo
-
Parallelizzazione di sistemi per il
Complex Event Processing (CEP). L'obiettivo di questo
progetto è quello di studiare la possibilità di distribuire su più
nodi di computazione l'esecuzione di sistemi a regole CEP (e.g.,
Drools Fusion). Si suggerisce l'uso di Apache Spark come
piattaforma di supporto alla computazione parallela. Dopo aver
studiato gli strumenti software coinvolti, sarà interessante
confrontare le performance di esecuzione di un determinato
algoritmo CEP su singola macchina e in ambiente distribuito.
(Persone: 1) (Referente: Daniela Loreti) (Stato: non assegnata)
-
Parallelizzazione di algoritmi di
apprendimento automatico. L'obiettivo di questo progetto
è quello di studiare la possibilità di distribuire su più nodi
di computazione l'esecuzione di algoritmi di Machine Learning e
reti neurali. In particolare, risulta interessante studiare la
parallelizzazione di algoritmi che sfruttino librerie
predefinte, come Google TensorFlow. Si suggerisce l'uso di
Apache Spark come piattaforma di supporto alla computazione
parallela. Dopo aver studiato gli strumenti software coinvolti,
sarà interessante confrontare le performance di esecuzione di un
determinato algoritmo di esempio su singola macchina e in
ambiente distribuito.
(Persone: 1) (Referente: Daniela Loreti) (Stato: non assegnata)
Reti Neurali e Deep Learning
-
Reti neurali applicate ai giochi.
Lo scopo del progetto è applicare una rete neurale profonda (Deep
Network) a giochi da tavolo e piccoli videogiochi, confrontando i
risultati con altre tecniche di IA. Non è richiesta conoscenza
approfondita delle reti neurali, poiché verrà utilizzato un
framework già esistente; il focus del progetto sarà sulla
modellazione del gioco, la sperimentazione e il confronto con
altre tecniche.
(Persone 1 o 2, a seconda della difcioltà del gioco) (Referente: Andrea Galassi) (Stato: non assegnata)
NAO Robot
-
Disponibili diversi progetti con il
Robot
NAO
L'attività si svolgerà inizialmente sull'ambiente di sviluppo e simulazione fornito con il robot (framework Choreographe). Una volta raggiunta una buona stabilità e affidabilità del software sviluppato, verrà fornita l'opportunità di lavorare direttamente con il robot presso i locali del DISI.
Di seguito vengono mostrati alcuni esempi di possibili progetti ma è possibile ampliare o proporre anche nuovi spunti.-
Robot NAO e linguaggio naturale
- Sviluppo di bot
- Sviluppo di giochi interattivi
- Sviluppo di abilità per quiz e giochi matematici
-
Robot NAO e planning real-time
- Esecuzione di azioni (comandi) real-time in ambiente chiuso
- Movimento all’interno di un percorso/li>
- (Persone : 1-2) (Referente:Allegra De Filippo) (Stato: non asssegnata)
-
Robot NAO e linguaggio naturale
GIOCHI, BOTS e ALTRO
- Giochi matematici e problem solving
Si affrontino e risolvano (cercando di essere il piu' generali possibile) alcuni giochi matematici tipo quelli riportati nei files che seguono mediante le tecniche di problem-solving descritte nel Corso di Intelligenza Artificiale.
http://matematica.unibocconi.it/sites/default/files/giochiautunno2010/allenamentiautunno2010.pdf
http://matematica.unibocconi.it/sites/default/files/giochiautunno2010/soluzioniautunno2010.pdf
Se ne possono trovare altri nel sito:
http://matematica.unibocconi.it/giochi-matematici
o in altri siti mediante ricerca con google.
Si tenti una classificazione dei problemi i base alle modalita` di soluzione. Si espliciti la difficolta` nel trattare la parte di "comprensione" del problema descritto in modo testuale/grafico e si mostrino esempi e possibili soluzione studiando anche lo stato dell'arte.
(Persone : 2) (Referente: Paola Mello) (Stato: non asssegnata) -
Giochi matematici di puzzle geometrici
Si affrontino e risolvano (cercando di essere il piu' generali possibile)
i giochi matematici dove viene richiesto di comporre un puzzle
geometrico usando forme predefinite, come ad esempio il gioco
numero 5 nel seguente file:
http://matematica.unibocconi.it/sites/default/files/2014.autunno.q1.pdf
(Persone : 1 o 2) (Referente: Paola Mello) (Stato: non asssegnata) -
Realizzazione di una IA per una competizione internazionale su un gioco.
Lo scopo del progetto è la realizzazione di un agente basato su tecniche di IA per giocare a uno dei tanti giochi per i quali esistono competizioni internazionali. Ovviamente non è richiesto che il giocatore si dimostri il migliore (anche se ci si può sempre sperare! Nel caso ci sarebbero anche premi in denaro…), ma piuttosto l’applicazione delle tecniche viste durante il corso o di tecniche originali che portino a risultati discreti e che non siano ancora state applicate nell’ambito di queste competizioni.
Alcune delle competizioni correntemente attive sono le seguenti: https://project.dke.maastrichtuniversity.nl/cig2018/?page_id=255
In particolare si suggerisce il gioco Hanabi: http://hanabi.aiclash.com/index.html
(Persone 1 o 2, a seconda della difficoltà del gioco)(Referente: Andrea Galassi) (Stato: non asssegnata)
COMPUTAZIONE EVOLUTIVA
- 14: Progetto e implementazione di un algoritmo genetico per risolvere problemi di ottimizzazione combinatoria (per esempio, quadratic assignment problem e timetabling problem)
(Persone : 1) (Referente: Andrea Roli) (Stato: non asssegnata)
- 15:
Progetto e implementazione di un algoritmo genetico per definire una strategia di gioco per il dilemma del prigioniero (versione iterata) o altri giochi analoghi descritti da matrice di payoff. [ http://en.wikipedia.org/wiki/Prisoner's_dilemma]
(Persone : 1) (Referente: Andrea Roli) (Stato: non asssegnata)
- 16: Progetto e implementazione di un algoritmo genetico per costruire un'istanza difficile per un problema di ottimizzazione combinatoria.
(Persone : 1) (Referente: Andrea Roli) (Stato: non asssegnata)
- 17: Progetto e implementazione di un algoritmo di programmazione genetica per l'approssimazione di funzioni.
(Persone : 1) (Referente: Andrea Roli) (Stato: non asssegnata)
- 18: Progetto e implementazione di un
algoritmo di programmazione genetica per una strategia di
comportamento in un videogioco (per esempio Robocode o Mario Bros). [ http://robocode.sourceforge.net/]
(Persone : 1) (Referente: Andrea Roli) (Stato: non asssegnata)
- 51: Progetto e implementazione di un algoritmo genetico per definire le regole di transizione di un automa cellulare unidimensionale
[ http://mathworld.wolfram.com/CellularAutomaton.html]
di raggio r > 1 in modo da ottenere un classificatore capace di risolvere il problema della densità (cioè, il pattern iniziale, binario, converge a valori tutti 0 o tutti 1 a seconda della predominanza di un valore o dell'altro nella configurazione iniziale). Per maggiori informazioni: http://csc.ucdavis.edu/~evca/Projects/evca.html
(Persone : 1) (Referente: Andrea Roli) (Stato: non asssegnata)
- 52: Esperimenti di evolutionary art
(http://en.wikipedia.org/wiki/Evolutionary_art) o di evolutionary
music (http://en.wikipedia.org/wiki/Evolutionary_music).
Progetto e implementazione di un algoritmo genetico per la generazione di quadri o di composizioni musicali.
(Persone : 1) (Referente: Andrea Roli) (Stato: non asssegnata)
NATURAL LANGUAGE PROCESSING E ARGUMENTATION MINING
- Feature Extraction from
Textual Corpora. Studio ed estrazione di feature
(linguistiche, semantiche, subsimboliche…) da documenti testuali
in corpora esistenti
(Persone : 1-2) (Referenti: Paolo Torroni, Marco Lippi, Andrea Galassi)
- Natural Language Processing in Prolog..
(Persone : 1-2) (Referente: Paola Mello) (Stato: non asssegnata)
- Argumentation Mining from Speech..
Creazione
e utilizzo di nuovi dataset per l'estrazione automatica di argomenti
da discorsi politici.
(Persone : 1-2) (Referenti: Paolo Torroni, Marco Lippi) (Stato: non asssegnata)
- Fake News Detection with Argumentation
Mining. Analisi
della presenza di argomenti all'interno di documenti testuali
riguardanti notizie vere e fasulle.
(Persone : 1-2) (Referenti: Paolo Torroni, Marco Lippi) (Stato: non asssegnata)
- Consumer-Empowering Artificial
Intelligence.
Creazione di un tool/crawler per l’estrazione automatica di terms of service e/o privacy policies da siti web, da analizzare con tool (in parte già esistenti) di machine learning.
(Persone : 1-2) (Referenti: Paolo Torroni, Marco Lippi) (Stato: non asssegnata)
- Symbolic Reasoning for Legal Documents.
L'attività consiste nel combinare tecniche simboliche per il reasoning con un tool già esistente che riconosce automaticamente clausole fraudolente in contratti online.
(Persone : 1-2) (Referenti: Paolo Torroni, Marco Lippi) (Stato: non asssegnata)