Sistemi basati su conoscenza
Gestione della conoscenza
Prof. M.T. PAZIENZA
a.a. 2001-2002
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 è:
http://www.uniroma2.it/didattica/Sist-basconoscenza
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
f : P*  A
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
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
Scarica

Gestione-della-conoscenza