Fondamenti di Intelligenza Aritificiale L-S
A.A. 2005-2006

Tesi

Sono disponibili tesi sui seguenti argomenti:

  • Applicazione di tecniche di soddisfacimento di vincoli a problemi di:
    • Scheduling
    • Pianificazione per la gestione di sistemi distribuiti
    • Integrazione di Programmazione a Vincoli e Ricerca Operativa
    • Ottimizzazione Multi-Criteria
  • Apprendimento di programmi logici
  • Sistemi Esperti e Data Mining in campo Medico
  • Società di entità computazionali

Scheduling e soddisfacimento di vincoli

I problemi di scheduling classicamente sono stati affrontati tramite tecniche di Ricerca Operativa. Negli ultimi anni, tuttavia, sono state sperimentate alcune tecniche di soddisfacimento di vincoli che hanno portato a risultati promettenti. In particolare, i linguaggi di Programmazione Logica a Vincoli su domini finiti (CLP(FD)) si sono dimostrati ottimi candidati per risolvere questo tipo di applicazioni dal punto di vista dell'efficienza e del potere espressivo. Le tesi si laurea disponibili riguardano

  • lo studio e la realizzazione di estensioni della CLP(FD) in grado di migliorare ulteriormente l'efficienza nella propagazione e il potere espressivo.
  • lo studio e la realizzazione di euristiche che si possono integrare nel linguaggio CLP(FD) che permettano di scegliere la strada più promettente quando la propagazione di vincoli non è in grado di condurre a una scelta precisa.

Pianificazione per la gestione di sistemi distribuiti

Lo scopo di un pianificatore è quello di costruire, sulla base di un insieme di azioni elementari, una sequenza di azioni in grado di raggiongere un obiettivo dato in ingresso a partire da una configurazione iniziale del sistema in esame. Tipicamente, i pianificatori generativi (che producono piani ottimali) si basano su una rappresentazione completa del mondo che devono modellare e assumono che questa rappresentazione sia statica. Per applicare un pianificatore di questo genere al fine di generare script automatici per la gestione delle risorse in un sistema distribuito e' necessario rilassare tali ipotesi restrittive. A tal fine, e' necessario definire meccanismi per il recupero delle informazioni dal sistema sottostante in grado di acquisire dinamicamente solo lo stato del mondo che interessa al processo di pianificazione e per il controllo sull'esecuzione del piano stesso. Le applicazioni di tali pianificatori vanno da information retrieval a gestione di problematiche riguardanti la sicurezza delle reti. Sono disponibili tesi sui diversi aspetti del problema.


Integrazione di Programmazione a Vincoli e Ricerca Operativa

Tra i metodi e le tecniche utilizzate in Intelligenza Artificiale per la risoluzione di problemi hanno assunto particolare rilevanza negli ultimi anni quelli che si basano sul soddisfacimento di vincoli. Alle tecniche tradizionali di Ricerca Operativa che risolvono queste classi di problemi con algoritmi specifici, si affiancano oggi tecniche di Intelligenza Artificiale che esplorano lo spazio delle soluzioni possibili e che, al contempo, possono ridurlo attraverso la propagazione dei vincoli della rete. Ultimamente, l'integrazione delle due tecniche ha portato a notevoli vantaggi dal punto di vista computazionale nella programmazione a vincoli e dal punto di vista della rappresentazione del problema in Ricerca Operativa. Sono disponibili tesi di tipo teorico e/o realizzativo sull'integrazione di metodi quali Branch and Bound e Branch and Cut in risolutori di vincoli commerciali.


Ottimizzazione Multi-Criteria

La Programmazione Logica a Vincoli è una classe di linguaggi logici con cui è possibile definire problemi di ottimizzazione combinatoria, in cui è presente una funzione obiettivo che deve essere ottimizzata. Frontiera non-dominata

In molti ambiti ingegneristici, però, non è possibile stabilire una unica funzione obiettivo, ma esistono più criteri che si vorrebbero rendere ottimi contemporaneamente. Una buona soluzione è spesso un compromesso fra due o più criteri.

In questi casi un possibile metodo consiste nel trovare tutte le soluzioni che non sono dominate; l'utente deciderà a posteriori quale soluzione risulta migliore, dopo aver visto la distribuzione delle soluzioni. Per esempio, si consideri un CSP in cui si vorrebbero massimizzare due funzioni f1 ed f2. Alcune soluzioni sono dominate da altre; cioè risultano peggiori di altre rispetto ad entrambe le funzioni obiettivo. Le soluzioni non-dominate formano la cosiddetta Frontiera non-dominata.

Poiché le soluzioni precedentemente trovate sono punti in uno spazio, risulta ragionevole memorizzarle con strutture dati spaziali, quali i Point Quadtrees (vedi anche un demo sui Point Quadtree).

Sono disponibili tesi per la realizzazione di meta-predcati di ottimizzazione multi-criteria nell'ambito della Programmazione Logica a Vincoli.


Apprendimento di programmi logici

La programmazione logica induttiva (ILP: Inductive Logic Programming) è un'area di ricerca all'intersezione fra Apprendimento Automatico e Programmazione Logica. Il suo scopo è quello di realizzare sistemi in grado di apprendere un programma logico partendo da esempi e da una conoscenza di background.

All'interno di questa area di ricerca, sono disponibili tesi sui seguenti argomenti:

  1. Utilizzo della Programmazione Logica ad Oggetti come limguaggio di rappresentazione.
  2. Applicazione di tecniche di ILP al Data Mining e Knowledge Discovery in Databases.

