3 Trattamento della conoscenza incerta e incompleta

Il meccanismo cognitivo dell’esperto spesso fa riferimento a regole empiriche acquisite dalla propria esperienza, e a dati che non sono certi o completi. Egli è capace di ragionare anche quando le informazioni disponibili sono incerte o incomplete. Le conclusioni così ottenute, non sono assolutamente corrette. Esse si basano su conoscenze ritenute ‘generalmente vere’, e sono frutto di un ragionamento approssimato. Inoltre sono suscettibili di cambiamenti, in quanto l’arrivo di nuovi elementi di informazione, potrebbe far cambiare opinione all’esperto.
Nell’ultima decina d’anni sono stati fatti molti sforzi nella formalizzazione di questo tipo di ragionamento approssimato. Gli approcci utilizzati sono stati molto diversi tra loro: alcuni puramente simbolici, altri fanno uso di numeri per quantificare l’incertezza, altri si avvicinano alla logica formale. Tutti hanno in comune il fatto di dover trattare la combinazione delle evidenze, cioè l’unione di pezzi di informazioni incerta, e la propagazione dell’incertezza, dai fatti alle conclusioni.

Gli schemi di rappresentazione della conoscenza visti nel precedente capitolo non sempre si adattano bene quando la conoscenza da rappresentare risulta incerta e incompleta. Si pensi ad esempio alla difficoltà che si incontra, utilizzando un linguaggio predicativo, a rappresentare affermazioni contenenti aggettivi il cui significato è soggettivo, come ad esempio "Richard è alto", "L’acqua è fredda", oppure affermazioni che contengono implicitamente un quantificatore universale giustificato dal buon senso, tipo "Le persone alte di solito giocano a basket".
Quando una persona è considerata "alta" ? Quando l’acqua è considerata "fredda" ? Che significato dare a "di solito" ?. Inoltre, in essi, ogni conclusione una volta dedotta non può essere in seguito ritrattata (monotonicità), per cui è poco agevole rappresentare fatti e situazioni variabili nel tempo.

In questo capitolo illustreremo alcune tra le più comuni tecniche di rappresentazione e manipolazione della conoscenza incerta e incompleta allo scopo di focalizzare l’attenzione del lettore sulle differenze tra i diversi tipi di ragionamento e sulle problematiche affrontate, in modo da chiarire le scelte che verranno adottate nel lavoro sperimentale oggetto di questa tesi.

3.1 Certainty Factors

La tecnica dei Certainty Factors è stata introdotta nel 1972, nel sistema esperto MYCIN. [Sh76] [Da77] [Bu84] Tale sistema diagnostica, e propone terapie, nel campo delle infezioni batteriche da curare con antibiotici. La base di conoscenza è rappresentata mediante tre strutture dati: una struttura dati statica; una struttura dati dinamica; un insieme di regole di produzione.
Nella struttura dati statica sono memorizzate le informazioni riguardanti i microrganismi conosciuti dal sistema
La struttura dati dinamica contiene le informazioni riguardanti il paziente e i microrganismi ipotizzati.
L’ insieme di regole di produzione (§2.1), contiene regole del tipo

IF "La conformazione di crescita del microrganismo è a catena"
AND "La morfologia del microrganismo è coccus"
AND "Il colorante del microrganismo è gram-positivo"
THEN "Il microrganismo è uno streptococco"

Il verificarsi delle tre premesse, solitamente implica che il microrganismo è uno streptococco. Talvolta però, nell’esperienza dell’esperto, tale conclusione è risultata falsa. Per tale motivo, date le premesse, l’esperto crede fortemente nella conclusione, ma non esclude la possibilità che sia falsa.
Per esprimere questa incertezza relativa alla conclusione, è stato associato ad ogni regola un numero reale compreso tra -1 e 1 chiamato "Certainty Factor". Un valore positivo indica che il verificarsi delle premesse rafforza la conclusione, viceversa ad un valore negativo consegue un indebolimento della conclusione. Da notare che i fattori di certezza così definiti, rappresentano una variazione della credibilità della conclusione, e non un valore di credibilità assoluto associato ad essa.
Molto spesso, però, non si è sicuri delle premesse, sia perché sono frutto di analisi, e possono quindi contenere degli errori, sia perché possono essere conclusioni di altre regole. Per tale motivo anche alle premesse è stato associato un fattore di certezza. In riferimento all’esempio precedente si ha:

