rappresentazione_b_2003 - Università degli Studi di Parma

AOT Lab
Dipartimento di Ingegneria dell’Informazione
Università degli Studi di Parma
Intelligenza Artificiale
Rappresentazione della Conoscenza
e Ragionamento (parte 2)
Agostino Poggi
Stefano Cagnoni
Sistemi di Produzione
 I sistemi di produzione sono uno strumento ideale per la
costruzione di sistemi basati sulla conoscenza.
 Infatti, permettono di implementare algoritmi di ricerca guidata
dai dati (forward chaining) e algoritmi di ricerca guidata dagli
obiettivi (backward chaining).
 Permettono di realizzare sistemi di ragionamento deduttivo e
anche sistemi di ragionamento plausibile e incerto.
 OPS5 (Brownston, et al., 1985) è sicuramente il sistema di
produzioni più conosciuto.
Rappresentazione della Conoscenza e Ragionamento
2
Regole di Produzione
 I sistemi di produzione rappresentano la conoscenza attraverso
regole di produzione.
 Una regola di produzione è composta da una coppia
condizione/azione ed ha la forma:
IF <insieme condizioni> THEN <insieme azioni>
 Le azioni possono essere di due tipi distinti:
 Azioni sul mondo esterno.
 Azioni sulla conoscenza del sistema.
 Le regole di produzione modellano sia conoscenza procedurale
che conoscenza dichiarativa.
Rappresentazione della Conoscenza e Ragionamento
3
Architettura dei
Sistemi di Produzione
 Un sistema di produzione è composto da tre parti:
 La base delle regole.
 La memoria di lavoro.
 L’interprete delle regole.
 La base delle regole contiene la conoscenza del sistema
espressa in regole di produzione.
 La memoria di lavoro contiene le informazioni sullo stato di
avanzamento del processo computazionale.
 L’interprete controlla il sistema applicando le regole alle
informazioni nella memoria di lavoro.
Rappresentazione della Conoscenza e Ragionamento
4
Funzionamento dei
Sistemi di Produzione
 Dopo aver inserito nella memoria di lavoro le informazioni
relative al problema che si vuole risolvere, il funzionamento di
un sistema di produzione si basa sulla ripetizione di tre passi:
 Confronto.
 Risoluzione conflitti.
 Esecuzione.
 Nella fase di confronto vengono individuate le regole la cui
parte sinistra è soddisfatta dal contenuto della memoria di
lavoro.
Rappresentazione della Conoscenza e Ragionamento
5
Funzionamento dei
Sistemi di Produzione
 Nel caso in cui più di una regola può essere eseguita, nella fase
di risoluzione dei conflitti viene scelta una regola in base a una
serie di criteri prestabiliti.
 Scelta la regola, essa viene eseguita, compiendo azioni sul
mondo e aggiornando la memoria di lavoro.
 La terminazione dell’attività del sistema può avvenire in
diversi modi. I più comuni sono:
 L’insieme dei conflitti è vuoto.
 Una regola ha come azione una istruzione di halt.
Rappresentazione della Conoscenza e Ragionamento
6
Criteri per Risolvere i Conflitti
 Esistono vari criteri per risolvere i conflitti:
 Criterio di ordinamento (rule ordering o fire first): le regole sono
ordinate in ordine di importanza;
 Criterio di refrattarietà (refractoriness): una regola può essere attivata
sugli stessi dati una sola volta. Di questo criterio esistono due
versioni:
 Il criterio ha validità su tutti i cicli precedenti.
 Il criterio ha validità sul ciclo precedente.
 Criterio di recenza (recency): gli elementi della memoria di lavoro
vengono etichettati in base al ciclo in cui sono stati inseriti, le regole
che utilizzano dati più recenti sono favorite rispetto a quelle che usano
dati che si trovano in memoria da più tempo.
Rappresentazione della Conoscenza e Ragionamento
7
Criteri per Risolvere i Conflitti
 Criterio di specificità (specificity), si favoriscono le regole più
specifiche, cioè quelle con la condizione più dettagliata qualora le
condizioni di queste regole siano un sovra-insieme delle altre regole
contenute nell’insieme di conflitti.
 Criterio di ordinamento in base ai dati (data ordering): si assegnano
delle priorità diverse alle varie condizioni e si esegue la regola che ha
le condizioni a priorità più alta.
 Criterio di ordinamento in base ai pesi (weight ordering): si
assegnano alle regole dei pesi che tengono conto del numero di volte
che una regola è stata attivata.
 Criterio di ordinamento in base alla grandezza, vengono favorite le