1) L'utilizzo di programmi logici ad oggetti come formalismo di rappresentazione consente una migliore strutturazione della conoscenza. Questo formalismo risulta adatto a rappresentare domini dove è riconoscibile una gerarchia di classi, in quanto consente di rappresentare esplicitamente tale gerarchia attraverso una struttura ad albero dove i nodi sono classi e le foglie entit&agrave. In questo modo è possibile una migliore organizzazione delle informazioni: la conoscenza specifica relativa ad una singola istanza viene associata all'istanza, mentre la conoscenza comune alle istanze di una classe viene associata alla classe. Il partizionamento che ne risulta rende la base di conoscenza più facilmente leggibile e consente meccanismi di ragionamento più efficienti. Inoltre, l'organizzazione gerarchica delle classi rende disponibile un nuovo operatore di generalizzazione per l'apprendimento, che consiste nello "spostare" da una classe ad una superclasse la clausola appresa.

Varie scelte sono possibili sia per la definizione del problema di apprendimento in questo nuovo contesto, sia per lo sviluppo di un algoritmo per la soluzione di tale problema. Fra le varie alternative, è stata scelta una definizione del problema ed è stato progettato e realizzato un algoritmo che combina tecniche note di programmazione logica induttiva.

Sono disponibili tesi per
I) investigare le altre scelte possibili per la definizione del problema e lo sviluppo di un algoritmo
II) compiere esperimenti con dati reali.

2) applicazione di tecniche di ILP al Data Mining e Knowledge Discovery in Databases. Le organizzazioni hanno a loro disposizione una sempre maggiore quantità di dati sulla attività che compiono. Le informazioni che possono essere estratte da questi dati possono essere molto importanti per il miglioramento delle prestazioni dell'organizzazione. Le tecniche tradizionali di analisi dei dati spesso non sono sufficienti per l'estrazione di queste informazioni, a questo scopo è nato il campo di ricerca del Data Mining e Knowledge Discovery in Databases che si occupa di sviluppare strumenti più efficienti ed intelligenti per analizzarli. Le informazioni che possono essere tratte da questi dati spesso forniscono un importantissimo vantaggio competitivo ad una azienda. Per questa ragione, il Data Mining e Knowledge Discovery in Databases ha ricevuto una grande attenzione recentemente.

Sono disponibili tesi al fine di investigare le applicazioni delle tecniche di ILP in questo campo.


Sistemi Esperti e Data Mining in campo medico

Le tecniche di Intelligenza Artificiale vengono applicate al settore della medicina già da parecchi anni per la realizzazione di Sistemi Intelligenti (basati sulla conoscenza) capaci di dare un supporto alle decisioni del personale ospedaliero in alcune attività di routine in cui vengono richiesti standard qualitativi sempre più stringenti. Il processo di estrazione della conoscenza in campo medico/ospedaliero è una operazione di per sé molto difficile a causa della complessità dei problemi trattati e dal fatto che quasi sempre la conoscenza degli esperti del settore è di tipo empirico. Questa caratteristica del mondo della medicina porta ai seguenti problemi:

  1. le regole che esprimono i ragionamenti e guidano alla soluzione di un particolare problema medico non sono sempre le stesse e sono ampiamente soggettive.
  2. spesso le regole non sono formalizzabili, ma solo estraibili a posteriori da grosse moli di dati.

Il Data Mining, sviluppatosi nell'ultimo decennio, rappresenta la soluzione proposta dall'Intelligenza Artificiale e dal settore delle Basi di Dati a questi problemi e sta dimostrando ampi margini di espansione. Il suo obiettivo è la ricerca di modelli all'interno delle basi di dati, in modo da permettere un supporto alle decisioni. Alcuni obiettivi della ricerca in questo settore sono:

  1. studio e sperimentazione di tecniche di datamining su dati di tipo medico
  2. studio di strumenti e tecniche di Filtraggio Intelligente
  3. studio e realizzazione di Sistemi Esperti capaci di essere un valido supporto al personale medico nello svolgimento delle attività che coinvolgono i dati analizzati. Le regole che faranno parte della base di conoscenza potranno essere anche ricavate dalla applicazione delle tecniche di DataMining sopra citate.

Alcuni argomenti di tesi sono i seguenti:

  1. creazione di un sistema esperto per la validazione dei dati di tipo Microbiologico (infezioni) e la generazione in tempo reale di allarmi.
  2. applicazione di tecniche di Data Mining ai dati di tipo Microbiologico per l'estrazione di nuova conoscenza da utilizzare anche per migliorare e espandere la base di conoscenza del sistema esperto descritto nel punto precedente.

Queste due tesi verranno svolte in collaborazione con la Dianoema S.p.A, operante nel settore dell'informatica applicata alla medicina.


Società di entità computazionali

Nel triennio 2002-2004 ha avuto luogo un progetto europeo dal titolo 'Societies Of ComputeeS' (SOCS), in collaborazione con altri istituti universitari europei, tra cui l'università di Cipro, Imperial College e la City University di Londra. Il progetto ha come argomenti la analisi, la specifica formale, la prototipazione, e la verifica di società di entità computazionali, ovvero di programmi software basati su logica computazionale. Gli argomenti che si intendono trattare a livello di tesi includono:

  • agenti software intelligenti
  • logica computazionale
  • integrazione di varie forme di ragionamento
  • sviluppo di modelli teorici
  • implementazione e applicazioni in ambiti internet information gathering, commercio elettronico, simulazione, politiche di sicurezza per sistemi distribuiti

Ulteriori informazioni sul progetto SOCS si possono trovare all'indirizzo: http://lia.deis.unibo.it/Research/Projects/SOCS

Last Update: Wednesday, April 19, 2006 10:39 . Contact webmaster of this site