In questo capitolo illustreremo alcuni tra i più comuni schemi di rappresentazione della conoscenza, al fine di chiarire gli aspetti fondamentali da prendere in considerazione nella scelta di una adeguata rappresentazione della conoscenza. Introdotti da Post nel 1943 come meccanismo di
computazione del tutto generale, furono usati per la prima volta in matematica negli
algoritmi di Markov [Ma54], e ripresi successivamente da Chomsky [Ch57], che li usò in
linguistica con il nome di "Rewrite Rule". In Intelligenza Artificiale
fanno la loro prima apparizione con Newell e Simon che li usarono, nel 1965 [Ne65], per
lanalisi del gioco degli scacchi, e nel l972 [Ne72] per rappresentare il
comportamento umano nella soluzione dei problemi. Sono stati successivamente ripresi e
utilizzati come modello psicologico della conoscenza umana (Young [Yo76]) (Evertz [Ev72]).
- Regole di produzione - Global Database - Interprete delle regole Le regole di produzione sono divise in parte sinistra (LHS) e parte destra (RHS). La parte sinistra rappresenta la premessa, la parte destra lazione che deve essere eseguita qualora la premessa sia verificata. Talvolta vengono chiamati Antecedente e Conseguente. Si possono immaginare come istruzioni del tipo IF premessa THEN azione Ogni volta che la premessa di una regola è soddisfatta l azione
conseguente deve essere eseguita, e comporterà una modifica o un aggiunta di fatti nel
Global Database. IF "Il corpo x è libero di muoversi" AND "Il corpo x è soggetto ad una forza" THEN "Il corpo x si muove" ed ho nel Global database due fatti che corrispondono alle premesse "Il corpo x è libero di muoversi" allora leffetto dellapplicazione di tale regola è laggiunta nel Global Database del fatto "Il corpo x si muove". Talvolta, il lavoro dellinterprete viene affiancato da una
componente di risoluzione dei conflitti, che entra in azione quando si presentano più
regole applicabili (Meta-livello). Vengono introdotte in questo modo le meta-regole, che
permettono di introdurre diverse strategie per risolvere i conflitti. - Facilità nellaggiornamento (aggiunta e cancellazione di regole e di elementi nel Global database) - Semplicità di lettura ed esplorazione della conoscenza - Alta modularità. In particolare la base di conoscenza e meccanismo di inferenza sono completamente indipendenti ed esplorabili separatamente - Rapidità nel costruire spiegazioni (Con laggiunta di meta-regole è possibile spiegare il perché della scelta di una particolare regola) A causa della forte modularità, unita alla difficoltà con cui si
segue il flusso della computazione, i sistemi a regole di produzione risultano idonei
laddove lindipendenza tra i vari pezzi di conoscenza è di primaria importanza, ma
poco utilizzati quando linteresse ricade sul flusso della computazione. Chiamato anche Logica del primo ordine, il
calcolo dei predicati è spesso utilizzato per la formulazione di un linguaggio atto a
rappresentare la conoscenza. Si presenta come il sostituto formalizzato del linguaggio
naturale e propone un meccanismo inferenziale estremamente semplice per la manipolazione
della conoscenza: lattività di deduzione, di prova, genera la conoscenza
implicitamente contenuta nella conoscenza iniziale, che compare sottoforma di assiomi. In
particolare, permette di costruire database deduttivi dai quali si possono
inferire molte più informazioni di quante sono effettivamente memorizzate nelle relazioni
iniziali. Ben si addice a rappresentare domini costituiti da oggetti e loro proprietà, o
da relazioni tra oggetti. - Il Global database contiene gli assiomi della teoria - Le regole rappresentano le regole di inferenza, tra cui il modus ponens, la generalizzazione, la risoluzione (nel caso si utilizzi un linguaggio a clausole). - Linterprete diventa un qualsiasi sistema di pattern-matching. Una base di conoscenza espressa in linguaggio predicativo, può essere
interrogata, in modo forward o backward, allo stesso
modo dei sistemi a regole di produzione: nel primo caso, partendo dai fatti iniziali,
applicando ripetutamente le regole di inferenza si ricava tutto ciò che ne scaturisce;
viceversa nel secondo partendo dal fatto che si vuole ottenere si cerca di vedere se esso
è deducibile dai fatti iniziali. Dal fatto romano(Caio) si
ottiene, applicando il modus ponens alla regola precedente, il fatto fedele(Caio, Cesare), cioè che Caio era fedele a
Cesare. - gli elementi da rappresentare vengono espressi mediante clausole di Horn; - la regola di inferenza adottata è la risoluzione. Un programma PROLOG è equivalente ad un insieme di assiomi, derivanti dalla base di conoscenza, mentre la sua esecuzione è equivalente alla dimostrazione di un teorema nel sistema di assiomi definito dal programma. Tale dimostrazione avviene utilizzando come regola di inferenza la risoluzione (Robinson [Ro65]). Le reti semantiche sono dei formalismi per rappresentare
la conoscenza aventi una struttura a grafo. Solitamente i nodi rappresentano oggetti,
concetti, stati, mentre gli archi, eventualmente etichettati, rappresentano le relazioni
tra i nodi. "Il veliero è ancora in fondo al mare" e è evidente come lespressione "ancora in fondo al
mare", assume un significato diverso in base al contesto. Mediante un analisi
semantica è però più agevole riconoscere se la parola "ancora" è un
avverbio o un oggetto. Per tale motivo, lo studio della semantica del linguaggio naturale
è un tentativo di descrivere il significato del mondo (e luso di parole quando il
loro significato è ambiguo). - Livello implementativo, nel quale le reti sono viste come strutture dati, con puntatori e liste come primitivi. - Livello logico in cui il linguaggio delle reti diventa una variazione notazionale di qualche linguaggio formale. - Livello concettuale, focalizzato sulle relazioni concettuali, e sulla semantica in senso linguistico. - Livello linguistico nel quale parole ed espressioni arbitrarie sono usate come primitivi. Diamo alcuni esempi di reti semantiche:
Figura A Esempio di rete semantica L Is_a link costruisce gerarchie ereditarie. La rete in figura a rappresenta in maniera esplicita il fatto che Noé è un aquila reale, e che un aquila reale è un uccello. Mediante l Is_a link, rappresenta implicitamente anche il fatto che Noé è un uccello. Figura B Esempio di rete semantica L estensione dellereditarietà ad ogni tipo di arco porterebbe la rete a rappresentare anche il fatto: "Noé è studiato dai naturalisti", che non è necessariamente vero. Questo problema mette in evidenza che lestrazione della conoscenza implicita in una rete semantica non può essere permessa solo grazie allesistenza di un cammino fra due nodi, occorre definire quali sono le catene permesse. Le reti semantiche vengono spesso utilizzate per rappresentare il Global database di un sistema di produzione o per rappresentare la base di conoscenza di un Sistema Esperto. In entrambi i casi la componente di inferenza interroga la rete per estrarre la soluzione.Supponiamo ad esempio, riferendoci alla rete di voler sapere chi è Noè. A tal proposito viene generata la rete di interrogazione di figura c
Figura C Rete di interrogazione Tale rete verrà poi confrontata con la base di conoscenza, generando le soluzioni in figura d
Figura D Risultato del confronto |