regole con il maggior numero di condizioni.
Rappresentazione della Conoscenza e Ragionamento
8
Gestione dei Cicli
 In certi casi un sistema di produzioni può cadere in un ciclo di
attivazioni ripetute che non ha termine.
 Esistono due modi per implementare dei meccanismi per
eliminare dei cicli di attivazioni ripetuti:
 Cablare nell’interprete un meccanismo che evita l’attivazione di regole
che cercano di aggiungere alla memoria di lavoro informazioni già
presenti.
 Definire le regole di produzione in modo che inseriscano delle
clausole che ne inibiscano l’attivazione successiva.
Rappresentazione della Conoscenza e Ragionamento
9
Conoscenza di Controllo
 Alcuni sistemi di produzione permettono la definizione di
meta-regole per sfruttare della conoscenza euristica sul
problema da risolvere per velocizzare e facilitare la sua
soluzione.
 Questa conoscenza può riferirsi a:
 Quali regole applicare in certe situazioni.
 In quale ordine soddisfare i sotto-obiettivi.
 Quali sequenze di regole sono utili da applicare.
Rappresentazione della Conoscenza e Ragionamento
10
L’algoritmo RETE
 Il punto debole dei sistemi di produzione è il grande dispendio
di risorse della fase di confronto.
 Un algoritmo di confronto molto efficiente è l’algoritmo RETE
(Forgy, 1982). Esso si basa su:
 Una struttura dati detta rete di discriminazione che utilizza due tipi di
nodi:
 Nodi test che corrispondono ai nodi intermedi della rete e rappresentano dei test
sui dati nella memoria di lavoro.
 Nodi terminali che rappresentano le singole regole di produzione.
 Ad ogni ciclo aggiorna l’insieme dei conflitti:
 Se un dato viene aggiunto, cerca le regole che sono attivabili da quel dato.
 Se un dato viene tolto, cerca le regole che erano attivate da quel dato.
Rappresentazione della Conoscenza e Ragionamento
11
Vantaggi e Limiti dei
Sistemi di Produzione
 I principali vantaggi dei sistemi di produzione sono:
 La semantica di una regola di produzione è facilmente intuibile.
 I meccanismi di controllo sono programmabili.
 I principali limiti dei sistemi di produzione sono:
 L’aggiunta di una regola può comportare la modifica di regole
preesistenti.
 I meccanismi di controllo sono globali e difficili da regolare.
Rappresentazione della Conoscenza e Ragionamento
12
Reti Semantiche
 Le reti semantiche rappresentano la conoscenza attraverso una
struttura a grafo (detta rete):
 I nodi rappresentano dei concetti.
 Gli archi rappresentano relazioni tra concetti o proprietà dei concetti
stessi.
Mammifero
isa
Uomo
appartiene
Cervello
esemplare-di
Blu
maglia
Pee-Wee-Reese
Rappresentazione della Conoscenza e Ragionamento
squadra
Brooklyn-Dodgers
13
Reti Semantiche
 Le reti semantiche sono un modo naturale per rappresentare
relazioni binarie.
 Una relazione di cardinalità maggiore di due può essere
rappresentata da una rete semantica a più archi.
Cubs
squadra-ospite
Partita
isa
G 23
5-3
punteggio
squadra-di-casa
Brooklyn-Dodgers
Rappresentazione della Conoscenza e Ragionamento
14
Reti Semantiche
 Un modo per cercare le relazioni tra i concetti di una rete è
quello di vedere dove le attivazioni si incontrano (ricerca
dell’intersezione).
Mammifero
isa
isa
Cane
Uomo
esemplare-di
esemplare-di
Buck
Pee-Wee-Reese
Rappresentazione della Conoscenza e Ragionamento
15
Gestione delle Gerarchie
 Le reti semantiche rappresentano un formalismo adatto per
modellare conoscenze gerarchiche.
isa
Animali
isa
isa
Animali
Elefanti
Mammiferi
isa
Mammiferi
Elefanti
isa
 Che differenza c’è tra le due reti?
Rappresentazione della Conoscenza e Ragionamento
16
Gestione dei Valori per Default
 La rappresentazione di conoscenze valide per default, mentre
costituisce un problema difficile per i formalismi logici, è un
problema facilmente risolvibile con le reti semantiche.
isa
riproduzione
Elefanti
Mammiferi
isa
vivipara
Ornitorinco
ovipara
riproduzione
 La gestione delle eccezioni è semplice e consiste nel