"La conformazione di crescita del microrganismo è a catena" 0.8
"La morfologia del microrganismo è coccus" 0.3
"Il colorante del microrganismo è gram-positivo" 0.95

Per calcolare il fattore di certezza complessivo da associare ad una regola, tenendo conto dei fattori di certezza delle premesse, si usa la seguente regola:

Sia P = max(0, min(fattori di certezza associati alle premesse) ), e R il fattore di certezza associato alla regola. Il fattore di certezza totale associato alla conclusione è
Cf = R × P

L’idea è che una regola deve cercare di rafforzare la conclusione. Ad esempio, se la conformazione di crescita del microrganismo non è a catena

"La conformazione di crescita del microrganismo è a catena" - 0.9

non implica che l’organismo non è streptococco. Se così fosse andrebbe aggiunta un’altra regola per contemplare tale caso.
Infine supponiamo che un’altra regola, con il proprio valore di certezza, implichi la stessa conclusione. L’incremento totale del valore di credibilità della conclusione sarà dato dalla seguente regola:

Cf12 = Cf1 + Cf2 ( 1 - Cf1 ) se Cf1 > 0 e Cf2 > 0
Cf12 = ( Cf1 + Cf2 ) / ( 1 - min ( ê Cf1  ê, êCfê) ) se Cf1 < 0 o Cf2 < 0

Il processo di inferenza, tra le altre cose, utilizzando le regole suddette, propaga l’incertezza dai dati iniziali alle conclusioni, proponendo le soluzioni unite al proprio fattore di certezza.
Questo approccio è stato ampiamente studiato e spesso criticato. I successi ottenuti dal sistema esperto MYCIN sono in contrapposizione alle critiche, rivolte da un lato alla poca portabilità del sistema, dovuta alla notevole rigidità nella scelta dei fattori di certezza strettamente legata al dominio, e dall’altro alla notevole difficoltà per l’ingegnere della conoscenza a determinare i fattori di certezza da informazioni provenienti da esperti con pareri eventualmente discordi.

3.2 Bayesian Belief Network

Un ‘inference network’ o rete inferenziale è un grafo aciclico diretto (DAG), in cui l’insieme dei vertici V corrisponde all’insieme delle proposizioni derivanti dalla base di conoscenza e la relazione di adiacenza E corrisponde alla relazione di implicazione tra esse.
Solitamente, le ‘radici’ del grafo contengono proposizioni che necessitano di informazioni aggiuntive, richieste all’utente, mentre le ‘foglie’ contengono le proposizioni che si vogliono dimostrare (ipotesi). In particolare, l’ insieme delle regole di un sistema di produzione (§2.1), in cui però non ci siano regole che generano cicli (A Þ  B, B Þ C, C Þ A), determina una rete inferenziale.
Per illustrare una simile rappresentazione, prendiamo un sottoinsieme semplificato delle regole del sistema esperto PROSPECTOR [Du78], progettato per aiutare i geologi a valutare le potenzialità minerarie del suolo.Tale sottoinsieme di regole è illustrato in figura a, e può essere rappresentato dal grafo di figura b.

1.     IF la baritina sta coprendo il solfuro A
        THEN ci sono massicci depositi sulfurei H

2. IF ci sono rocce ossidate C
       THEN è in atto un processo di riduzione D

3. IF è in atto un processo di riduzione D
       THEN ci sono minerali argillosi E

4.    IF ci sono minerali argillosi E
       THEN ci sono massicci depositi sulfurei H

Figura A Un sottoinsieme semplificato di regole del sistema esperto PROSPECTOR

Figura B Rete inferenziale associata alle regole di figura a

Tra i diversi metodi progettati per propagare l’incertezza in una rete la nostra attenzione ricade sui cosiddetti "Bayesian Belief Networks", o anche "Causal Networks" [Mi76] [Ne90]. In tali approcci gli archi tra i vertici del grafo rappresentano relazioni di causa-effetto, e l’incertezza viene trattata mediante il calcolo delle probabilità.
Siano W un insieme di oggetti, F un insieme di eventi relativi ad W e P una funzione che assegna un numero reale ad ogni evento E Î F, e che soddisfa i seguenti assiomi:

1. P(E) ³ 0 " E Î F
2. P(W ) = 1
3. " E1 Î F, " E2 Î F : E1 Ç E2 = Æ Þ P(E1Ú E2) = P(E1) + P(E2)

La tripla (W , F, P) rappresenta uno spazio di probabilità.
Si definisce variabile proposizionale A su uno spazio di probabilità (W, F, P), una funzione da W ad un sottoinsieme A di F.
Sia { X1, X2, ..., Xn} un insieme finito di variabili proposizionali, definite sullo stesso spazio (W, F, P). Si definiscono

W‘ = { X1 Ù X2 Ù ... Ù Xn} ,

che rappresenta l’insieme di tutte le intersezioni dei possibili valori di X1 ... Xn ed

F’ = insieme delle parti di W‘.

La distribuzione di probabilità (W‘, F’, P) viene detta distribuzione di probabilità congiunta di { X1, X2, ..., Xn }Sia inoltre V un insieme finito di variabili proposizionali definite sullo stesso spazio di probabilità, sia (W, F, P) la loro distribuzione di probabilità congiunta, e sia infine G = (V, E) un grafo aciclico diretto. Individuiamo:

" v Î V ® c(v) Í V (insieme dei predecessori di v);
" v Î V ® d(v) Í V (insieme dei discendenti di v);
" v Î V ® a(v) = V - (d(v) È { v} ) (insieme degli elementi di V escluso v e i suoi discendenti).

La tripla (V, E, P) è un causal network se

" W Í a(v), W e v sono indipendenti dato c(v), o in altre parole
P(c(v)) > 0 Þ (P(v | c(v)) = 0 Ú P(W | c(v)) = 0 Ú P (v | W È c(v)) = P(v | c(v))).
In tal caso l’insieme c(v) e detto insieme delle cause di v.

Figura C Esempio di Bayesian Belief Network. Alla rete è poi associata una distribuzione di probabilità congiunta P(V).

La difficoltà maggiore che si incontra nel costruire un Bayesian Belief Network, è la notevole complessità a determinare la distribuzione di probabilità congiunta, evidenziata in particolar modo quando le variabili proposizionali derivanti dalla base di conoscenza sono numerose (con N variabili proposizionali abbiamo 2N assegnazioni).

La potenza di un Bayesian Belief Network è data dal seguente teorema

- Se C = (V, E, P) è un causal network, allora

ciò significa che conoscendo la distribuzione di probabilità condizionata di ogni variabile proposizionale dati i suoi predecessori, è possibile calcolare la distribuzione di probabilità congiunta di tutte le variabili proposizionali della rete. In questo modo la complessità a determinare la distribuzione di probabilità congiunta, viene ridotta enormemente.
Il compito di un sistema esperto che utilizzi tale approccio, avendo assegnato una distribuzione di probabilità congiunta alle variabili proposizionali derivanti dalla base di conoscenza, è di determinare come il valore assunto da alcune di esse, influenzi le probabilità delle altre.Si individuano due fasi:

- Determinare la distribuzione di probabilità congiunta delle variabili proposizionali;

- Calcolare la distribuzione di probabilità condizionata, avendo assegnato dei valori a certe variabili.

Nella prima fase, l’esperto assume un ruolo predominante. Deve identificare le relazioni di causa-effetto e le relazioni di indipendenza statistica tra le variabili proposizionali, e dare la corretta distribuzione di probabilità.
La seconda fase, che racchiude il processo di inferenza, consiste nel calcolare la probabilità condizionata P(C / E), dove C e E sono o singoli elementi di V o sottoinsiemi di elementi di V, che rappresenta la probabilità del verificarsi della causa C ( o delle cause) dopo aver osservato gli effetti E. Ad esempio, come in figura c, siano A una causa e B il suo effetto, siano P(A) e P(B) le loro probabilità, e sia P(B / A) la probabilità di osservare l’effetto dopo che si è verificata la causa, allora è possibile calcolare la probabilità del verificarsi della causa, avendone osservato l’effetto mediante il teorema di Bayes:

Tale approccio ben si addice a domini rappresentabili come un insieme di relazioni di causa-effetto tra gli elementi, quali ad esempio elettronica (diagnosi di circuiti), meccanica (ricerca dei guasti in un’automobile), ecc.
Uno tra i principali inconvenienti è la rigidità con cui deve essere determinata la distribuzione di probabilità, che rende estremamente complicata una modifica della base di conoscenza. Infatti la somma delle probabilità degli eventi indipendenti deve essere 1, e modificare una sola proposizione significa ricalcolare tutti i valori. Inoltre il lavoro richiesto all’esperto e al progettista, per il calcolo della distribuzione di probabilità, diventa estremamente laborioso.

3.3 Ragionamento qualitativo

Il ragionamento qualitativo vuole essere un’alternativa agli approcci probabilistici appena visti. Il pensiero che c’è alla base è la convinzione che la conoscenza dell’esperto non è strutturata in una serie di informazioni associate a delle probabilità, e che le decisioni che prende non sono frutto di calcoli di probabilità, bensì egli, preso atto di alcune evidenze, cerca, tra le altre, l’ipotesi che meglio le spiega, senza dare un giudizio rigoroso, e quindi un valore numerico, sulla propria convinzione riguardo la decisione presa. Egli si limita a dare una lista delle ipotesi, ordinata in ordine decrescente di plausibilità, che potrebbero spiegare le evidenze. Tale meccanismo di ragionamento viene chiamato: "ragionamento abduttivo". [Yu90]
Abdurre significa: "Inferire la spiegazione più plausibile di una dato insieme di fatti" [Po73], [Th78] [Jo82] [Jo84]. Il termine "abduzione" ha origine con gli antichi greci: Aristotele introdusse un processo di risoluzione dei sillogismi, del tutto simile al nostro ragionamento abduttivo. Nella filosofia moderna fu introdotto da Peirce [Pe31], [Pe55], che vide l’abduzione come il processo di formazione delle ipotesi esplicative. In intelligenza artificiale è stato introdotto per la prima volta da Pople [Po73], sebbene solo recentemente ha ricevuto la dovuta attenzione.
L’ inferenza abduttiva, nella vita comune, viene spesso confusa con l’inferenza deduttiva; "Elementare mio caro Watson" diceva Sherlock Holmes, il maestro della deduzione. Le sue deduzioni erano spesso il risultato di una eccezionale inferenza abduttiva. Ad esempio le manifestazioni di febbre e starnuti permettono, in mancanza di altre spiegazioni, di abdurre di aver preso l’influenza, anche se nel parlare comune difficilmente si dice :- "abduco di aver preso l’influenza perché ...".
Una tale inferenza però non produce spiegazioni assolutamente certe. Le evidenze potrebbero avere più di una spiegazione plausibile. Ad esempio la febbre e gli starnuti potrebbero non essere in relazione e provenire da malattie differenti. Essa discrimina solo le varie ipotesi in competizione basandosi sulla loro plausibilità, dovuta alle evidenze.
E’ interessante confrontare l’abduzione con gli altri due tipi di ragionamento logico: la deduzione e l’induzione:

- Deduzione: regola data: A Þ B , fatto verificato: A, risultato ottenuto: B

Es.
regola: "Le palline nell’urna sono nere"
fatto: "La pallina proviene dall’urna"
risultato: "La pallina è nera"

- Induzione: fatto dato: A, risultato verificato: B, regola ipotizzata A Þ B

Es.
fatto dato: "La pallina proviene dall’urna"
risultato verificato: "La pallina è nera"
regola ipotizzata : "Le palline dell’urna sono nere"

- Abduzione: regola data: A Þ B, fatto verificato: B, fatto ipotizzato A

Es.
regola data: "Le palline nell’urna sono nere"
fatto verificato: "La pallina è nera"
fatto ipotizzato: "La pallina proviene dall’urna"

L’induzione e l’abduzione richiedono ulteriori evidenze che confermino l’ipotesi, mentre la deduzione è una conseguenza logica dei fatti e ci porta da fatti veri, a fatti veri.

