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