memorizzarle nei nodi a cui si riferiscono e nel fermare la
ricerca appena si trova un valore.
Rappresentazione della Conoscenza e Ragionamento
17
Gestione dell’Eredità Multipla
 La gestione diventa difficile con l’eredità multipla.
pacifista
quacchero
isa
convinzione_politica
non_pacifista
falco
convinzione_politica
Nixon
repubblicano
isa
isa
 Secondo il metodo precedente Nixon è allo stesso tempo
pacifista e non pacifista.
 Esistono altri metodi:
 ricerca in profondità avvantaggia i primi percorsi;
 ricerca in ampiezza avvantaggia i percorsi più corti.
Rappresentazione della Conoscenza e Ragionamento
18
Vantaggi delle Reti Semantiche
 I principali vantaggi delle reti semantiche sono:
 Risultano relativamente facili da comprendere per le persone.
 Sono piuttosto efficienti da elaborare per i calcolatori.
 Sono sufficientemente potenti per poter rappresentare idee e concetti
anche complessi.
 Possono essere estese per rappresentare concetti modali e temporali
che non possono essere rappresentati con una logica standard.
Rappresentazione della Conoscenza e Ragionamento
19
Limiti delle Reti Semantiche
 I principali limiti delle reti semantiche sono:
 Sono poco espressive, quindi occorrono delle reti semantiche di una
certa grandezza e complessità spesso anche per rappresentare concetti
abbastanza semplici.
 Non hanno una semantica formale, cioè non esiste un insieme di
convenzioni universalmente accettato su ciò che una rete rappresenta.
 Tuttavia, le reti semantiche sono state estese ottenendo dei
modelli e linguaggi, ad esempio, KL-ONE (Brachman, 1985),
con una precisa semantica formale.
Rappresentazione della Conoscenza e Ragionamento
20
Frame
 L’idea del frame (Minsky, 1975) trae l’origine
dall’osservazione che le persone usano un insieme strutturato
di conoscenze derivate da esperienze precedenti per
interpretare le diverse situazioni che si trovano a dover
affrontare.
 Di fronte ad una nuova situazione, una persona non parte da
zero.
 Al contrario, questa recupera dalla memoria una
rappresentazione generale che si può adattare alla situazione e
la raffina e modifica per render conto dei dettagli della
situazione corrente.
Rappresentazione della Conoscenza e Ragionamento
21
Frame
 Un frame è una collezione di attributi (i cosiddetti slot) e di
valori loro associati che descrivono una qualche entità del
mondo.
 I frame come le reti semantiche si basano sull’eredità e sui
valori di default.
 I frame sono delle strutture dichiarative che però possono
inglobare una parte procedurale per gestire i valori associati ai
propri attributi.
Rappresentazione della Conoscenza e Ragionamento
22
Frame
 Uno slot può essere:
 un member slot: viene usato quando il frame è una classe e descrive
una proprietà che vale per tutti gli elementi della classe.
 un own slot descrive una proprietà del frame specifico.
 Ogni slot viene descritto per mezzo di un insieme prefissato di
"sfaccettature" (facet).




Ereditarietà, indica se il valore è ereditato e come
Valore
Default, valore di default
If-needed, metodo per calcolare il valore dello slot (è alternativo a
Valore)
 …
Rappresentazione della Conoscenza e Ragionamento
23
Frame
Persona
Nome
Anno nascita
Età
Cittadinanza
Recapito
if-needed
età = anni(Anno nascita)
Default: italiana
isa
Paziente
Nome
Anno nascita
Età
Cittadinanza
Recapito
Data ingresso
Diagnosi
Reparto
Rappresentazione della Conoscenza e Ragionamento
Indirizzo
Via
Numero
Città
Provincia
Telefono
24
Vantaggi e Limiti dei Frame
 I principali vantaggi dei frame sono:
 Permettono delle rappresentazioni compatte anche per concetti
complessi.
 Sono piuttosto efficienti da elaborare per i calcolatori.
 I principali limiti dei frame sono:
 Non hanno una semantica formale, cioè non esiste un insieme di
convenzioni universalmente accettato su ciò che un frame rappresenta.
 Tuttavia, combinando i frame con la logica si sono ottenuti dei
sistemi ibridi, ad esempio, FRAIL (Charniak, 1983) e
KRYPTON (Brachman et al., 1993), che coniugano
l’espressività di un linguaggio ad alto livello con il rigore della
logica.
Rappresentazione della Conoscenza e Ragionamento
25