Sistemi basati su conoscenza Gestione della conoscenza Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Rappresentazione della conoscenza Ragionamento Logica come linguaggio formale di supporto per la rappresentazione ed il ragionamento
Struttura del corso Lezioni Esercitazioni Approfondimenti tematici Test in itinere Esame finale Supporto ad esperienze professionalizzanti
Syllabus (1) Presentazione argomenti e struttura del corso Sistemi basati su conoscenza: rappresentazione e ragionamento Agenti intelligenti: autonomia,struttura, interazione con l’ambiente Agenti che ragionano: ragionamento, rappresentazione e logica Programmazione logica: Prolog I° test in itinere: esercizi di progr. Prolog
Syllabus (2) Basi di conoscenza: rappresentazione formale, relazioni di dominio, ontologie, inferenze Sistemi di ragionamento logico Linguaggio naturale XML II° test in itinere: proget. basi di conoscenza
Syllabus (3) Prova di appello Libro di testo “Intelligenza artificiale: un approccio moderno”, Russel e Norvig; Prentice Hall Documentazione su rete - l'indirizzo URL è: conoscenza conoscenza
Costruzione di una base di conoscenza Ingegneria della conoscenza: Analisi del dominio peculiare Individuazione concetti importanti Rappresentazione formale di oggetti e relazioni nel dominio
Agente logico basato su conoscenza Parte con una conoscenza generale del mondo e delle proprie azioni Usa il ragionamento logico per : 1.Mantenere una descrizione del mondo consistente all’arrivo di nuove percezioni 2.Dedurre una sequenza di azioni che porteranno all’ottenimento dei propri obiettivi
Agenti intelligenti Un agente è una entità in grado di percepire il proprio ambiente attraverso sensori e di agire in quell’ambiente attraverso degli attuatori Un agente software possiede stringhe di bit al posto delle proprie percezioni e azioni La nozione di agente è intesa come strumento per l’analisi di sistemi
Progettazione di un agente
Agire razionalmente Agire razionalmente significa agire per raggiungere i propri obiettivi, date le proprie credenze. Un agente razionale fa la cosa giusta, ovvero quell’azione che procurerà all’agente il maggior successo (valutare il come e il quando) Misura di prestazione (valutare il successo atteso considerato ciò che è stato percepito).
Descrizione/costruzione di un agente Corrispondenza delle sequenze di percezioni alle azioni Un agente può essere descritto attraverso un elenco completo delle azioni che può compiere in risposta ad ogni sequenza di percezioni possibile Definire una specifica delle corrispondenze senza fornire un elenco esaustivo (funzione di corrispondenza)
Agenti razionali Un agente è un’entità/funzione che agisce, date alcune percezioni Un agente razionale ideale si descrive attraverso la specifica della lista di azioni che può compiere in risposta a qualsiasi sequenza di percezioni possibile. (progetto di agente ideale) Un agente è autonomo se è dotato di capacità di apprendimento (che gli permettono di aggiornare le sue conoscenze iniziali)
Agenti razionali reali Limiti computazionali impediscono di raggiungere la perfetta razionalità Negli agenti razionali reali Autonomia e capacità di apprendimento Valutazione delle prestazioni Agente con la migliore prestazione
Progettazione di un agente Progettare il programma che implementi la corrispondenza dell’agente dalle percezioni alle azioni all’interno di un ambiente e con prestazioni predefinite Agente = architettura + programma L’architettura fornisce le percezioni al programma, esegue il programma e trasmette agli attuatori le azioni scelte dal programma.
Progettazione di un agente Prerequisiti: Conoscenza dettagliata di: tutte le percezioni e le azioni conseguenti possibili ambiente (per scegliere tra tutte le possibili azioni quelle che saranno applicabili) misura delle prestazioni (definita a priori per non alterare la valutazione) obiettivi (per selezionare percezioni ed azioni da valutare)
Programma di un agente Schema: A fronte di una conoscenza precedente e delle percezioni provenienti dall’ambiente (che aggiornano eventualmente la conoscenza <> incrementalità) vengono generate delle azioni a seguito dei risultati delle procedure di decisione. L’obiettivo e la misura delle prestazioni vengono applicate esternamente all’agente.
Schema di agente
Agente basato su tabella Tabella totalmente e precedentemente specificata Agente tiene conto della sequenza delle percezioni consultando la tabella La tabella non viene aggiornata
Agente basato su tabella Vantaggi: Progettazione semplice, completa, efficace Svantaggi: Dimensioni sempre crescenti Time-consuming per il progettista Nessuna autonomia per l’agente In ambiti limitati funzionano bene
Tipologie di programmi di agente Agente con riflessi semplici (rispondono alle percezioni) Agenti che tengono conto del mondo (considerano l’evolversi del mondo circostante) Agenti basati su obiettivi (agiscono per raggiungere i propri obiettivi) Agenti basati su utilità (cercano di massimizzare le propria utilità) Sono agenti specializzati, ovvero basati su ciò che vogliamo misurare
Agente con riflessi semplici
Trova la prima regola in accordo con situazione corrente (definita da percezione) Compie azione associata
Agente che tiene conto del mondo Trova regola in accordo situazione corrente (definita da percezioni e stato interno) Compie azione associata
Agenti basati su obiettivi / Pianificatori
Agenti basati su utilità Teoria delle decisioni
Proprietà degli ambienti Accessibile / Inaccessibile Deterministico / Non deterministico Episodico / Non episodico Statico / Dinamico Discreto / Continuo Agenti progettati per classi di ambienti
Tipi di ambienti Il tipo di ambiente determina fortemente il disegno dell’agente Il mondo reale è: Inaccessibile, stocastico, sequenziale dinamico e continuo
Agenti ed ambiente Lo stato dell’agente dipende dalle sue percezioni Lo stato dell’ambiente dipende dalle azioni di ogni singolo agente