Il ragionamento abduttivo viene utilizzato in un motore inferenziale nel seguente modo:

- la base di conoscenza è composta da regole del tipo A Þ B;

- l’ osservazione del mondo genera una serie di evidenze (B, E, Q, ...)

- Se nella base di conoscenza è presente una regola A Þ B, ed è presente tra le evidenze B, allora l’ipotesi esplicativa A viene rafforzata, o, se non era ancora stata intrattenuta, viene generata.

In questo modo, sulla base di tutte le evidenze, viene generata una lista di ipotesi, ordinata in funzione della forza associata a ciascuna di esse. Diremo allora che: l’ipotesi in testa sembra essere la più plausibile; la seconda, se esiste, potrebbe anche spiegare le evidenze, e così via. Si noti come, in tal modo, non viene dato un valore numerico alla credibilità di una ipotesi, ma solo un giudizio qualitativo relativo alle ipotesi che sembrano spiegare le evidenze.
Il processo di ricerca della soluzione mediante ragionamento qualitativo può essere schematizzato nelle seguenti fasi:

1. Evocazione delle ipotesi: Osservate un certo numero di evidenze iniziali, mediante abduzione vengono estratte le ipotesi esplicative. Si forma in questo modo una lista ordinata di ipotesi in competizione.

2. Test delle ipotesi: vengono generate le domande idonee a rafforzare o eventualmente ad indebolire le ipotesi in competizione.

3. Aggiornamento dell’insieme delle ipotesi: le risposte alle domande di test generano nuove evidenze, che vengono utilizzate, mediante abduzione, per aggiornare l’insieme delle ipotesi in competizione, o per generarne di nuove. La lista aggiornata sarà sempre ordinata in base ad un indice di plausibilità.

Figura D Ciclo di generazione, test ed aggiornamento delle ipotesi, detto anche ciclo abduttivo-deduttivo.

Il ciclo di generazione, test ed aggiornamento delle ipotesi continua fino a quando la plausibilità di una o più ipotesi viene decisa mediante un euristica. Tale tipo di ragionamento appartiene alla categoria dei ragionamenti non monotoni [Mc80], in quanto le conclusioni raggiunte possono essere ritrattate, in seguito all’arrivo di informazioni discordanti.
L’ utilizzo di un ragionamento qualitativo è molto conveniente in sistemi diagnostici (medicina, elettronica, ecc.), e in sistemi di classificazione, in cui il problema è la classificazione di oggetti, mediante una loro osservazione.
I problemi più comuni da affrontare nella progettazione di un sistema esperto che utilizzi un tale ragionamento, sono:

- Come esprimere la plausibilità delle ipotesi ?

- Quando un ipotesi è da considerare plausibile ?

- Come scegliere le domande di test ? [Hi83]

Una soluzione al primo problema potrebbe essere ad esempio quella di esprimere la plausibilità di un ipotesi in funzione del numero di evidenze ad essa legate e della loro qualità (evidenza molto importante, poco importante, ecc).
Non è banale capire in che modo l’esperto decide la plausibilità di una delle ipotesi e interrompe la ricerca. Solitamente quando riscontra la presenza contemporanea di alcune evidenze (segni) particolari, fa riferimento a qualche regola empirica che gli fa credere nella plausibilità di una o più ipotesi e gli permette di escludere le altre. La computazione si interrompe comunque ad esaurimento delle domande disponibili, in questo caso però se le informazioni acquisite non sono sufficienti il sistema non è capace di dare una risposta.
Ci sono generalmente due modi di generare le domande di test: "protocol driven" e "hypothesis driven". Nel primo le domande vengono fatte seguendo un protocollo standard, come ad esempio le prime domande che il medico pone al paziente. Nel secondo viene introdotta una componente di meta-conoscenza. La generazione delle domande avviene mediante un ragionamento deduttivo: partendo dall’ipotesi in fase di test, vengono dedotti tutti i possibili segni ad essa associati, e di conseguenza tutte le possibili domande idonee a verificarne o meno la presenza. Utilizzando poi una euristica viene scelta, tra tutte quelle generate, la domanda più promettente.