Sistemi basati su conoscenza
Prof. M.T. PAZIENZA
a.a. 2002-2003
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
• XML
• I° test in itinere: esercizi di progr. Prolog+ XML
Syllabus (2)
• Basi di conoscenza: rappresentazione
formale, relazioni di dominio, ontologie,
inferenze
• Sistemi di ragionamento logico
• Linguaggio naturale
• Ontologie e 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
• Dispense
• Documentazione su rete - l'indirizzo URL è:
http://www.uniroma2.it/didattic
a/SBC02-03
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 conoscenze,
• in funzione della sequenza di percezioni
ricevute,
• date le azioni che si è in grado di compiere.
Agire razionalmente (1)
• Un agente razionale fa la cosa giusta, ovvero
quell’azione che procurerà all’agente il
maggior successo
• Misura di prestazione (valutare – come e
quando – il successo atteso considerato ciò
che è stato percepito).
Descrizione/costruzione di un agente
Corrispondenza tra le sequenze di percezioni e le
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
f : P*  A
Un agente razionale ideale si descrive attraverso la specifica della
lista di azioni che può compiere in risposta a qualsiasi sequenza
possibile di percezioni. (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 funzione
corrispondenza dell’agente dalle percezioni alle
azioni all’interno di un ambiente e con
prestazioni predefinite
Agente = architettura + programma
L’architettura (meccanismo di calcolo) 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/valutare percezioni ed
azioni)
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 (semplice)
Mantiene memoria della sequenza di percezioni
(incrementalità)
Si possono definire sistemi bad agenti cooperanti per
applicazioni più complesse
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 (in funzione della
complessità dell’applicazione)
• Time-consuming per il progettista
• Nessuna autonomia per l’agente
In ambiti limitati funzionano bene (ruolo dell’ambiente)
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
regole di produzione if-then-else
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
Agente che tiene conto del mondo
Trova regola in accordo situazione corrente
(definita da percezioni e stato interno)
Compie azione associata
Aggiorna lo stato del mondo
Agenti basati su obiettivi / Pianificatori
Agenti basati su obiettivi / Pianificatori
• Conoscere lo stato attuale dell’ambiente non
è sufficiente per decidere cosa fare
• Bisogna avere un obiettivo
• Ricerca di una soluzione al problema
• Pianificazione
Agenti basati su utilità
Teoria delle decisioni
Agenti basati su utilità
Teoria delle decisioni
• L’utilità è una funzione predefinita che
associa ad uno stato dell’agente un numero
reale che descrive il grado associato di
felicità
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
Scarica

1.Gestione-della