Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MESSAGGI E COMUNICAZIONE
1
Introduzione………………………………………… pag. 4
2. Il concetto di simiglianza
2.1 Induzione di una metrica su insiemi………………………... 18
2.2 Definizione di una metrica associativa……………………... 20
2.3 Il processo di inferenza……………………………………... 36
2.4 Il trattamento dell'incertezza………………………………... 43
3. Il processo di astrazione
3.1 Principali meccanismi di astrazione………………………… 58
3.2 Il processo di categorizzazione……………………………... 63
3.3 Algoritmi genetici…………………………………………... 74
4. I criteri di classificazione
4.1 Sistemi di classificazione…………………………………… 86
4.2 Teoria matematica della classificazione……………………. 92
5. Logica matematica
5.1 La logica proposizionale……………………………………. 97
5.1.1 Semantiche della logica proposizionale……………………. 99
5.1.2 Teorie proposizionali……………………………………….. 104
5.1.3 Logica proposizionale come sistema deduttivo…………….. 107
5.2 Logica classica del primo ordine…………………………… 112
5.2.1 Linguaggi della logica del primo ordine……………………. 112
5.2.2 Semantica della logica del primo ordine……………………. 116
5.2.3 Teorie del primo ordine…………………………………….. 124
5.2.4 Logica del primo ordine come sistema deduttivo………….. 127
5.3 Logica del primo ordine multi-ordinata……………………. 130
5.4 Il metodo di risoluzione……………………………………. 135
5.4.1 La forma in clausole……………………………………….. 136
5.4.2 Le regole di risoluzione……………………………………. 140
5.4.3 Soluzione lineare…………………………………………... 149
5.5 Logica classica del secondo ordine………………………... 152
5.5.1 Linguaggi logici del secondo ordine………………………. 152
5.5.2 Semantica della logica del secondo ordine………………... 155
5.5.3 Teorie del secondo ordine…………………………………. 159
5.5.4 Logica del secondo ordine come sistema deduttivo………. 160
2
5.5.5 Espressioni con predicati e funzioni………………….pag. 161
5.6 Logica modale…………………………………………….. 167
5.6.1 Logica proposizionale modale……………………………. 167
5.6.2 Logica modale del primo ordine………………………….. 172
6. Programmazione logica
6.1 Ragionamento non monotonico……………………………. 176
6.2 Clausole di Horn……………………………………………. 181
6.3 Metodo di risoluzione SLD………………………………… 182
6.4 Semantica di un linguaggio di programmazione…………… 184
6.5 Base di conoscenza basata sulla logica dei predicati……….. 185
6.6 Un filtro prolog……………………………………………... 187
3
Introduzione
La comunicazione, i messaggi, la capacità di comunicare scambiando
messaggi sono aspetti fondamentali della natura umana e forse della vita
stessa.
Intorno alla metà di questo secolo l'ingegneria dei sistemi di comunicazione
ha subito un notevole impulso; se la prima metà del novecento ha assistito
allo sviluppo dei sistemi analogici, la seconda metà ha assistito allo sviluppo
dei sistemi di comunicazione numerici o digitali.
Una delle ragioni risiede nel fatto che le apparecchiature in grado di
elaborare i segnali numerici sono in genere più semplici di quelle che
elaborano dati analogici, in particolare si è visto che le informazioni poste in
una forma discreta sono più facilmente trasmesse, con grande affidabilità
anche in un canale disturbato.
Nella teoria dell'informazione è possibile identificare eventi fisici di cui essa
fornisce un modello; come ogni modello anche la teoria dell'informazione è
riduttiva, trascura certi eventi e di certi altri ignora alcuni aspetti.
Nella teoria dell'informazione i messaggi sono più importanti del loro
supporto materiale, la forma è più importante della materia; accanto al mondo
della fisica, dove imperano le forze e le quantità di moto, e dove le azioni e le
reazioni sono rette da equazioni specifiche, esiste un mondo in cui l'energia,
magari piccolissima, associata ad un messaggio può scatenarne una
grandissima. Nel mondo dell'informazione ciò che conta non sono gli oggetti
ma le differenze tra gli oggetti, e l'informazione risiede nelle differenze che
generano altre differenze e che si propagano lungo un canale di comunicazione
dalla sorgente all'utilizzatore.
Comunque quando si parla di differenze queste debbono essere riferite ad un
osservatore che sia in grado di percepirle e quindi, eventualmente di
riprodurle: questo carattere relativo dell'informazione è così fondamentale che
spesso è sottaciuto.
In realtà non ha neppur senso parlare di sorgente d'informazione se non si
specifica anche quale sia l'utente di questa sorgente: una sorgente appare
diversa a utenti diversi, perciò si dovrebbe sempre far riferimento a coppie
sorgente-utente.
È importante osservare che la produzione d'informazione da parte di una
sorgente può essere un atto spontaneo oppure provocato. In particolare è
l'interesse dell'utente che sollecita la sorgente a fornire messaggi che
corrispondono ad informazione utile in vista dei fini dell'utente stesso.
Riassumendo, l'utente sarà in grado di impiegare l'informazione solo se potrà:
1) rilevare l'informazione pertinente ai propri fini;
4
2) ricondurre tale informazione ad una propria esperienza precedente che
consenta la comprensione del significato dei messaggi ricevuti.
Questi tre livelli non sempre sono separabili con precisione e, se lo sono, non
sempre si possono ordinare gerarchicamente; occorre ricordare che la teoria di
Shannon si situa nettamente al livello A), livello sintattico o tecnico, mentre
non tocca nè il livello B), livello semantico, nè quello C), livello pragmatico.
Nel presente lavoro si propone un approccio sinergico a tutti e tre questi
livelli A), B) e C) integrando il livello sintattico con il livello semantico e il
livello pragmatico, utilizzando le tecniche della programmazione logica.
Ovviamente, il risultato presenta un marcato riduzionismo e notevoli
semplificazioni concettuali, d'altra parte l'idea di due sistemi a stati finiti in
comunicazione reciproca governati da un motore inferenziale che utilizza
regole, produce inferenze e trasmette messaggi tramite un canale di
comunicazione, si presenta come un affascinante modello per lo studio dei
processi fondamentali alla base della comprensione e trasmissione di
informazione tra sistemi in comunicazione reciproca.
5
1. La rappresentazione della conoscenza
1.1 Messaggi e comunicazione
carattere 8 bit
6
0 = 00110000
1 = 00110001
2 = 00110010
3 = 00110011
...
A = 01000001
B = 01000010
C = 01000011
D = 01000100
...
Prendiamo due persone che, da due stanze separate, si scambino dei messaggi
conversando. Ogni messaggio viene codificato in parole appartenenti a frasi di
una determinata lingua, viene trasformato in onde sonore che attraversano le
stanze e la parete, viene raccolto dall'orecchio e trasformato in impulsi
elettrochimici, riconosciuto come essere un messaggio e non rumore,
suddiviso in frasi e parole e finalmente viene interpretato come
significativo da parte dell'ascoltatore.
Utilizzando delle tecnologie telematiche la comunicazione potrebbe
avvenire anche nel seguente modo: Il soggetto A scrive un messaggio
codificandolo in parole e frasi di una certa lingua, il sistema lo codifica in una
forma binaria e lo trasmette a notevole distanza, un sistema ricevente
ritrasforma il messaggio in frasi e parole che possono essere lette dal
soggetto B che riceve il messaggio per lui significativo. Supponiamo
che un soggetto C intercetti il segnale trasmesso lungo la linea nel
momento in cui esso si presenta come una successione di impulsi.
Se il messaggio trasmesso fosse : "Le mele sono mature", il soggetto C
rivelerebbe la seguente successione di impulsi:
"010011000100010100100000010011010100010101001100010001010010000
001010011010011111001110010011110010000001001100101000001010101
00010101010101001001000101"
7
senza la chiave interpretativa il segnale appare casuale, anche se ogni
impulso è in realtà strettamente determinato dal messaggio e nessun bit può
essere alterato senza alterare il messaggio stesso. La probabilità di ottenere
per puro caso il segnale binario di cui sopra è 0.5 elevato alla 152 cioè circa
due volte ogni dieci miliardi di miliardi di miliardi di miliardi di miliardi di
tentativi (1.75 E-46).
Un altra possibilità consiste nell'utilizzare un unico impulso: l'interruttore
di una lampadina.
In tal caso i due soggetti A e B potrebbero essersi accordati sul fatto che
qualora una lampadina ben in vista si accende allora si desume che: "le mele
sono mature".
In tali circostanze un unico impulso è sufficiente e la sua probabilità è di un
mezzo (0.5). Il messaggio trasmesso è lo stesso, ma il canale di trasmissione
ha potenzialità molto diverse. Dal punto di vista del soggetto C il messaggio è
costituito da un singolo impulso che si presenta oppure no. Sarebbe per lui
molto più facile mettere in relazione il verificarsi di un tale evento con il fatto
che "le mele sono mature", sempre che tutto ciò possa avere un senso per il
soggetto C. Per trasmettere messaggi diversi sarebbero necessari altri canali
predisposti appositamente allo scopo. Aumentare il numero di messaggi
trasmessi sullo stesso canale significa aumentare la complessità della codifica
dei messaggi stessi.
È possibile ridurre la complessità della codifica dei messaggi aumentando il
numero dei canali, anche se in realtà la complessità del messaggio
globale non viene ridotta, infatti colui che riceve i messaggi dovrà fare una
sintesi riconoscendo ogni canale che potenzialmente trasporta un certo
tipo di messaggio.
8
(fig 1.1)
9
Se i due amanti non possiedono altri canali di comunicazione, allora, per lo
spasimante la ragazza risulta inconoscibile ed è rappresentabile da qualcosa,
su cui si può fantasticare, ma che sostanzialmente c'è quando la finestra è
aperta e che non c'è quando la finestra è chiusa. L'idea che lo spasimante si
crea ( la rappresentazione della ragazza nella testa dello spasimante ) riguardo
alla ragazza e alla situazione potrebbe essere varia e articolata ma certamente
fondata solamente su rappresentazioni generate da situazioni del tutto
diverse da quelle relative allo stato della finestra, da altri canali di
comunicazione, da altre situazioni; in altri termini da una realtà diversa da
quella condivisa con la ragazza nella realtà.
Dall'esempio emerge che la realtà R condivisa da due sistemi che
comunicano sia una mera convenzione tra S1 e S2; tale convenzione si esplica
in una relazione tra una rappresentazione arbitraria in S1 e una
rappresentazione corrispondente in S2 altrettanto arbitraria e sostanzialmente
inconoscibile nella reale forma. Allora il processo di comunicazione consiste
in un processo di corrispondenza tra stati arbitrari di S1 e S2.
Vediamo un altro esempio: supponiamo che il messaggio tra S1 ed S2 sia: ho
visto un cavallo alato.
S2 che riceve il messaggio da S1 cerca di far corrispondere la
rappresentazione che S1 gli evoca tramite il messaggio con la propria
esperienza passata; cerca pertanto di ricordare se tra i propri ricordi vi sia
l'esperienza di aver visto un cavallo alato. La parola cavallo recupera dalla
memoria un animale quadrupede correlato di un certo numero di caratteristiche,
immagini, esperienze, ecc... in altri termini rappresentazioni. La caratteristica
di essere un animale con le ali non trova riscontro nelle rappresentazioni di S2,
per cui S2 risponde ad S1 che non "crede" al messaggio che S1 gli ha inviato;
S1 di rimando dice: era in una raffigurazione di un famoso pittore. S1 allora
riconosce il messaggio iniziale come vero, infatti egli stesso aveva in
precedenza avuto occasione di vedere il quadro a cui fa riferimento S2;
semplicemente non aveva collegato tale rappresentazione al messaggio si S1,
d'altra parte la parola cavallo denota, nel contesto considerato, sia un animale
che un disegno: oggetti estremamente diversi. Eppure chiunque riconosce
facilmente che una raffigurazione di un cavallo e l'animale cavallo in carne ed
ossa possiedono, indubbiamente, in comune qualcosa di essenziale.
10
La comunicazione tra S1 ed S2 consiste, come abbiamo visto, nel mettere in
relazione uno stato (una rappresentazione) di S1 con uno stato di S2 e avviene
in due passi:
1) S1 seleziona un messaggio corrispondente ad un certo stato m1 tra tutti i
messaggi possibili e lo invia a S2.
2) S2 riceve un messaggio corrispondente ad m1 e lo collega allo stato
identico nella propria rappresentazione.
Tutto ciò non modifica la situazione di S2.
In questo caso l'informazione trasmessa è nulla.
Da notare che l'informazione, misurata secondo la teoria di Shannon, presente
nel messaggio non è nulla, anzi tanto più vasto è l'insieme dei messaggi
possibili tanto più il contenuto informativo del messaggio è elevato, il
problema consiste nel fatto che S2 conosce a priori il contenuto del messaggio,
pertanto il messaggio diviene inutile.
Emerge, da quanto esposto, l'importanza di condensare l'informazione
trasmessa in un messaggio alle sole parti non prevedibili dal ricevente.
Ad esempio la frase: il cavallo ha quattro gambe; non apporta alcuna
informazione a chi già lo sa, poichè è un messaggio corrispondente ad una
rappresentazione già esistente, pertanto tale messaggio diviene inutile e privo
di contenuto informativo.
La sinteticità osservabile nell'uso comune del linguaggio mette in evidenza,
in maniera a volte sorprendente, l'importanza di questo principio di economia
nei messaggi trasmessi.
La comunicazione tra S1 ed S2 coinvolge un ulteriore processo di
comprensione del messaggio: il processo di induzione che S2 compie rispetto a
ciò che S1 comunica, in altri termini la comunicazione dipende dalle
aspettative di S2 nei confronti di S1: da ciò che S1 sa o crede di sapere sugli
stati di S1.
In questo contesto diviene interessante il concetto di sincronicità: la
coincidenza del messaggio o parti del messaggio con le aspettative di S2,
rende S2 più sicuro rispetto alle proprie credenze riguardo ad S1; il messaggio
che non contraddice le ipotesi di S2 rafforza S2 nelle proprie credenze; un
messaggio contradittorio costringe S2 a rivedere le proprie ipotesi su S1.
Di più se un particolare messaggio, estremamente improbabile si allinea, anche
per caso, a determinati schemi interpretativi allora tali schemi raggiungono un
livello di verosimiglianza difficilmente ritrattabile da parte di S2.
11
ed M2, M1 ∩ M2 = M3, allora solo k degli n messaggi di S1 risulta
comprensibile ad S2, nel senso di messaggi riconoscibili. Affinchè un
nuovo messaggio msg1(k+1) possa essere riconosciuto da S2 occorre che si
stabilisca una relazione tra msg1(k+1) ∈ M1 e un messaggio
msg2(k+1) ∈ M2 di S2. Tale relazione si può stabilire solo se
msg1(k+1) deriva da una combinazione di messaggi di M3 oppure da altri
canali di comunicazione.
Nel caso non esistano altri canali di comunicazione allora msg1(k+1) è una
funzione di un sottoinsieme di M3, il nuovo messaggio risulta essere una
combinazione di un sottoinsieme particolare di vecchi messaggi. Infatti se S1,
S2 sono due sistemi che comunicano tramite k possibili messaggi attraverso un
unico canale, in altri termini nel caso non esistano altri canali di
comunicazione, l'unico modo per comprendere un nuovo messaggio a
disposizione di S2 è interpretarlo attraverso la trasmissione di un insieme di
messaggi riconoscibili.
In sostanza nessun nuovo messaggio può essere appreso, ma sono
possibili solo raggruppamenti di messaggi in un nuovo codice.
In pratica l'unica possibilità di creare nuovi messaggi consiste in una
operazione di codifica.
Supponiamo, ora, che i sistemi S1, S2 siano macchine a stati finiti, come ad
esempio lo sono i calcolatori elettronici.
In particolare consideriamo la memoria M1 di S1: M1 può essere visto come
il risultato prodotto dal sistema di memorizzazione a disposizione del sistema
S1; in M1 sono rappresentati tutti i messaggi selezionabili da S1. In M1 vi
saranno un certo numero di stati possibili n, ed un certo numero di stati
significativi k, corrispondenti a messaggi memorizzati.
Per come sono costruiti i computer gli stati elementari di base sono stati
binari {0,1}. La memoria M1 diviene rappresentabile da un vettore di n stati
binari: n bit. I bit della memoria possono essere raggruppati in maniera da
assumere un significato simbolico comprensibile da un utilizzatore umano.
La comunicazione tra un elaboratore elettronico ed un essere umano viene
infatti mediata dal linguaggio.
12
A questo proposito vorrei riportare alcune considerazioni filosofiche che alcuni
pensatori hanno espresso in relazione ai processi cognitivi.
Noi non sappiamo gli uni degli altri nulla di essenziale fuorchè quando
entriamo in reciproca comunicazione.
13
Tutto ciò che la ragione non afferra spinge potentemente contro di essa e
allora siamo allettati irresistibilmente da questa esplosione e non ci basta più
l'efficacia razionalmente fondata ma la magia assurge a dogma, non la fidata
fedeltà ma l'avventura. Ma anche in questo caso la potenzialità della
comunicazione si esprime nella varietà espressiva, per esempio nel parlare per
immagini, nell'interminabile spiegare la spiegazione.
Nonostante tutto un messaggio, sia pur nella sua incertezza, viene trasmesso e
comunicato e può essere parzialmente interpretato dalla ragione.
La perversione della non-ragione consiste nell'impulso diretto a disfarsi della
propria realtà, verso cui si è responsabili, ed a spostarla su qualcos'altro, su un
arcano, un essente autentico, lasciandosi prendere dal fascino del mormorio di
ciò che manca di ragione.
Come presunta verità dell'essenza non resta che una fantasia non
vincolante, risolventesi in sentimenti di commozione privi di affetto.
È facile cadere in un invasamento: questa tendenza a rendere assoluto il proprio
pensiero, a farne l'unico vero, a identificare se stesso con la cosa
coinvolgendosi in essa con interessamento egocentrico, ed allontanare quanto
non favorisce la propria causa. Affinchè nel mondo del pensiero si instauri un
pieno disinteresse, è necessario che coloro che pensano siano interiormente
indipendenti. E tale l'uomo diviene solo quando è spenta in lui la volontà di
potenza, e forse anche solo quando si trova di fatto in condizioni di impotenza.
L'impotenza sembra la condizione per operare effettivamente in modo libero e
destare la libertà. Nell'accontentarsi senza voler imporre a tutti i costi la propria
volontà, il singolo uomo ha la probabilità di contribuire per la sua
piccolissima parte a far sì che si crei uno spazio in cui la verità possa
prosperare.
14
1.2 Rappresentazione simbolica
Una proprietà fondamentale della conoscenza è che essa deve essere affidabile
e vera. È possibile a volte rendere, una conoscenza inaffidabile, affidabile
chiarendo le condizioni sotto cui essa è vera. Specificando cioè il contesto
interpretativo e le condizioni per le quali un'affermazione generale,
inaffidabile, diviene verificabile e vera.
Le informazioni che utilizziamo nella vita di tutti i giorni sono per lo più
inaffidabili, ed è difficile rendere tutta questa conoscenza affidabile
semplicemente specificando sotto quali condizioni essa risulta vera.
Nella nostra vita quotidiana la maggior parte dell'informazione è basata sulla
nostra specifica esperienza ma, questa, non è universalmente vera.
Noi possiamo fidarci di un fatto quando le nostre osservazioni lo
confermano. Possiamo dire che tali fatti sono conoscenza quando più persone
ritengono tali fatti conoscenza condivisa.
15
Le leggi sono un altro aspetto che deve essere tenuto presente.
Le leggi hanno, di solito, la forma: SE si verifica il tal fatto ALLORA il tal
altro fatto è vero.
Occorre avere particolare cura per generalizzare un fatto o una legge come
universale; infatti le leggi hanno spesso solo una validità particolare,
contestuale, non universale.
Perciò, è sempre importante accertarsi che la legge sia usata nel modo
appropriato e nel dominio di competenza per poter decidere se la conclusione
che traiamo corrisponde a un fatto affidabile oppure no.
A causa del fatto che non ci possiamo garantire sulla verità delle nostre
affermazioni, la conoscenza nella vita di tutti i giorni è frammentaria e non
organizzata. Essa è anche contradditoria. La conoscenza, in ambito
accademico, non può essere contradditoria. Comunque, nella vita di tutti i
giorni, noi possiamo convivere con una conoscenza contradditoria fintanto
che tale conoscenza non diviene contradditoria in un qualche senso
immediato. Quando la conoscenza diviene contradditoria, tentiamo di
espanderla e di aggiungere alcune condizioni extra per renderla non
contradditoria.
16
collegata. Essendo msg1 una stringa di bit, anche x1, la rappresentazione
interna di S2 corrispondente a msg1 messaggio inviato da S1, può essere
considerata come una stringa di bit.
Infatti ogni rappresentazione interna presente nella memoria di un calcolatore
corrisponde ad una stringa di bit.
Eppure noi parliamo di oggetti, di attributi, di dati, ecc...
Oggetti, attributi, dati, ecc... non sono altro che interpretazioni, in particolare
ogni raggruppamento arbitrario di bit potrebbe essere associato ad una
specifica interpretazione. È chiaro comunque che solo alcuni tra tutti i
raggruppamenti di bit possibili sono significativi; a tali raggruppamenti
corrispondono infatti i simboli che utilizziamo nel colloquio con l'e laboratore.
Il problema diviene, dunque, quale è la relazione tra i simboli che utilizziamo
e le stringhe di bit; essenzialmente è un problema di codifica.
17
2. LE SIMIGLIANZE
2.1 Induzione di una metrica su insiemi
18
Per fissare le idee consideriamo l'insieme degli stati possibili di un generico
sistema di memorizzazione e rappresentiamolo con un insieme di vettori
V = <v1,v2,...,vn>.
Costruiamo un criterio di dissimiglianza che consenta di associare oppure no
uno stato possibile vk nello spazio dei vettori V da un arbitrario stato vl o da un
insieme di stati vl1,vl2,...,vlm.
Generiamo perciò una funzione distanza definita tra i vettori dello spazio V.
La funzione costruita sul rapporto tra la misura dell'insieme differenza
simmetrica e la misura dell'insieme unione tra due vettori di V, vk e vl ci
fornisce una metrica particolarmente interessante per trattare la differenza tra
rappresentazioni.
L'insieme differenza simmetrica contiene le proprietà che appartengono ad una
rappresentazione ma non all'altra e viceversa.
L'insieme unione contiene le proprietà che appartengono o ad una
rappresentazione o all'altra.
In altre parole il rapporto tra il numero di attributi che sono in comune e il
numero di attributi complessivamente coinvolti nella descrizione degli
oggetti confrontati è una funzione metrica e ad essa attribuiamo un ruolo
determinante nel processo di associazione e di valutazione delle simiglianze tra
rappresentazioni.
La funzione sopra descritta induce effettivamente una metrica ed è notevole
notare come essa non dipenda da tutte le proprietà definite su V ma dipenda
solamente da quelle appartenenti ad uno o all'altro tra gli insiemi confrontati;
di più essa ha una validità del tutto generale.
La caratteristica di cui appena detto risulta particolarmente valida in quanto
non richiede una definizione preliminare di tutto lo spazio metrico generato
(tutti gli attributi gestiti dal sistema, tutti i domini, ecc...) si presenta invece in
maniera dinamica: ogni attributo viene aggiunto solo nel momento in cui
viene utilizzato; tipicamente quando un oggetto che possiede tale attributo entra
in relazione col sistema di memorizzazione.
In altri termini, la dissimiglianza tra due entità rappresentate nel sistema viene
misurata sulla base delle proprietà effettivamente manifestate dalle entità
confrontate e non sulla base di proprietà ipotetiche o possibili: il riferimento è
circostanziale e determinato e non assoluto e trascendente.
19
2.2 Definizione di una metrica associativa
P - proposizione
¬P - negazione
P&Q - congiunzione
PvQ - disgiunzione
P -> Q - implicazione
P <-> Q - doppia implicazione
x∈α - appartenenza
α⊂β - inclusione
α=β - identità
α' - complementazione
α∩β - intersezione
α∪β - unione
c) Quantificatori
20
Definiamo ora una metrica associativa su un arbitrario insieme di oggetti,
consideriamo alcune definizioni.
∞
(ii) xn ∈ S (n) ∈ |N => ∪ xn ∈ S
n=1
1) ∅ ∈ T e X ∈ T
2) (xi),(xj) xi,xj ∈ T ∪ xk ∈ T
k=i,j
n
∩ xk ∈ T
k=1
21
TEOREMA 2.2.3
-1
allora {ƒ (y): y ∈ T } è un σ-anello di sottoinsiemi di X.
-1
{ y : y ⊂ Y, ƒ (y) ∈ S } è un σ-anello di sottoinsiemi di Y.
(fig 2.1)
22
TEOREMA 2.2.4
(X,T1) , vale :
(ii) µ1(∅) = 0
(iv) µ1 è finita
23
(iii) µ2 è numerabilmente additiva essendolo µ1
(iv) µ2 è finita
-1
e allora vale µ2(yi) = µ1(ƒ (yi)) = µ1(xi)
dove xi ∈ T1 e yi ∈ T2 .
Poniamo
µ1(xi ∆ xj)
a) dx (xi,xj) = kx (xi),(xj) ∈ T1
µ1(xi ∪ xj)
µ2(yi ∆ yj)
b) dy (yi,yj) = ky (yi),(yj) ∈ T2
µ2(yi ∪ yj)
su T1 e T2 Mx = (T1,dx) , My(T2,dy)
-1 -1 -1
poichè ƒ (yi) \ ƒ (yj) = ƒ (yi \ yj) ,
24
-1 ∞ ∞ -1
ƒ ( ∪ yn ) = ∪ ƒ ( yn ) e
n=1 n=1
-1
µ2 ( y ) = µ1 (ƒ ( y ))
si ha
-1
µ2 ( yi ∆ yj) = µ1 (ƒ ( yi ∆ yj ) =
-1 -1
= µ1 (ƒ ( yi ) ∆ ƒ ( yj )) = µ1 ( xi ∆ xj )
e
-1
µ2 ( yi ∪ yj) = µ1 (ƒ ( yi ∪ yj ) =
-1 -1
= µ1 (ƒ ( yi ) ∪ ƒ ( yj )) = µ1 ( xi ∪ xj ) .
allora
ky µ1(xi ∆ xj) 1
= kx = dx (xi,xj)
kx µ1(xi ∪ xj) β
kx
dove β =
ky
25
Esempio:
dove X = [1,4]
ƒ(x) = x x ∈ [1,2[
ƒ(x) = x + 1 x ∈ [2,3[
ƒ(x) = x + 2 x ∈ [3,4]
(fig 2.2)
26
sia la misura µ1:
µ1 ([xi,xj]) = xj - xi
allora
µ2 ([ƒ(xi),ƒ(xj)]) = xj - xi
per esempio:
-1 -1
µ2([1,4]) = µ1([ƒ (1),ƒ (4)]) = µ1([1,3]) = 3 - 1 = 2
µ1([1,2])+µ1([3,4]) (2-1)+(4-3) 2
= = =
µ1([1,4]) 4-1 3
TEOREMA 2.2.6
|P(X), la potenza di X.
27
definita come:
µ(xi ∆ xj)
c) d(xi,xj) = k (xi), (xj), xi,xj ∈ S
µ(xi ∪ xj) xi,xj ≠ ∅
µ(xi ∪ xj) ≠ 0
dove
soddisfa a:
1) 0 ≤ d(xi,xj) < +∞
3) d(xi,xj) = d(xj,xi)
e d è una distanza.
Dimostrazione :
28
Per dimostrare il punto 4) procediamo come segue:
LEMMA 2.2.7
in particolare
C.1 xm \ xn = xm ∩ xn'
29
applicando le regole di De Morgan
la C.2 diviene
(fig. 2.3)
perciò
30
C.3 (xk ∩ xm) \ xn = (xk ∩ xm) ∩ xn' = xk ∩ xm ∩ xn'
da cui
(fig. 2.4)
31
Allora la A.1, per la B.3 e per la B.4, diviene
pertanto
LEMMA 2.2.8
la dimostrazione è immediata.
Consideriamo la 4)
32
µ(x1 ∪ x2) - µ(x1 ∩ x2) µ(x1 ∪ x3) - µ(x1 ∩ x3)
+ -
µ(x1 ∪ x2) µ(x1 ∪ x3)
Consideriamo il termine:
dal lemma A.1 µ(x2 ∩ x3) ≥ µ(x2 ∩ x1) - [µ(x1) - µ(x1 ∩ x3)]
otteniamo
33
µ(x1) + µ(x3) - µ(x1 ∩ x3) - µ(x1 ∩ x3)
+ =
µ(x1) + µ(x3) - µ(x1 ∩ x3) + [µ(x2) - µ(x2 ∩ x1)]
Esempio:
34
µ([1,4] ∆ [2,6]) (2-1)+(6-4) 3
d(x1,x3) = = =
µ([1,4] ∪ [2,6]) (6-1) 5
3 2 22 15 3
+= > =
5 4 20 20 4
1 2 3 4 5 6
x1 []
x2 []
x3 []
(fig 2.5)
35
2.3 Il processo di inferenza
1) inferenza probabilistica;
2) inferenza induttiva;
3) inferenza basata sul ragionamento del senso comune
4) inferenza basata sul ragionamento qualitativo
5) inferenza basata sul ragionamento analogico
36
melodie, storie e così via. Anche se il riconoscimento di similarità, che sta
alla base dell'inferenza, non è stato studiato a sufficienza, rimane comunque
un problema veramente cruciale. Per eseguire con successo un tale
riconoscimento, dobbiamo trovare similarità tra un determinato oggetto e il
nostro modello interno oppure, se vogliamo, la rappresentazione dell'oggetto
nella nostra base di conoscenza. Questo processo di riconoscimento è anche
un processo di inferenza. Quindi, riconoscimento, inferenza, e conoscenza
sono concetti tutti strettamente correlati.
È particolarmente difficile rappresentare il nostro complesso mondo
utilizzando soltanto regole.
Comunque nel caso di due sistemi S1, S2 collegati tramite un canale di
comunicazione binario esiste la possibilità di definire le similarità esistenti tra
i messaggi che possono viaggiare nel canale di comunicazione: poichè i
messaggi non sono altro che vettori binari se trasformiamo tali vettori in uno
spazio di rappresentazione opportuno nel quale ad ogni bit viene associata una
proprietà dotata di significato allora la presenza di proprietà comuni a due
messaggi ci fornisce un criterio di similarità utilizzabile per valutare la
similarità dei messaggi.
37
Il tesaurus di Roget sembra sottolineare i sinonimi piuttosto che
l'organizzazione di parole per concetti generali e parole per concetti
specifici.
38
significato delle
idee comunicate 550-599
5. volontà (esercizio della volontà)
(1) volontà individuale volontà in generale 600-619
volontà prospettica 620-679
azione volontaria 680-703
antagonismo 704-728
esito dell'azione 729-736
(2) volontà sociale volontà sociale
in generale 737-759
volontà sociale
particolare 760-767
volontà sociale
condizionata 768-774
relazioni possessive 775-819
6. emozione,religione e moralità
generale 820-826
emozione personale 837-887
emozione
interpersonale 888-921
moralità 922-975
religione 976-1000
---------------------------------------------------------------------------------------
(fig 2.6)
39
È possibile individuare le seguenti relazioni dalle connessioni tra termini
tecnici:
40
Accenniamo brevemente ad un ulteriore tentativo di classificazione delle
relazioni possibili tra i nomi:
5) antinomia A
41
sono le fi. In altre parole, ogni pezzo di informazione a può essere
rappresentato utilizzando il seguente vettore:
tale vettore è chiamato vettore degli attributi e il suo raggio è detto spazio delle
caratteristiche (feature space). Dove fia è il valore dell'attributo fi per la
parte di informazione a.
(fig 2.7)
42
2.4 Il trattamento dell'incertezza
43
Questo primo semplice esempio contiene gli elementi principali da definire
nella formalizzazione della soluzione automatica di problemi. Nell'esempio le
configurazioni possono essere elencate una per una e rappresentate per
esempio come (T,C,T).
Vediamo un caso leggermente più complesso, consideriamo n monete. In tal
caso il numero delle configurazioni diviene eccessivo. Rappresentiamo allora
gli stati raggruppandoli (grouping state) con la coppia di valori numerici
(n1,n2) che rappresentano:
Le regole diventano:
Dagli esempi risulta evidente come l'algoritmo di soluzione sia legato al tipo
di rappresentazione del problema.
Per affrontare problemi di una certa complessità occorre raffinare gli algoritmi
di risoluzione e implementare con metodo la base di conoscenza. Alcune
tipologie di risoluzione e di rappresentazione della base di conoscenza sono
divenute di uso corrente grazie alla diffusione e standardizzazione dei sistemi
esperti, anche se la ricerca in tale settore non li rende definitivi, oggigiorno
possiamo trovare sistemi esperti efficienti ed affidabili.
I sistemi esperti si compongono di:
44
1) La complessità del problema: problemi troppo complessi presentano
notevoli difficoltà di implementazione anche per i sistemi esperti più
sofisticati;
45
d) le regole che definiscono le possibili transizioni tra uno
stato e l'altro;
{a1,a2,...,an}--> bj ; {...,bj,...}-->...
...--> vk ; {...,vk,...}--> z tale che z = ai
46
a) l'uso di metaregole, regole che parlano di regole, che consigliano la scelta di
regole al posto di altre ( es. probabilità e livello di astrazione ) ;
b) selezione della prima regola incontrata oppure della regola più appropriata
(strategia prefissata);
47
2) il livello di valutazione globale che si ha quando sono state applicate tutte le
regole che hanno quelle proposizioni come con seguente.
Esistono due modalità di procedere nella ricerca di una soluzione, goal, date
certe premesse: modalità forward e modalità backward:
48
I sistemi esperti che trattano l'incertezza lavorano con regole e proposizioni a
cui sono associati dei pesi che, in generale, consistono di numeri reali. Il
motore inferenziale non deve solo individuare una soluzione (goal) vera,
piuttosto deve essere in grado di gestire e "diffondere" l'incertezza espressa
nei pesi delle question e delle regole attraverso tutta la rete di deduzioni, per
fornire il peso di ogni goal.
La propagazione dell'incertezza prevede passi di quattro tipi:
1) il peso delle proposizioni negate deve essere derivato dal peso delle
proposizioni affermative;
2) il peso di una proposizione conseguente deve essere calcolato dai pesi delle
proposizioni antecedenti;
Assumiamo che l'insieme dei pesi sia contenuto nell'intervallo [-1,1] dove si
intende:
49
definiamo allora:
e: S° ---> S
+ : S x S ---> S
tale che
glob(w1,w2,...,wn) = w1 + w2 + ... + wn
50
Poichè vogliamo che l'ordine delle regole convergenti ad una proposizione
sia ininfluente sul peso globale delle proposizioni la composizione + deve
godere delle seguenti proprietà:
1) associativa: (w + v) + u = w + (v + u) = w + v + u
2) commutativa: w + v = v + w
3) elemento neutro: w + e = w
La funzione neg calcola, noto il peso di una proposizione, il peso della sua
negazione. Si può esprimere tale funzione mediante l'operazione unaria:
_
( ) : S ---> S
di simmetria:
_ _
neg(w) = w inoltre w + w = e
vogliamo infine essere sempre in grado di dire quale è il minore fra due pesi
dati: introduciamo una relazione d'ordine tale che per ogni w, v, u :
a) un sostegno S
b) operatori - 1. zeraria: elemento neutro e
_
2. unaria: elemento simmetrico ( )
3. binaria: composizione +
c) assiomi:
1. associatività (w+v)+w = w+(v+u) = w+v+u
2. commutatività w+v = v+w
3. w+e = w
_
4. w+w = e
5. w≤v oppure w>v
6. w≤v , v≤u --> w≤u
7. w≤v --> w+u ≤ v+u
51
Vediamo allora come si presenta il sistema di deduzione di Hajek.
b) conj(a,b) = min(a,b)
e se a ≤ e
52
La teoria della probabilità condizionata osserva che le probabilità associate ai
possibili risultati cambiano ad ogni passo in dipendenza dello svolgersi degli
eventi. Queste osservazioni suggeriscono che l'accumularsi di evidenze
può cambiare le probabilità degli eventi.
In generale non ci sono ragioni "a priori".
La probabilità
53
la probabilità condizionata E ∈ Ques, H ∈ Goal è data da:
P(H,E)
D
4) P(H/E) =
D P(E)
D
54
3) le valutazioni sugli elementi del mondo e sui mezzi di soluzione dei
problemi.
1. n * x = x + x + ... + x diverso da e
PROPOSIZIONE 2.4.2
_
Dato il gruppo abeliano ordinato G = < S1, + , ( ) , ≤ >, se S ha almeno un
elemento oltre ad e, allora non esiste in G un elemento che sia massimo nè uno
che sia minimo, per cui G è infinito.
La dimostrazione segue dalle seguenti osservazioni:
PROPOSIZIONE 2.4.3
1. ƒ(-x) = - ƒ(x) .
55
PROPOSIZIONE 2.4.4
PROPOSIZIONE 2.4.5
PROPOSIZIONE 2.4.6
Data una rete di affidabilità arbitraria (belief network) che possa essere
suddivisa in due insiemi di nodi, A e B, connessi con un singolo arco da un
nodo x in A ad un nodo y in B. Se l'evidenza negli insiemi è e(A) ed e(B),
allora la probabilità a posteriori:
P{A/e(A),e(B)} e P{B/e(A),e(B)}
56
(fig 2.8)
57
3. IL PROCESSO DI ASTRAZIONE
3.1 Principali meccanismi di astrazione
1) Entità
Le entità sono degli elementi base di ogni rappresentazione, l'ossatura, la
parte costituente.
Un'entità descrive un concetto, un oggetto, un fatto,...
Un'entità possiede un nome e in relazione a tale nome si aggregano gli attributi
che descrivono l'entità. Il nome dell'entità è il suo primo attributo, anche se non
sempre esso risulta essere univoco.
58
2) Gli attributi
Gli attributi sono anch'essi elementi fondamentali nella rappresentazione,
esprimono le caratteristiche delle entità, la conformazione, le parti costituenti,
ma anche la sintesi, il concetto unitario, la forma. Gli attributi possiedono un
nome, una descrizione con cui sono identificati.
3) Le proprietà
Anche le proprietà descrivono le entità e svolgono un ruolo analogo agli
attributi; anche se vi sono differenze concettuali, al fine di descrivere entità, le
proprietà vengono considerate equivalenti agli attributi.
4) Gli oggetti
Gli oggetti rappresentano entità con un certo spessore ed una particolare
individualità. Un oggetto richiama direttamente alla mente qualcosa di
concreto e tangibile, a differenza dell'entità che appare un concetto più
astratto. Comunque esistono fraintendimenti ed ambiguità che avvicinano il
concetto di oggetto al concetto di entità molto più di quanto possa sembrare ad
un'analisi superficiale: per esempio un albero è un oggetto o un'entità?
L'albero che ho in giardino potrebbe essere un oggetto in un senso più forte
rispetto all'abete che rappresenta una famiglia di alberi illustrato sul libro di
botanica. Il primo possiede un'esistenza propria, il secondo è una
rappresentazione di una classe astratta, ma, occorre ricordare, che a livello di
costruzione di sistemi automatici, per esempio i computer, ogni componente è
una rappresentazione astratta rispetto ad una "realtà di interesse" ad esso
estranea.
5) I termini
In ogni caso qualsiasi tipo di rappresentazione simbolica utilizza simboli, e tali
simboli costituiscono l'abecedario con cui entità, oggetti, attributi, proprietà
possono esprimersi nella rappresentazione: il simbolo, il nome, il termine
rappresentano il mattone fondamentale su cui tutta la rappresentazione viene
costruita.
6) Le classi
I raggruppamenti di oggetti, o di entità rappresentano delle classi: per
esempio gli abeti. Ora, i raggruppamenti di attributi rappresentano oggetti,
raggruppamenti di oggetti rappresentano entità, raggruppamenti di entità
rappresentano classi; ma appartenere ad una determinata classe è un attributo
o una proprietà di un oggetto, pertanto un raggruppamento di entità
rappresenta un attributo.
59
7) I domini
Una classe di entità che gode di una certa proprietà viene chiamata dominio
della proprietà stessa. I domini sono classi che possiedono una determinata
caratteristica idonea all'espletazione di un certo compito; uno specifico dominio
viene di solito definito in relazione ad una specifica funzione.
8) Le regole
Una trasformazione da un oggetto ad un'altro oggetto, da una proprietà ad
un'altra proprietà, è descrivibile con una regola. Una regola consiste in una
relazione tra insiemi di oggetti o insiemi di attributi e di solito si esprime nella
forma: Se fatto-1 allora fatto-2.
9) I legami
I legami tra oggetti o tra attributi descrivono una prima relazione
fondamentale in cui gli oggetti o gli attributi stessi entrano in reciproco
rapporto. Per cui se esiste una regola del tipo "Se fatto-1 allora fatto-2" esiste
anche un legame tra il fatto-1 e il fatto-2, una connessione logica esprimibile in
concomitanza di eventi spazio temporali oppure semplicemente di coincidenza
fra termini nella rappresentazione; I termini e i legami, in particolare i legami
binari, costituiscono l'ossatura di qualsiasi sistema di rappresentazione a stati
finiti.
10) I processi
I processi attuano le regole. I processi realizzano ciò che le regole descrivono.
Un processo possiede una dimensione temporale attraverso cui esso stesso si
svolge; partendo da certe premesse produce determinati risultati. I processi
sono trasformazioni nella rappresentazione; le trasformazioni descritte da
regole determinano l'evoluzione del sistema di memorizzazione.
12) Il contesto
Il contesto è un particolare tipo di struttura, con un significato intuitivo
specifico, relativamente alla restrizione ad un particolare ambito degli
elementi della rappresentazione.
60
13) I fatti
I processi fanno riferimento ad un divenire, a trasformazioni nel tempo; i fatti o
gli eventi, rappresentano gli oggetti nella loro dimensione temporale, in
sostanza gli oggetti possono essere pensati come a raggruppamenti di eventi
che presentano una particolare costanza e continuità rispetto a determinati
attributi.
16) I verbi
I verbi sono gli operatori del linguaggio naturale, e nello stesso tempo
descrivono i processi, le trasformazioni, le azioni che si svolgono nella realtà.
In una rappresentazione utilizzabile da una procedura automatica i verbi
possono essere descritti da regole e da relazioni.
18) I dati
Tutte le informazioni che il sistema di rappresentazione è in grado di
manipolare debbono essere trasformate in dati, ovvero, configurazioni statiche
e definite di componenti del supporto di memorizzazione; una tale
trasformazione implica un processo fondamentale a cui l'informazione è
sottoposta per poter essere memorizzata: la codifica.
61
19) Gli aggregati
Il processo di aggregazione è il processo fondamentale che consente la
costruzione di classi e di raggruppamenti caratterizzanti gli oggetti e gli
attributi che sono descritti nella rappresentazione. L'aggregazione tra elementi
costituenti il sistema di rappresentazione non avviene in maniera statica una
volta per tutte, è piuttosto un processo dinamico in continua evoluzione;
non esistono aggregati definitivi, ogni raggruppamento è possibile al fine di
ottenere un determinato risultato. Non si riparte, comunque, sempre da capo,
ogni raggruppamento che ha prodotto risultati significativi lascia una traccia di
sè che può essere utilizzata dal sistema di rappresentazione: in particolare una
volta attribuito un nome ad una determinata classe, questa risulta presente
nella rappresentazione.
20) Le registrazioni
Il processo di memorizzazione delle informazioni avviene effettuando delle
registrazioni; le registrazioni consistono nella effettiva modificazione degli
stati interni alla rappresentazione che conserveranno traccia degli eventi
associati alle registrazioni medesime: una tale variazione di stati può
coinvolgere, nel contempo, la costruzione o identificazione di aggregati con
funzione classificatoria delle informazioni memorizzate.
21) Le inferenze
Le inferenze rappresentano ciò che il sistema di rappresentazione si aspetta
succeda in realtà nel mondo. Le inferenze dovrebbero avere una base statistica,
anche se, affinchè la statistica sia valida occorre che i parametri di valutazione
delle previsioni siano conformi, non solo nella forma ma anche nella sostanza,
con i fenomeni reali, per definizione inconoscibili, che avvengono nella "realtà
di interesse". Le inferenze si esprimono attraverso regole, ovvero attraverso la
relazione di causa ed effetto tra eventi rappresentati nel sistema; una tale
relazione viene espressa solitamente nella forma: Dal fatto-1 ne consegue,
salvo evidenza del contrario, il fatto-2.
62
3.2 Il processo di categorizzazione
a) regola congiuntiva;
AND - identificazione di una o più caratteristiche per un certo scopo;
b) regola disgiuntiva:
OR - equivalenza tra due o più caratteristiche per un certo scopo;
63
c) regola condizionale:
IF fact-1 THEN fact-2 - se si verifica una determinata condizione fact-1 allora è
possibile una certa azione fact-2;
d) regola bicondizionale:
IF fact-k THEN SELECT fact-1 fact-2 ... fact-n - se si verifica una
determinata condizione allora si applica una determinata regola di selezione;
esempio: caratteristica condizionata da altre caratteristiche IF maschio THEN
entra SOLO SE ha la cravatta.
64
Si utilizza il termine tipicità per designare il grado in cui ciascun membro
rappresenta una data categoria.
Per dimostrare che un esemplare buono è quello che condivide molti attributi
con altri membri della medesima categoria è necessario fornire una misura
delle somiglianze come "aria di famiglia" (family resemblance), prendendo in
considerazione quanti membri condividono lo stesso attributo.
Il criterio di somiglianza è utile per predire la tipicità dei membri delle comuni
categorie tassonomiche, tuttavia non si rivela utile nel predire le tipicità nel
caso di categorie riferite a scopi. La ragione di ciò sta nel fatto che i membri
delle categorie riferite ad uno scopo sono selezionati sulla base di un
principio sottostante, piuttosto che sulla base di attributi condivisi. Esiste, in tal
caso, un diverso livello semantico.
Benchè il modello del prototipo sia il migliore nel predire il modo in cui i
soggetti umani classificano facce schematiche (Reed, 1972) in altri casi il
modello delle frequenze delle caratteristiche si dimostra più appropriato.
L'unico problema, per i vari modelli basati sulla frequenza delle caratteristiche,
risiede nella necessità di operare un gran numero di confronti, per valutare sia
le combinazioni di caratteristiche sia le caratteristiche isolate.
(Reitman e Bower 1973).
65
Medin e Schaffer(1978) proposero un modello in cui gli esemplari di una
categoria vengono depositati in memoria e le configurazioni nuove vengono
confrontate con gli esemplari recuperati sulla base delle somiglianze.
Maggiore è la somiglianza tra le configurazioni nuove e un esemplare in
memoria, maggiore è la probabilità che questo venga recuperato. Il modello di
Medin e Schaffer misura la somiglianza di combinazioni di caratteristiche.
66
sono collegate tra loro, i soggetti ricordano molte più parole di quando le
stesse parole sono collegate a caso. L'organizzazione semantica del materiale
migliora la rievocazione, anche quando l'organizzazione non è del tipo
gerarchico.
Sono stati fatti degli esperimenti che mostrano come il tempo di risposta sia
influenzato dal livello in cui gli attributi sono immagazzinati. Ciò conferma la
previsione che il passaggio da un livello all'altro della gerarchia richiede tempo,
in particolare l'ipotesi secondo la quale il tempo di risposta aumenta quando si
devono recuperare le caratteristiche immagazzinate in un dato livello della
gerarchia.
Un'altra previsione interessante riguarda la facilitazione del recupero dalla
memoria quando l'informazione critica è preceduta dal recupero di
un'informazione simile.
Esistono comunque alcune anomalie nel modello:
a) vi sono casi in cui il tempo di verifica non è funzione del livello nella
gerarchia.
b) effetto tipicità: membri più tipici di una categoria vengono classificati con
maggiore facilità dei membri meno tipici.
67
I confronti tra le caratteristiche per valutare la simiglianza possono essere di
due tipi:
a) o su tutte le caratteristiche indistintamente;
b) oppure solo sulle caratteristiche definienti.
Il modello del confronto di caratteristiche spiega le eccezioni dovute
all'effetto "ampiezza" delle categorie in quanto si basa sulle simiglianze e non
sull'ampiezza delle categorie, spiega inoltre l'effetto tipicità.
68
Chomsky (1957) ha dimostrato che l'ipotesi associazionistica
dell'apprendimento linguistico pone dei problemi che sembrano insormontabili:
1) una prima difficoltà è il numero di associazioni necessarie;
2) una seconda difficoltà risiede nel trattamento delle relazioni fra parole non
adiacenti.
Esiste un'intera disciplina che si occupa dello studio della struttura delle
frasi: la grammatica strutturale. La rappresentazione del linguaggio come
sistema di regole costituisce un'attraente alternativa alla rappresentazione in
termini di semplici stringhe di parole.
Vediamo brevemente alcune regole della grammatica strutturale.
Utilizzeremo le seguenti abbreviazioni:
F - frase
SN - sintagma nominale
SV - sintagma verbale
Det - determinatore
69
(fig. 3.1)
70
b) flying planes can be dangerous
- gli aerei volanti possono essere pericolosi
- far volare gli aerei può essere pericoloso
71
(fig. 3.2)
3 7 D K
Se rispondete una D allora state compiendo un errore logico poichè questo non
è implicato dai termini del problema.
La gente compie questo tipo di errori a causa di una tendenza a verificare,
invece che a falsificare, la regola data; mentre invece l'informazione
potenzialmente falsificante è l'unica necessaria. Un fatto curioso è il seguente:
la gente risolve con più facilità problemi logici se applicati a situazioni
concrete - il contenuto semantico di un'affermazione è una determinante
importante della comprensione linguistica.
a) problemi di organizzazione;
b) problemi di scoperta della struttura;
c) problemi che coinvolgono trasformazioni.
72
La soluzione è influenzata dalle proprietà della memoria a breve termine e dalla
memoria a lungo termine, in particolare i fattori coinvolti sono:
1) la capacità;
2) il tempo di immagazzinamento;
3) il tempo di recupero.
73
3.3 Algoritmi genetici
74
2) metodi enumerativi
ricerca su tutto lo spazio (finito) di possibilità utilizzabili, ovviamente, quando
il numero di possibilità è relativamente basso
3) metodi casuali
gli algoritmi genetici sono un esempio di ricerca che utilizza scelte random
come strumento per guidare una ricerca esplorativa di alto livello nello spazio
codificato
4) metodi associativi
ricerca basata sui raggruppamenti associativi che organizzano lo spazio delle
soluzioni
d) data una popolazione di struttura finita e dei relativi finiti valori di profitto
(fitness), quale informazione è disponibile per guidare la ricerca delle strutture
migliori?
75
ragione non è conveniente utilizzare conoscenze specifiche del problema che
non siano rappresentabili nello schema generale.
1) gli algoritmi genetici lavorano con i codici dell'insieme dei parametri e non
con i parametri stessi;
1) riproduzione;
2) interazione (crossover)
3) mutazione
76
consideriamo una popolazione di n stringhe definite su un opportuno alfabeto,
in tal modo si codifica una "idea" completa o le prescrizioni per eseguire un
particolare compito, in tal caso ogni stringa è un' "idea" completa. Le
sottostringhe di ogni stringa contengono "nozioni" che sono rilevanti per il
lavoro. Visto in questi termini, la popolazione non contiene semplicemente n
idee, ma piuttosto contiene una moltitudine di nozioni e riarrangiamenti di
nozioni relativamente a quel particolare compito. Gli algoritmi genetici
esplodono tale insieme di informazioni con:
2) mescolando queste nozioni con molte altre nozioni di alto livello proprie di
altre stringhe, grazie alll'azione di interazione (crossover, incrocio, miscuglio)
con le precedenti riproduzioni, tali nozioni si rispecchiano nelle nuove idee
costruite dalle parti di alto livello nei tentativi passati: scambiando nozioni per
formare nuove idee si innesca un processo di innovazione.
77
Uno schema (Holland, 1968, 1975) è un corpo di similarità che descrive un
sottoinsieme di stringhe che presentano coincidenze in certe posizioni.
Limitiamoci al seguente alfabeto {0,1,*} dove * significa non de terminato o
non considerato (metasymbol). Allora lo schema *111* rappresenta l'insieme
di stringhe: {01110,01111,11110,11111}.
m = m(H,t)
fi
Pi =
Σ fj
f(H)
m(H,t+1) = m(H,t) * n *
Σ fj
78
_ Σ fj
f =
n
otteniamo:
f(H)
m(H,t+1) = m(H,t) _
f
In altri termini, uno schema si evolve come il rapporto tra la media della
funzione di costo dello schema e la media della funzione di costo su tutta la
popolazione.
_ _
(f + cf)
m(H,t+1) = m(H,t) _ = (1+c) * M(H,t)
f
t
m(H,t) = m(H,0) * (1 + c)
d(H)
Ps ≥ 1 - Pc
l-1
f(H) d(H)
m(H,t+1) ≥ m(H,t) _ [ 1 - Pc - o(H) Pm ]
f l-1
80
L'utilizzo degli schemi fornisce agli algoritmi genetici una notevole
potenzialità. Semplicemente ricombinando schemi di basso ordine e corti ma
con un alto potenziale rispetto alla funzione obiettivo è possibile ottenere
stringhe di alto potenziale rispetto alla funzione obiettivo stessa. In un certo
senso, lavorando con questi particolari schemi (blocchi di costruzione), si
ottiene una riduzione della complessità del problema infatti piuttosto che
ottenere alte prestazioni cercando tutte le combinazioni di stringhe è possibile
costruire stringhe sempre migliori a partire dalle soluzioni parziali migliori
presenti nelle generazioni passate. Tali schemi con alti valori della funzione
obiettivo li denotiamo come blocchi di costruzione (building blocks) e li
utilizziamo per accelerare la ricerca della soluzione. Comunque è importante
tenere ben presente che semplici algoritmi genetici dipendono dalla
ricombinazione dei blocchi di costruzione per accedere alla soluzione ottimale.
Se i blocchi di costruzione non sono corretti a causa della errata codifica
utilizzata o a causa della forma della funzione di costo stessa, il problema
può richiedere molto tempo prima di fornire la soluzione o anche solo per
giungere in prossimità della soluzione ottimale.
81
(fig 3.3)
82
trovano le similarità in qualsiasi codice arbitrario vengano espresse e tramite
queste costruiscono i blocchi ottimali.
83
È possibile infine ottenere una ottimizzazione multiobiettivo.
L'approccio di utilizzare una funzione obiettivo che rappresenta un singolo
criterio di selezione funziona bene in molti problemi, ma ci sono volte in cui
sono presenti simultaneamente parecchi criteri e non è possibile (od
opportuno) combinare questi parametri in un singolo numero. Quando ciò
succede il problema diviene un problema "multiobiettivo" o "multicriterio".
In una ottimizzazione multiobiettivo (o vettoriale) la nozione di ottimale non è
del tutto ovvia: occorre rispettare l'integrità di ciascun criterio separatamente.
Allora, in tali problemi invece di ottenere una singola risposta otteniamo un
insieme di risposte che sono non dominate da altre (p-optimal). Per rendere la
definizione pareto-ottimalità (P-optimal) consideriamo il vettore X come
parzialmente minore di Y X < pY dove valga:
84
(fig 3.4)
85
4. I CRITERI DI CLASSIFICAZIONE
4.1 Sistemi di classificazione
4) sistema di classificazione.
86
1) eventi perpetuamente nuovi accompagnati da grande rumore o dati
irrilevanti;
87
scoprire quale tipo di azione è appropriata per ciascuna categoria. Esiste un
altro problema nel costruire le rappresentazioni: in ambienti complessi, i
tentativi di soddisfare una richiesta comportano poche informazioni in
relazione al processo di livello superiore che porta alla risoluzione della
richiesta.
Come fa il sistema di apprendimento a riconoscere il valore implicito di certe
azioni ad un certo stadio ancora incompleto?
Le informazioni coinvolte ad un certo stadio intermedio possono essere usate
per costruire un modello dell'ambiente, e tale modello può essere usato per
estrapolare previsioni. La verifica o falsificazione della previsione in eventi
successivi può essere usata per avvalorare il modello. Il modello,
naturalmente, include anche una funzione di merito, così che le previsioni sul
valore di certe azioni possono essere controllate e riviste.
Riassumendo, i sistemi di apprendimento di maggior interesse presentano le
seguenti problematiche:
88
fig. (4.1)
89
scoprire algoritmi. Le regole devono consentire l'estrazione e la
ricombinazione di blocchi di costruzione (building blocks) dalle regole
correntemente usate per formare nuove regole e tali regole devono poter
interagire sia in modo semplice che in una modalità fortemente parallela.
I sistemi di classificazione sono paralleli, elaborano messaggi, sono basati su
regole in cui le regole hanno una forma semplice. Le regole sono solitamente in
una forma condizione/azione. La condizione specifica quale messaggio
soddisfa la regola e l'azione specifica quali messaggi occorre attivare in tal
caso.
(fig. 4.2)
In particolare:
1. Tutti i messaggi vengono testati e forniscono altri messaggi se verificati.
90
2. Le classificazioni vincenti generano nuovi messaggi.
91
4.2 Teoria matematica della classificazione
92
Consideriamo, ora, il problema della classificazione.
Quando facciamo riconoscimento di forme (pattern recognition), per
esempio nel caso di riconoscimento di caratteri, assumiamo che ciascun
carattere abbia una forma standard ideale. In tal caso il nostro compito risulta
difficoltoso poichè dobbiamo essere in grado di interpretare sia i caratteri
stampati sia quelli scritti a mano che di solito non corrispondono
perfettamente a tali forme ideali. Un sistema di riconoscimento di forme
prima studia le caratteristiche delle forme dei caratteri ideali, quindi determina
la posizione della forma ideali nello spazio degli attributi, e riconosce i
caratteri non perfettamente corrispondenti misurando la loro distanza da tale
posizione. Supponiamo di avere un vettore di caratteristiche di una forma
ideale v1 e la forma di un carattere corrispondente al vettore x, allora;
d (v1,x) < l
x ∈ S(vi)
dove S(vi) è la collezione delle forme osservate che appartengono al pattern vi.
93
Se in numero di tali forme è k, allora il valore medio è:
1
vi = Σ x
k x ∈ S(vi)
1. prendi il primo oggetto, x1 e rendilo il centro del cluster z1. (z1 = x1)
94
IF d(xi+1,zl) ≤ T ( l ≤ k ) è vera per qualche zl
THEN si conclude che xi+1 appartiene a zl;
1. vengono creati k centri z1(1), z2(1), ... , zk(1) si potrebbe prendere anche
k oggetti a caso da X;
1
zj(k+1) =
Nj Σ x
x ∈ Sj(k)
95
4. Assumiamo che l'algoritmo sia completato e ci fermiamo quando
zj(k+1) = Zj(k) è vero per tutti j = 1,2,...,k e i centri di gravità non si
spostano più.
96
5. LOGICA MATEMATICA
5.1 La logica proposizionale
Le classi (ii)-(iv) sono fisse, mentre la classe (i) varia da alfabeto ad alfabeto, in
particolare, può essere vuoto. Assumiamo che l'insieme di proposizioni costanti
sia numerabile e denotiamole con lettere minuscole, p, q e r. Esse possono
rappre sentare frasi comuni del linguaggio corrente.
Definizione 5.1.1
L'insieme di formule sopra ad un alfabeto AL è costituito dal più piccolo
insieme che soddisfa le seguenti condizioni:
97
forma (¬A) e (A->B) si leggono come "non A" e "Se A allora B",
rispettivamente. (¬A) è detta negazione di A; (A->B) è detta implicazione con
antecedente A e conseguente B.
"v" disgiunzine
"&" congiunzione
"≡" equivalenza
(A v B) = ((¬A) -> B)
(A & B) = (¬((¬A) v (¬B)))
(A ≡ B) = ((A -> B) & (B -> A))
98
5.1.1 Semantiche della logica proposizionale
Definizione 5.1.2
Un interpretazione per un linguaggio proposizionale L(AL) è una funzione
che assegna a ciascuna proposizione costante di AL un elemento dell'insieme
{0,1}.
Definizione 5.1.3
Sia m un interpretazione per L e supponiamo che A ∈ L.
Il valore di verità di A in m, denotato con V(A), è un elemento di {0,1} definito
dalle:
(i) V(Vero) = 1;
(ii) V(p) = m(p);
(iii) V(¬B) = 1 - V(B);
(iv) V(B -> C) = 1 sse V(B) = 0 o V(C) = 1.
99
Esempio:
Sia A nella forma p v ¬q -> p (nella notazione A = p v ¬q -> p) e
consideriamo due interpretazioni, m1 ed m2 tali che:
p q ¬q p->¬q (p->¬q) v q
---------------------------------------
0 0 1 1 1
0 1 0 1 1
1 0 1 1 1
1 1 0 0 1
Teorema 5.1.4
Il problema di validità per la logica proposizionale è decidibile. O brevemente,
la logica proposizionale è decidibile.
100
(T3) (¬(A & B)) ≡ (¬A v ¬B)
(T4) (¬(A v B)) ≡ (¬A & ¬B) Regole di De Morgan
(T5) (¬¬A) ≡ A Legge della doppia negazione
(T6) (A v (B & C)) ≡ ((A v B) & (A v C))
(T7) (A & (B v C)) ≡ ((A & B) v (A & C)) leggi distributive
(T8) (A & B) ≡ (B & A)
(T9) (A v B) ≡ (B v A) Leggi commutative
(T10) A v ¬A Legge del terzo escuso
(T11) A -> A Riflessività dell'implicazione
(T12) ((A ≡ B) & (B ≡ C)) -> (A ≡ C) Transitività dell'equivalenza
(T13) (A -> B) ≡ (¬B -> ¬A) legge della contrapposizione
(T14) ¬(A & ¬A) Legge della contraddizione
(T15) Falso -> A
(T16) (A -> Falso) ≡ ¬A
(T17) A -> Vero
(T18) (Vero -> A) ≡ A
Teorema 5.1.5
101
n
e ∪ Ai come abbreviazione di A1 v A2 v ... v An
i=1
n m( i )
B = ∩ [ ∪ Bij ],
i=1 j=1
dove Bij può essere o una formula atomica o la negazione di una formula
atomica. Una formula B si dice che è la forma congiuntiva normale di una
formula A se è in forma normale congiuntiva e vale A <=> B.
Teorema 5.1.6
102
(B & C) v D con (B v D) & (C v D)
B v (C & D) con (B v C) & (B v D)
103
5.3 Teorie proposizionali
Definizione 5.1.7
Una teoria proposizionale consiste in una coppia T = <L,S>, dove L è un
linguaggio proposizionale ed S è un insieme di formule di L calcolabili. Gli
elementi di S rappresentano gli assiomi (o le premesse) di T. Se S è vuoto,
allora T è detto calcolo proposizionale.
104
Teorema 5.1.8 (Teorema di compattezza)
Esempio:
Consideriamo la teoria T consistente di:
Domenica
Domenica -> Vado a pescare
Sono stanco -> ¬Vado a pescare
Teorema 5.1.9
105
Le asserzioni (iii) e (iv) necessitano di una particolare attenzione. Riguardo
alla (iii), il problema di determinare se una formula B segue da una teoria
{A1,...,An} si riduce al problema di determinare se la formula A1 & A2 ... &
An -> B è una tautologia. Per quanto riguarda la (iv), tale proposizione
esprime il fatto che se A segue da una teoria T, allora, se aggiungiamo nuovi
assiomi a T, A è ancora derivabile dalla teoria estesa. Questa proprietà,
conosciuta come principio di monotonicità, è sottintesa in tutti i sistemi logici
classici.
Due teorie T e T' si dicono logicamente equivalenti, T <=> T' sse sono
soddisfacibili dagli stessi modelli.
Un'importante proprietà delle teorie equivalenti è data dal seguente teorema.
Teorema 5.1.10
Per ogni teoria T e T', T <=> T' sse {A: T ⇒ A} = {A: T' ⇒ A}.
Teorema 5.1.11
Allora ogni teoria finita si può identificare con la congiunzione di tutti i suoi
assiomi.
Due formule A e B si dicono equivalenti in una teoria T sse posseggono gli
stessi valori di verità in ogni modello per T, o, alternativamente, sse T implica
la formula A ≡ B.
106
5.4 La logica proposizionale come sistema deduttivo
Definizione 5.1.12
Un sistema deduttivo, o sistema inferenziale, o teoria formale, o teoria
assiomatica, o assiomatizzazione, ... per la logica proposizionale consiste in
DS = <L,S,R>, dove:
A, A -> B
B
che può essere formalmente considerato come una funzione parziale (una
corrispondenza) da LxL a L tale che:
(i) il dominio di MP è {<A,A -> B>: A,B ∈ L};
(ii) MP(<A,A -> B>) = B.
È facile vedere che MP modus ponens è una regola calcolabile.
107
Ri(A1,...,Ak) è vera in m, quando A1,...,Ak sono vere in m. Chiaramente, MP
è una regola che conserva la funzione di verità poichè, per ogni formula A e
B, B è vera in ogni interpretazione in cui A e A -> B sono vere.
Una formula A è dimostrabile in DS = <L,S,R> (o anche A è un teorema in
DS) sse esiste una sequenza A1,...,Am di formule di L tali che A coincide
con Am e, per ciascun i, 1 ≤ i ≤ m, ogni Ai ∈ S oppure Ai è una diretta
conseguenza di qualche formula precedente in virtù di qualche regola di R.
Una tale sequenza è chiamata dimostrazione di A in DS.
Nella definizione di sistema deduttivo DS = <L,S,R>, sono state fatte due
importanti assunzioni.
Primo, l'insieme S di assiomi deve essere un sottoinsieme calcolabile di L, cioè
deve esistere una procedura effettiva per decidere quando una determinata
formula di L è logicamente un assioma oppure no.
Secondo, ogni regola di inferenza Ri ∈ R deve essere calcolabile, nel senso
che deve esistere una procedura effettiva che prende una tupla A1,...,Ak di
formule da L, determina se la tupla appartiene al dominio di Ri, e, se vi
appartiene, calcola Ri(A1,...,Ak).
Queste assunzioni assicurano, considerando il caso in cui ci restringiamo a
linguaggi calcolabili, che la nozione di dimostrazione è calcolabile nel senso
seguente: esiste una procedura effettiva che prende una sequenza finita
E1,...,En di espressioni linguistiche arbitrarie e determina se la sequenza è una
dimostrazione di En oppure no, in DS.
L'esistenza di una tale procedura è fondamentale, poichè la nozione di
dimostrazione, come sopra specificato, è stata originariamente formulata allo
scopo di formalizzare le argomentazioni matematiche. Ovviamente, se un
matematico prova una dimostrazione, dovrebbe esistere un metodo effettivo
per verificarla.
La nozione di dimostrazione può essere generalizzata nel modo seguente:
sia DS = <L,S,R> un sistema di deduzioni e supponiamo che T sia una teoria
su L. Possiamo dire che una formula A è una formula dimostrabile da T in
DS, T(DS) → A, sse esiste una sequenza A1,...,Am di formule di L tali che
A coincide con Am e, per ogni i 1 ≤ i ≤ m, ogni Ai ∈ (S ∪ T) oppure Ai è
una conseguenza diretta di qualche formula precedente in virtù di qualche
regola di R. Una tale sequenza si dice dimostrazione di A da T in DS.
Se T(DS) → A, allora possiamo anche dire che A è una conseguenza
sintattica di T in DS, o anche che A è un teorema di T in DS.
Scriviamo (DS) → A come abbreviazione per { }(DS) → A.
In altri termini (DS) → A è una notazione simbolica per l'affermazione: A è un
teorema in DS.
Nella definizione della nozione di teoria, abbiamo assunto che l'insieme
degli assiomi di qualsiasi teoria sia un sottoinsieme calcolabile del suo
108
linguaggio. Questo assicura, nel caso in cui tutte le altre richieste di
calcolabilità siano soddisfatte, che la nozione generalizzata di dimostrazione è
effettivamente calcolabile. In altre parole, per qualsiasi teoria T e qualsiasi
sistema di deduzioni DS, esiste una procedura effettiva per decidere se una
determinata sequenza di espressioni linguistiche arbitrarie formano una
dimostrazione su T e DS.
Un sistema di deduzioni DS si dice solido sse (DS) → A implica che A è una
tautologia. Per garantire questa solidità, che è chiaramente una proprietà
desiderabile, è sufficiente aggiungere due proprietà al sistema di deduzioni DS:
primo, tutti gli assiomi logici devono essere delle tautologie;
secondo, tutte le regole di inferenza debbono essere solide.
Sono particolarmente interessanti quei sistemi di deduzione solidi che sono
anche completi, cioè consentono di provare qualsiasi tautologia. Parecchi di tali
sistemi di deduzione sono stati proposti in letteratura; il più comune è forse il
seguente:
Definizione 5.1.13
Sia L un linguaggio proposizionale.
Denotiamo con PL(L) il sistema di deduzioni <L,S,R> dato da:
Notiamo che (A2)-(A4) sono uno schema di assiomi ciascuno dei quali
rappresenta un numero infinito di assiomi. È facile vedere che S è un
sottoinsieme calcolabile di L.
Possiamo assumere che il linguaggio L sia fissato e che il simbolo PL(L) →
possa essere scritto semplicemente →.
Se T → A, allora diremo che A è dimostrabile da T nella logica
proposizionale. In maniera analoga, se → A, allora diremo che A è
dimostrabile nella logica proposizionale o alternativamente, che A è un
teorema della logica proposizionale.
Scriviamo T ¬→ A e ¬→ A come le negazioni per T → A e → A.
109
La relazione binaria denotata col simbolo →, cioe, la relazione che vale fra
una teoria T e una formula A sse T → A, è detta relazione di dimostrabilità
della logica proposizionale classica.
La relazione binaria corrispondente al simbolo ¬→ si riferisce alla relazione
di indimostrabilità della logica proposizionale classica.
Denotiamo con Th l'operatore della logica proposizionale classica di
dimostrabilità, in altri termini, l'operatore che assegna a ciascuna teoria T
l'insieme Th(T) di tutte le formule dimostrabili da T nella logica
proposizionale: Th(T) = {A: T → A}.
Teorema 5.1.14
L'operatore Th soddisfa le seguenti proprietà:
Teorema 5.1.15
Una teoria T sopra L si dice consistente sse esiste una formula A ∈ L tale che
T ¬→ A.
La nozione di consistenza rappresenta la controparte sintattica della nozione
di soddisfacibilità:
Teorema 5.1.17
110
Il risultato seguente corrisponde dal teorema 5.1.9 (ii)-(iii):
Teorema 5.1.19
111
5.2 Logica classica del primo ordine
La logica classica del primo ordine, conosciuta anche come logica dei predicati
di ordine minimo o logica dei predicati del primo ordine, è la logica
fondamentale per tutti i sistemi logici.
Il suo linguaggio è sufficientemente ricco da esprimere le argomentazioni
principali utilizzate nella matematica e in applicazioni diverse dalla
matematica che utilizzano il ragionamento deduttivo.
Le classi (i)-(v) sono fisse e i loro membri debbono essere presenti in tutti gli
alfabeti. Le altre classi possono variare e, in particolare, l'insieme delle
funzioni costanti può essere vuoto.
Assumiamo, comunque, che ogni alfabeto includa almeno un predicato
costante di arità positiva. Gli insiemi |P e |F debbono essere calcolabili nel
senso che è richiesta l'esistenza di una procedura effettiva π(|P) e π(|F) che dato
112
un arbitrario simbolo s, determina se s ∈ |P o se s ∈ |F e ne fornisce l'arità.
I predicati costanti 0-ary sono le proposizioni costanti.
Le funzioni costanti 0_ary sono gli individui o anche gli oggetti costanti.
Introduciamo alcuni simboli speciali: x,y,u,z per le variabili individuali;
P,Q,R per i predicati costanti di arità positiva; p,q,r per le proposizioni
costanti; f,g,h per le funzioni costanti di arità positiva; a,b,c per individui
costanti. I predicati e le funzioni costanti possono consistere in frasi del
linguaggio comune.
Ogni alfabeto della logica del primo ordine determina in maniera univoca tre
classi di espressioni: termini, formule atomiche e formule.
Definizione 5.2.1
Sia AL un alfabeto della logica del primo ordine.
L'insieme TM(AL) dei termini su AL consiste nel più piccolo insieme tale che:
(iii) Se α1,α2 ∈ TM(AL), allora (α1 = α2) ∈ AFORM(AL), nel caso in cui
AL contenga il simbolo "=".
L'insieme L(AL) delle formule sopra AL consiste nel più piccolo insieme tale
che:
113
L'insieme L(AL) è detto linguaggio del primo ordine su AL, e ogni linguaggio
del primo ordine include come sottoinsieme proprio una classe di formule della
logica proposizionale.
Abbreviamo la notazione L(AL), essendo AL fisso, con L.
È facile vedere che la restrizione ad alfabeti composti da insiemi di funzioni e
predicati calcolabili garantisce la calcolabilità di ogni linguaggio del primo
ordine. L è detto essere un linguaggio del primo ordine con uguaglianza
sse "=" ∈ AL, oppure linguaggio del primo ordine senza uguaglianza in caso
contrario. Formule nella forma (¬A) e (A -> B) hanno lo stesso significato
di quelle della logica proposizionale. Una formula della forma ((√x)(A)) si
legge per ogni elemento x A è vera. Diciamo che la ricorrenza di x in (√x) è
universalmente quantificata.
Di piu, aggiungiamo un simbolo ∃ (quantificatore esistenziale):
(∃x(A)) = (¬((√x)(¬(A))))
114
A si dice sottoformula di B se A ricorre in B.
Definizione 5.2.2
Sia L(AL) un linguaggio del primo ordine con uguaglianza.
L'insieme di assiomi per l'uguaglianza per L(AL) consiste in:
115
5.2.2 Semantica della logica del primo ordine
La semantica della logica del primo ordine è basata sui seguenti concetti:
Definizione 5.2.3
Una struttura per un linguaggio L(AL) del primo ordine consiste in
M = <D,m> dove:
Definizione 5.2.4
Sia M una struttura del primo ordine per L(AL)
Il valore Va(α) di un termine α ∈ TM(AL) in M rispetto ad a ∈ As(M)
è un elemento di |M| definito dalle seguenti ricorrenze su α:
116
Il valore di verità Va(A) di una formula A ∈ L(AL) in M corrispondente ad a
∈ As(M) è un elemento di {0,1} definito da:
(i) Va(Vero) = 1
(ii) Va(p) = M|p|
(iii) Va(P(α1,...,αn)) = M|P|(Va(α1),...,Va(αn))
(iv) Va(α = β) = 1 sse Va(α) = Va(β)
(v) Va(B -> C) = 1 sse Va(B) = 0 oppure Va(C) = 1
(vi) Va(¬B) = 1 - Va(B)
(vii) Va((x)B) = 1 sse Va(B) = 1, per ogni a’ ∈ [a]x
Esempio:
Sia A= P(x,f(x)) -> (y)P(x,y) e consideriamo la struttura M tale che |M| sia
l'insieme degli interi positivi, M|P| è la relazione ≤, e M|f| è la funzione di
successione.
A è soddisfatta in M da a ∈ As(M) sse a(x) = 1.
Allora, A è soddisfacibile ma non valida.
117
Teorema 5.2.5
Il problema della validità nella logica del primo ordine consiste nel
determinare se una formula arbitraria del primo ordine è valida oppure no.
Il risultato sopra riportato può essere espresso anche dicendo che, in generale,
un insieme di formule valide (su di un linguaggio del primo ordine L) non è un
sottoinsieme calcolabile di L.
Comunque, un tale insieme è ricorsivamente numerabile e quindi abbiamo:
Teorema 5.2.7
Le formule seguenti sono valide nel caso in cui A non contenga ricorrenze
libere di x.
(V14) (√x)A ≡ A
(V15) (∃x)A ≡ A
(V16) (∃x)B v A ≡ (∃x)(B v A)
(V17) A v (∃x)B ≡ (∃x)(A v B)
(V18) (√x)B v A ≡ (√x)(B v A)
(V19) A v (√x)B ≡ (√x)(A v B)
(V20) (∃x)B & A ≡ (∃x)(B & A)
(V21) A & (∃x)B ≡ (∃x)(A & B)
(V22) (√x)B & A ≡ (√x)(B & A)
(V23) A & (√x)B ≡ (√x)(A & B)
Teorema 5.2.8
119
Si dice che B è una variante immediata di A sse A = Qxi.C(xi) e B =
Qxj.C(xj), dove Q ∈ {(_),(∃_)}, e C(xi) non ha ricorrenze libere di xj. Diremo
che B è un invariante di A sse B è il risultato della sostituzione di una o più
sottoformule di A con le loro varianti immediate. Per esempio: (√x).P(x) &
Q(x) è una variante immediata di (√z).P(z) & Q(z).
Allora (∃y)[R(y) -> (z).P(z) & Q(z)] è una variante di
(∃y)[R(y) -> (√x).P(x) & Q(x)].
Teorema 5.2.10
Ogni formula A può essere trasformata effettivamente nella sua forma prefissa
congiuntiva normale.
120
La costruzione si esegue in sei passi.
passo 1.
passo 2.
passo 3.
passo 4.
121
passo 5.
passo 6.
122
A’ è la forma prefissa congiuntiva normale di A.
123
5.2.3 Teorie del primo ordine
Una struttura M è un modello per una teoria T sse tutti gli assiomi di T sono
veri in M. Una teoria si dice soddifacibile sse possiede un modello; altrimenti
è insoddisfacibile.
Uccello(Titti)
(√x).Uccello(x) -> Vola(x)
(√x).Vola(x) -> Ha-le-ali(x)
124
Si può vedere facilmente che la formula Vola(Titti) e Ha-le-ali(Titti) sono
vere in ogni modello di T; allora T ⇒ Vola(Titti) e T ⇒ Ha-le-ali(Titti).
Teorema 5.2.12
La relazione di implicazione della logica del primo ordine gode delle seguenti
proprietà:
Teorema 5.2.13
Teorema 5.2.14
Due formule A e B si dicono equivalenti per una teoria T sse godono della
stessa funzione di verità in ogni modello M di T e per ogni a ∈ As(M).
125
Sia T una teoria su un linguaggio del primo ordine L con uguaglianza.
L'insieme degli assiomi di uguaglianza per T sono gli stessi assiomi validi
per L. (def. 5.2.2).
Elefante(Luca)
(√x).Elefante(x) -> Elefante(padre(x))
Luca = Marco
Il seguente teorema afferma uno dei principali risultati della logica del primo
ordine:
(ii) Ogni teoria del primo ordine con uguaglianza ha un modello con un
dominio contabile (cioè finito o numerabile).
126
5.2.4 Logica del primo ordine come sistema di deduzione
Il seguente sistema di deduzione per la logica del primo ordine è sia solido
che completo.
Definizione 5.2.17
Sia L un linguaggio del primo ordine.
Denotiamo con FOL(L) il sistema di deduzione <L,S,R> dato da:
(A1) Vero
(A2) A -> (B -> A)
(A3) (A -> (B -> C)) -> ((A -> B) -> (A -> C))
(A4) (¬B -> ¬A) -> ((¬B -> A) -> B)
(A5) (√x)A(x) -> A(α), dove α è qualsiasi termine libero per x in A(x)
(A6) (√x)(A -> B) -> (A -> (√x)B), dove A non contiene ricorrenze libere di
x
127
(ii) R consiste nelle seguenti regole di inferenza:
Teorema 5.2.18
Crollario 5.2.19
→ A sse ⇒ A.
A ∈ L tale che T ¬→ A.
128
Come nel caso della logica proposizionale; la nozione di consistenza è una
controparte sintattica di quella di soddisfacibilità:
Teorema 5.2.20
Teorema 5.2.22
129
5.3 Logica del primo ordine multi-ordinata
La logica del primo ordine multi-ordinata differisce dalla logica del primo
ordine ordinaria nel fatto che contempla parecchi tipi (ordinati) di variabili -
ciascuna tipo associato ad un particolare sottodominio di oggetti. Anche le
funzioni e i predicati costanti sono ordinati nel senso che i loro argomenti sono
limitati ai termini di tipo appropriato. Per esempio, utilizzando la logica del
primo ordine multi-ordinata, dovendo introdurre un predicato costante binario
Insegnanti dovremo fare attenzione nella definizione del suo primo argomento
che sia ristretto al tipo Insegnante e che il suo secondo argomento sia un
oggetto del tipo Studente.
Da un punto di vista strettamente tecnico, la logica multi ordinata si
presenta come un espediente superfluo, poichè è riconducibile alla logica
ordinaria. Comunque, essa si presta ad una naturalezza di rappresentazione
che le ha consentito di essere implementata in parecchie applicazioni pratiche.
Sia k un intero positivo e supponiamo che t1,...,tk siano oggetti distinti a cui ci
riferiremo come a tipi base. Definiamo l'insieme dei tipi basati su t1,...,tk,
TP(t1,...,tk) come l'insieme più piccolo che soddifa a:
Un alfabeto della logica k-ordinata con t1,...,tk come tipi base consiste di
simboli primitivi appartenenti alle seguenti categorie:
130
Gli elementi di Vi (1≤i≤k) rappresentano le variabili individuali del tipo ti, e le
denotiamo con xi1,xi2,...
Definizione 5.3.1
Sia AL un alfabeto della logica k-ordinata con tipi base t1,...,tk; l'insieme
TM(i,AL) di termini del tipo ti su AL consiste nell'insieme più piccolo tale che:
(i) tutte le variabili individuali del tipo ti e tutte le costanti individuali del
tipo ti sono membri di TM(i,AL)
(ii) se f è una funzione costante di tipo <ti,ti1,...,tin> e α1,...,αn sono termini
di tipo ti1,...,tin rispettivamente allora f(α1,...,αn) ∈ TM(i,AL).
131
(i) "Vero" e tutte le proposizioni costanti di AL sono elementi di
AFORM(AL)
(ii) Se P è un predicato costante del tipo <ti1,...,tin> (n>0) e α1,...,αn sono
termini di tipo ti1,...,tin, rispettivamente, allora P(α1,...,αn) ∈ AFORM(AL)
(iii) Se α e β sono termini di tipo arbitrario, allora (α=β) ∈
AFORM(AL), nel caso in cui "=" ∈ AL.
132
Vediamo ora la semantica della logica multi-ordinata.
Definizione 5.3.2
Sia AL un alfabeto per una logica k-ordinata con tipo base t1,...,tk; una
struttura per L(AL): M=<D1,...,Dk,m> dove:
(ii) m consiste in una funzione che assegna a ciascun predicato costante di tipo
<ti1,...,tin> (n≥0) di AL diverso da "=" una relazione su Di1 x ... x Din
(prodotto dei domini) assegna alla costante "=", se presente in AL, la relazione
identità sul dominio di M, e a ciascuna funzione costante di tipo <ti,ti1,...,tin>
(n≥1), una funzione da Di1 x ... x Din a Di.
k k
a: ∪ Vi ---> ∪ |M|i
i=1 i=1
Definizione 5.3.3
Sia M una struttura per L(AL), dove AL è un alfabeto per la logica k-ordinata
con tipi base t1,...,tk. Il valore Va(α) di un termine α di tipo t1 in M dove a ∈
As(M) è un elemento di |M|i viene definito come segue:
133
Il valore di verità Va(A) di una formula A ∈ L(AL) in M con a ∈ AS(M), è
un elemento di {0,1} specificato da:
(i) Va(Vero) = 1
(ii) Va(p) = M|p| dove p è una proposizione costante
(iii) Va(P(α1,...,αn)) = M|P|(Va(α1),...,V(αn))
(iv) Va(α = β) = 1 sse Va(α) = Va(β)
(v) Va(B -> C) = 1 sse Va(B) = 0 oppure Va(C) = 1
(vi) Va(¬B) = 1 - Va(B)
(vii) Va((xi)B) = 1 sse Va’(B) = 1 per ogni a’ ∈ [a]xi.
134
5.4 Il metodo di risoluzione
Come abbiamo visto il problema della validità per la logica del primo ordine è
indecidibile. In altri termini non esiste un algoritmo per decidere se data una
formula arbitraria del primo ordine questa sia valida oppure no. Il problema è
comunque semidecidibile nel senso che esiste una procedura che conferma la
validità di ogni formula valida, ma che cicla indefinitamente per alcune
formule che pure sono valide. Una di queste procedure, chiamata metodo di
risoluzione, è particolarmente significativa.
La sua efficienza la rende particolarmente adatta ad essere implementata a
calcolatore.
Prima di addentrarci nella descrizione del metodo di risoluzione, facciamo due
importanti osservazioni:
primo, poichè {A1,...,An} ⇒ A sse A1 & ... & An -> A è valida, ogni
procedura in grado di confermare la validità di una formula del primo ordine
può essere utilizzata per dimostrare che una data formula è deducibile da una
data teoria finita del primo ordine;
secondo, poichè una formula è valida sse la sua negazione è non
soddisfacibile, un modo di mostrare la validità di una formula A consiste nel
mostrare che la formula ¬A non è soddisfacibile. Questo è appunto il tipo di
approccio adottato dal metodo di risoluzione, che di fatto trova formule non
soddisfacibili.
Allora per dimostrare la validità di una formula A, applicheremo il metodo di
risoluzione a ¬A. Se ¬A è non soddisfacibile allora A è valida e il processo si
arresta, in caso contrario il processo può continuare indefinitamente.
135
5.4.1 La forma in clausole
Teorema 5.4.1
(ii) Per ogni teoria universale T, esiste una teoria T' in forma di clausole tale
che T <=> T'.
136
Definizione 5.4.2
Sia A una formula. una forma in clausole di A è ogni formula ottenuta da A
tramite la seguente costruzione:
Passo 0.
Si prende la chiusura esistenziale di A. Si pone A1 = (∃A).
Passo 1-4.
Si applica ad A1 gli stessi passi 1-4 del teorema 5.2.10
Denotiamo il risultato con A2.
Passo 5.
Si spostano i quantificatori a destra, sostituendo
Passo 6.
Eliminazione dei quantificatori esistenziali. Ripetendo il seguente processo
fino a che tutti i quantificatori esistenziali sono eliminati:
Passo 7.
Cancelliamo tutti i quantificatori da A4, otteniamo A5.
Passo 8.
Distribuzione di & sopra v, sostituendo
137
B v (C & D) con (B v C) & (B v D)
Passo 9.
Eliminazione di "Vero" e "Falso".
A6 è nella forma C1 & ... & Cn dove C1,...,Cn sono clausole.
Cancelliamo ogni Ci il cui letterale sia "Vero" o ¬"Falso".
Dalle clausole rimanenti cancelliamo tutti i letterali della forma "Falso" o
¬"Vero". Denotiamo la formula risultante con A7.
Passo 10.
Aggiungiamo quantificatori universali.
A7 è nella forma C1 & ... & Cn dove C1,...,Cn sono clausole.
Poniamo A8 = (C1) & ... & (Cn) che la desiderata forma in clausole per la A
Esempio:
Teorema 5.4.3
Corollario 5.4.4
138
Allora possiamo fare la seguente notevole osservazione:
siccome solitamente siamo interessati solamente al problema di
soddisfacibilità delle formule, possiamo assumere che le formule che
prenderemo in considerazione siano sempre nella forma di clausole.
Poichè ogni teoria può essere identificata con la teoria che contiene come
affermazioni solo quelle relative agli assiomi, e che ogni teoria della forma
{A1 & ... & An} è equivalente ad {A1,...,An}; ne consegue che ogni
affermazione della forma (C1) & ... & (Cn) può essere identificata con la
teoria {(C1)&...&(Cn)} e quindi possiamo utilizzare la notazione
{C1,...,Cn} per le affermazioni in forma di clausole, dove le variabili ricorrenti
in C1,...,Cn sono tutte implicitamente quantificate universalmente.
Se A è una formula, non necessariamente in forma di clausole, allora
denotiamo con CLAUSOLE(A) l'insieme di clausole corrispondenti ad una
arbitraria forma in clausole di A. Una forma in clausole di una teoria T è una
teoria ottenuta da T sostituendo tutti gli assiomi con gli assiomi corrispondenti
in forma di clausole. Se T è definita sul linguaggio del primo ordine L(AL)
allora la teoria in forma di clausole T è una teoria sul linguaggio L(AL U F),
dove F è l'insieme delle funzioni di Skolem introdotte.
Teorema 5.4.5
Teorema 5.4.6
139
5.4.2 Regola di risoluzione
C1 v l, C2 v ¬l
C1 v C2
l,¬l
Θ
Teorema 5.4.7
(1) Uccello(Titti)
(2) Uccello(Titti) -> Vola(Titti)
140
(3) ¬Ha-le-ali(Titti) -> ¬Vola(Titti)
e l'affermazione
(5) Uccello(Titti)
(6) ¬Uccello(Titti) v Vola(Titti)
(7) Ha-le-ali(Titti) v ¬Vola(Titti)
(8) ¬Ha-le-ali(Titti)
rimane da dimostrare che esiste una confutazione base dalle 5-8 e tale
confutazione è data da:
141
denotiamo con Eθ l'espressione ottenuta da E dalla sostituzione contemporanea
in ciascuna ricorrenza di xi (1≤i≤n) con αi.
Per esempio, se E=P(x,f(y),z) e θ={x <- f(y), y <- g(b)} allora
Eθ = P(f(y),f(g(b)),z). Osserviamo che E∅ = E per ogni E.
Siano θ = {x1 <- α1,...,xn <- αn} e τ = {y1 <- β1,...,ym <- βm} due
sostituzioni; la composizione di θτ di θ e τ è la sostituzione {x1 <- α1τ,...,xn
<- αnτ, y1 <- β1,..., ym <- βm} cancellando ogni elemento xi <- αiτ, per cui xi
= αiτ e cancellando ogni elemento yi <- βi tale che yi ∈ {x1,...,xn}.
142
Se EX = {E1,...,En} è un insieme di espressioni semplici, allora diremo
insieme discordante per EX l'insieme {E1',...,En'} di sottoespressioni di
E1,...,En ricavato come segue. Consideriamo ciascuna espressione E1,...,En
come stringhe di simboli e troviamo la posizione più a sinistra in cui non tutte
le espressioni di EX mostrano lo stesso simbolo, poniamo per ciascun i
(1≤i≤n) Ei’ uguale alla sottoespressione di Ei che inizia da tale posizione.
Per esempio, l'insieme discordante di:
{P(x,f(a)),P(x,c),P(f(y),d)} è {x,x,f(y)} = {x,f(y)}
L'applicazione della regola di risoluzione richiede la capacità di risolvere il
seguente problema di unificazione:
dato un insieme finito EX di espressioni semplici, determinare se EX è
unificabile oppure no, e se lo è fornire l'unificatore più generale per EX.
Algoritmo di unificazione.
passo 1. Poniamo k = 0, θ0 = ∅ ;
Vai al passo 2.
143
Da notare anche che esso non è completamente determinato a causa della libera
scelta di x e di α.
(i) k=0; θ0 = ∅.
(ii) D0 = {x,a}.
(iii) k=1; θ1 = {x <- a}.
(iv) D1 = {b,y}.
(v) k=2; θ2 = {x <-a;y <- b}.
(vi) θ2 è l'unificatore più generale per EX.
Sia EX = {Q(x,x),Q(a,b)}
(i) k=0; θ0 = ∅.
(ii) Do = {x,a}.
(iii) k=1; θ1 = {x <- a}.
(iv) D1 = {a,b}. EX non è unificabile.
144
Poichè ∅ è una sostituzione di rinominazione per ogni clausola, ogni clausola
è un invariante di sè stessa. Se C1 è una variante di C e C1 diversa da C allora
diremo che C1 si ottiene da C rinominando le variabili.
Scriviamo l1,...ln ∈ C per indicare che i letterali l1,...,ln ricorrono in C; se
l1,...,ln ∈ C allora scriviamo C - {l1,...,ln} per denotare la clausola che si
ottiene da C cancellando l1,...,ln.
Definizione 5.4.9
Siano C1 e C2 clausole tali che non abbiano variabili in comune.
Siano l1,...,ln ∈ C1 (n>0) e siano l1',...,lk' ∈ C2 (k>0).
Assumiamo che l1,...,ln siano positivi e che l1',...,lk' siano negativi, o
viceversa. Se θ è l'unificatore più generale di {|l1|,...,|ln|,|l1'|,...,|lk'|} allora la
clausola
Esempio: Siano
Definizione 5.4.10
Un risolvente delle clausole C1 e C2, denotato con RIS(C1,C2), è un risolvente
binario di una variante di C1 e una variante di C2.
Definizione 5.4.11
La regola di risoluzione consiste nella regola di inferenza seguente:
145
Sia CL un insieme di clausole. Una confutazione da CL consiste in una
sequenza di clausole C1,...,Cn tale che Cn = Θ e, per ogni 1≤n sia Ci ∈ CL
oppure Ci è un risolvente di Cj e Ck dove j,k <i
Definizione 5.4.12
Sia CL un insieme di clausole. Scriviamo EQ(CL) per denotare l'insieme di
clausole di uguaglianza per CL, cioè l'insieme consistente nelle seguenti
clausole:
(EC1) x = x
(EC2) x ≠ y v y = x
(EC3) x ≠ y v y ≠ z v x = z
(EC4) x1 ≠ y1 v ... v xn ≠ yn v ¬P(x1,...,xn) v P(y1,...,yn)
per ogni n-ary (n>0) predicato costante P presente in CL
(EC5) x1 ≠ y1 v ... v xn ≠ yn v f(x1,...,xn)=f(y1,...,yn)
per ogni n-ary (n>0) funzione costante f presente in CL
Teorema 5.4.13
146
prendiamo i letterali l1 = ¬P(y,a), l2 = ¬P(y,x), l3 = ¬P(x,y)
dalla (1) e l1' = P(y1,a) dalla (2').
Poichè θ = {x <- a, y <- a, y1 <- a} è l'unificatore più generale di
{|l1|,|l2|,|l3|,|l1'|} la clausola
(4) P(a,f(a))
è un risolvente binario di (1) e (2') e quindi un risolvente di (1) e (2).
Ora, cerchiamo di risolvere (1) e (3).
Sostituiamo la (3) con una sua variante
(3') P(f(y2),y2) v P(y2,a)
prendiamo l1,l2,l3 come prima e l1' = P(y2,a) dalla (3').
Poichè θ = {x <- a, y <- a, y2 <- a} è l'unificatore più generale di
{|l1|,|l2|,|l3|,|l1'|}, concludiamo che
(5) P(f(a),a)
è un risolvente binario della (1) e della (3') e quindi risolvente di (1) e (3).
Il passo successivo consiste nel risolvere (1) e (4).
Prendiamo l1 = ¬P(x,y) dalla (1) e l1' = P(a,f(a)) dalla (4).
Poichè θ = {x <- a, y <- a} è l'unificatore più generale di {|l1|,|l1'|}, otteniamo:
¬P(f(a),a) v ¬P(f(a),a), cioè
(6) ¬P(f(a),a)
e finalmente dalla (5) e dalla (6) otteniamo, con la sostituzione vuota
(7) Θ (insieme di clausole vuoto).
147
Definizione 5.4.14
Una dimostrazione risolvente di una formula A da una teoria T è una
confutazione da
Teorema 5.4.15
148
5.4.3 Soluzione lineare
(iv) Cn = Θ.
Teorema 5.4.16
Uno dei problemi che si pongono nella costruzione di una confutazione lineare
consiste nella scelta della clausole iniziale.
Il teorema seguente fornisce una interessante indicazione in questo senso.
149
Teorema 5.4.17
Definizione 5.4.18
Una dimostrazione risolvente lineare di una formula A da una teoria T è una
confutazione lineare da
Teorema 5.4.19
150
allora una risoluzione lineare è la seguente:
da ¬Vola(Canarino) e ¬Uccello(x) v Vola(x)
si ha ¬Uccello(Canarino)
da ¬Uccello(Canarino) e x ≠ y v ¬Uccello(x) v Uccello(y)
si ha x ≠ Canarino v ¬Uccello(x)
da x ≠ Canarino v ¬Uccello(x) e Uccello(Titti)
si ha Titti ≠ Canarino
da Titti ≠ Canarino e Titti = Canarino
si ha Θ (clausola vuota)
(Fig. 5.1)
¬Vola(Canarino) / (1)
/
/
¬Uccello(Canarino) / (8)
/
/
x ≠ Canarino v ¬Uccello(x) / (2)
/
/
Titti ≠ Canarino / (3)
/
/
Θ
151
5.5 Logica classica del secondo ordine
A differenza della logica del primo ordine, in cui tutte le variabili possono
indicare solamente individui, nella logica del secondo ordine si ammette, in
aggiunta, che le variabili possano indicare relazioni e funzioni specificate
sopra agli individui.
Vediamo una breve esposizione della logica classica del secondo ordine.
152
Predicati costanti 0-ary sono chiamati proposizioni costanti.
Funzioni costanti denotano individui od oggetti costanti.
Ogni alfabeto AL determina univocamente tre classi di espressioni: i termini
TM(AL), le formule atomiche AFORM(AL) e le formule L(AL). Queste sono
specificate come quelle nella logica classica del primo ordine con ugualianza,
con in più le seguenti caratteristiche; per quanto riguarda i termini:
153
logici del primo ordine, ad eccezione del fatto che nel linguaggio logico del
secondo ordine possono essere applicate a tutti i tipi di variabili.
Una formula chiusa o affermazione è una formula che non contiene variabili
libere. Una formula non chiusa si dice aperta.
Esempi.
154
5.5.2 Semantica della logica del secondo ordine
Definizione 5.5.1
Una struttura per un linguaggio del secondo ordine L(AL) consiste in una
coppia M = <D,m> dove D ed m sono specificati come nel caso del
linguaggio del primo ordine. Cioè D è un insieme non vuoto che corrisponde
al dominio di M (universo per M) ed m è una funzione che assegna a ciascun
predicato costante n-ary (n≥0) di AL, diverso da "=", una relazione n-ary su D,
alla costante "=", la relazione identica su D, e a ciascuna funzione costante
n-ary (n≥0) di AL, una funzione n-ary da Dn a D.
Di solito, data una struttura M =<D,m> per L(AL), si scrive |M| per indicare
il dominio di M; M|K| per indicare m(K), dove K è un predicato o una
funzione costante in AL. Diremo che M è una struttura del secondo ordine, o
anche una struttura per la logica del secondo ordine sse M è una struttura
per qualche linguaggio del secondo ordine L.
Osserviamo a questo proposito che ogni struttura del secondo ordine può
essere interpretata come una struttura del primo ordine e viceversa, infatti la
frase "struttura del primo ordine" e la frase "struttura del secondo ordine" non
vengono utilizzate per distinguere tra oggetti differenti ma piuttosto tra logiche
differenti.
Sia M una struttura del secondo ordine; un assegnamento su M consiste in una
funzione che assegna ad ogni variabile di funzione n-ary (n≥0) una funzione
n-ary da |M|n in |M|, e a ciascuna variabile predicato n-ary (n≥0) una relazione
n-ary su |M|.
Osserviamo che le variabili individuali sono identificate da variabili funzione
0-ary.
L'insieme di tutti gli assegnamenti su M viene denotato con As(M) se
a ∈ As(M) e X è una variabile qualsiasi allora scriviamo [a]x per denotare
l'insieme di quegli assegnamenti su M che differiscono da "a" al massimo
per X.
Definizione 5.5.2
Sia M una struttura del secondo ordine per L(AL).
Il valore Va(α) di un termine α ∈ TM(AL) in M dove a ∈ As(M) è un
elemento di |M| definito come segue:
(i) Va(x) = a(x), dove x è una variabile individuale;
(ii) Va(a) = M|a|;
(iii) Va(f(α1,...,αn)) = M|f|(Va(α1),...,Va(αn));
(iv) Va(ϕ(α1,...,αn)) = a(ϕ)(Va(α1),...,Va(αn)).
155
Il valore di verità Va(A) di una formula A in M dove a ∈ As(M) è un
elemento di {0,1} specificato nel modo seguente:
(i) Va(Vero) = 1;
(ii) Va(p) = M|p|;
(iii) Va(P(α1,...,αn)) = M|P|(Va(α1),...,Va(αn));
(iv) Va(α=β) = 1 sse Va(α) = Va(β);
(v) Va(Φ) = a(Φ), dove Φ è qualsiasi variabile proposizione;
(vi) Va(Φ(α1,...,αn)) = a(Φ)(Va(α1),...,Va(αn)) dove Φ è ogni
variabile predicato n-ary (n≥0);
(vii) Va(B -> C) = 1 sse Va(B) = 0 oppure Va(C) = 1;
(viii) Va(¬B) = 1 - Va(B);
(ix) Va((X)B) = 1 sse Va(B) = 1 per ogni a’ ∈ [a]x.
Esempio:
Sia A = (Φ)(∃Ω)(√x)(√y)[Φ(x,y) ≡ Ω(y,x)].
Intuitivamente, A afferma che ogni relazione binaria possiede una inversa.
Dimostriamo che A è valida. Assumiamo che A sia falsa, cioè Va(A) = 0, per
qualche struttura M e qualche a ∈ As(M).
Allora esiste un a’ ∈ [a]Φ tale che
Va’((∃Ω)(√x)(√y)[Φ(x,y) ≡ Ω(y,x)]) = 0.
156
Consideriamo lo schema
Il problema di validità della logica del secondo ordine consiste nel determinare
se una data formula arbitraria del secondo ordine è valida oppure no. Poichè la
classe delle formule valide del secondo ordine contiene le formule valide del
primo ordine, e poichè il problema di validità per la logica del primo ordine
è indecidibile, ne deduciamo immediatamente:
Teorema 5.5.4
Teorema 5.5.5
158
5.5.3 Teorie del secondo ordine
Una teoria del secondo ordine consiste in una coppia T = <L,S>, dove L è il
linguaggio del secondo ordine e S sono gli assiomi o premesse di T. Se S = { },
allora T si chiama calcolo dei predicati del secondo ordine su L.
Tutte le notazioni per i termini e altre convenzioni introdotte precedentemente
per le teorie del primo ordine possono essere utilizzate nelle teorie del
secondo ordine. In particolare, le teorie del secondo ordine possono essere
identificate con l'insieme dei loro assiomi, e questo ci consente di trattare ogni
affermazione nel linguaggio logico del secondo ordine come ad una teoria del
secondo ordine.
Di solito una struttura in cui tutti gli assiomi di una data teoria T sono veri
rappresenta un modello di T.
Una teoria T è soddisfacibile sse ha un modello; altrimenti T non è
soddisfacibile.
Una formula A è conseguenza semantica di una teoria T ( A segue da T, T
implica A, A è implicata da T), T ⇒ A, sse A è vera in ogni modello di T.
In particolare, A è una conseguenza semantica del calcolo dei predicati del
secondo ordine su L, ⇒ A, sse A è vera in ogni struttura per L.
Il simbolo ⇒ denota una relazione binaria, chiamata relazione di implicazione
della logica classica del secondo ordine.
La relazione di implicazione nella logica classica del secondo ordine gode
delle stesse proprietà della relazione di implicazione nella logica classica del
primo ordine.
Due teorie T e T' sono logicamente equivalenti, T <=> T', sse possiedono gli
stessi modelli.
Le proprietà di teorie equivalenti nella logica del primo ordine possono essere
generalizzate alla logica del secondo ordine.
Di solito, due formule A e B si dicono equivalenti in una teoria T sse esse
hanno gli stessi valori di verità in ogni modello M di T ed ogni assegnamento a
∈ As(M).
159
5.5.4 Sistemi di deduzione per la logica del secondo ordine
Esiste una importante classe ristretta di formule valide del secondo ordine,
chiamata la classe delle formule secondariamente valide. È possibile costruire
un sistema di deduzione per la logica del secondo ordine, che sia solido e
completo rispetto a tale classe ristretta di formule, cioè DS = <L,S,R> tale che
A è dimostrabile in DS sse A è una formula secondariamente valida di L.
160
5.5.5 Espressioni con predicati e funzioni.
Nella logica del primo ordine, è possibile sostituire termini al posto di variabili
individuali. Nella logica del secondo ordine, possiamo, in aggiunta, sostituire
espressioni di predicati al posto di variabili predicato ed espressioni di funzioni
al posto di variabili funzione.
Una espressione di predicati n-ary W è un'espressione della forma:
Definizione 5.5.7
Sia W una espressione predicato della forma
Γx1,...,xn A(x1,...,xn).
L'estensione Ea(W) di W in una struttura M dove a ∈ As(M) è la relazione
n-ary R su |M| data da
161
Da notare che per ogni predicato costante n-ary P, Ea(Γx1,...,xn P(x1,...,xn)) =
M|P| così che P può essere indentificato da Γx1,...,xn P(x1,...,xn). In maniera
analoga, per ogni variabile predicato n-ary è, Ea(Γx1,...,xn Φ(x1,...,xn)) = a(Φ).
Allora Φ può essere identificata con Γx1,...,xn Φ(x1,...,xn).
Una espressione di predicati Γx1...xn A(x1,...,xn) viene spesso scritta come
Γx A(x), dove x rappresenta la n-tupla (x1,...,xn).
Sia W una espressione predicato della forma ΓxA(x) e supponiamo che α =
(α1,...,αn) sia una n-tupla di termini.
L'applicazione di W ad α, W(α), è la formula A(α).
L'applicazione si dice corretta sse ogni αi, 1≤i≤n, è libero per xi in A(x).
Per esempio, se W = Γxy P(x,y) e α = (z,f(b)), allora W(α) = P(z,f(b)).
Se W = Γxy(∃z) P(x,y,z) e α = (z,f(a)), allora W(α) = (∃z) P(z,f(a),z).
La prima applicazione è corretta, la seconda no.
Una sostituzione di una espressione predicato al posto di variabili predicato
consiste in un insieme {Φ1 <- W1,...,Φn <- Wn} (n≥0), dove Φ1,...,Φn
sono variabili predicato distinte, W1,...,Wn sono espressioni predicato e
per ogni 1≤i≤n, Wi e Φi possiedono la stessa arità.
Definizione 5.5.8
L'applicazione di una sostituzione τ = {Φ1 <- W1,..., Φn <- Wn} ad una
formula A è la formula Aτ ottenuta da A eseguendo le seguenti operazioni:
Esempio:
162
applicando τ ad A, otteniamo prima
L'applicazione di τ2 ad A2 è propria.
Teorema 5.5.9
Per ogni sostituzione τ = {Φ1 <- W1,...,Φn <- Wn} ed ogni formula A la
formula (Φ1) ... (Φn) A -> Aτ è valida, purchè l'applicazione di τ ad A sia
propria.
Corollario 5.5.10
Per ogni sostituzione τ = {Φ1 <- W1,...,Φn <- Wn} ed ogni affermazione della
forma (Φ1)...(Φn).A
(Φ1)...(Φn).A ⇒ Aτ
Esempio:
F1 = Γx f(x); F2 = Γxy f(g(x),y); F3 = Γx ϕ(x,y).
Definizione 5.5.11
Sia F una espressione funzione n-ary della forma
Γx1,...,xn α(x1,...,xn).
L'estensione Ea(F) di F in una struttura M dove a ∈ As(M) è la funzione f da
|M| alla n a |M| data da
f(d1,...,dn) = Va(x1/d1,...,xn/dn)(α)
164
Ea(Γx1,...,xn f(x1,...,xn)) = M|f| così che f può essere indentificata da Γx1,...,xn
f(x1,...,xn). In maniera analoga, per ogni variabile funzione n-ary ϕ,
Ea(Γx1,...,xn ϕ(x1,...,xn)) = a(ϕ).
Allora ϕ può essere identificata con Γx1,...,xn ϕ(x1,...,xn).
Una espressione di funzioni Γx1...xn α(x1,...,xn) viene spesso scritta come
Γx α(x), dove x rappresenta la n-tupla (x1,...,xn).
Sia F una espressione funzione della forma Γxα(x) e supponiamo che β =
(β1,...,βn) sia una n-tupla di termini.
L'applicazione di F a β, F(β), è il termine α(β1,...,βn).
Per esempio, se F = Γxy ϕ(f(x),g(y)) e β = (a,f(a)), allora F(β) = ϕ(f(a),g(f(a))).
Una sostituzione di una espressione funzione al posto di variabili funzione
consiste in un insieme τ = {ϕ1 <- F1,...,ϕn <- Fn} (n≥0), dove ϕ1,...,ϕn sono
variabili funzione distinte, F1,...,Fn sono espressioni funzione e per ogni
1≤i≤n, Fi e ϕi possiedono la stessa arità.
Definizione 5.5.12
L'applicazione di una sostituzione τ = {ϕ1 <- F1,..., ϕn <- Fn} ad una formula
A è la formula Aτ ottenuta da A eseguendo le seguenti operazioni:
(i) Sostituzione di ciascuna ricorrenza di ϕi (1≤i≤n) nella A con {Fi};
(ii) Nella espressione risultante, che in generale non è una formula,
sostituire ciascuna parte contenente la forma {Fi}(β) con l'applicazione di Fi
a β.
Esempio:
Sia A = (y)[P(y) -> Q(ϕ(y))] -> (y)(z)[P(z) -> Q(ϕ(z))] e supponiamo che
τ = {ϕ <- Γx g(y,x)} applicando τ ad A, otteniamo prima
165
L'applicazione di τ ad A è impropria poichè la ricorrenza libera di y in Γx
g(y,x) diventa vincolata in Aτ.
Teorema 5.5.13
Per ogni sostituzione τ = {ϕ1 <- F1,...,ϕn <- Fn} ed ogni formula A la formula
(ϕ1) ... (ϕn) A -> Aτ è valida, purchè l'applicazione di τ ad A sia propria.
Corollario 5.5.14
Per ogni sostituzione τ = {ϕ1 <- F1,...,ϕn <- Fn} ed ogni affermazione della
forma (ϕ1)...(ϕn).A
(ϕ1)...(ϕn).A ⇒ Aτ
166
5.6 La logica modale
Definizione 5.6.1
Sia AL un alfabeto della logica modale proposizionale.
L'insieme L(AL) delle formule su AL è l'insieme più piccolo tale che:
Gli operatori modali sono legati strettamente alla formula a cui sono applicati
e si comportano come il segno di negazione.
167
Definizione 5.6.2
Una struttura per un linguaggio modale proposizionale L(AL) consiste in
M = <W,R,m> dove:
Definizione 5.6.3
Il valore di verità Vw(A) di una formula A in una struttura, dove w ∈ W, è
un elemento di {0,1} dato da:
Esempio:
Teorema 5.6.4
Definizione 5.6.5
Sia L un linguaggio della logica proposizionale modale e X ∈ {T,S4,S5}.
Denotiamo con MPL(L,X) il sistema di deduzione <L,S(X),R> dato da
(A1) Vero
(A2) A -> (B -> A)
(A3) (A -> (B -> C)) -> ((A -> B) -> (A -> C))
(A4) (¬B -> ¬A) -> ((¬B -> A) -> B)
(A5) LA -> A
(A6) L(A -> B) -> (LA -> LB)
170
Di solito normalmente si assume che il linguaggio in considerazione sia
fissato.
Se T → A, nel sistema di deduzione MPL(L,X), diremo che A è dimostrabile
da T nella logica proposizionale X modale, e A si dice teorema della logica
proposizionale X modale.
Denotiamo con Th(T) l'operatore di dimostrabilità nella logica proposizionale
X modale: Th(T) = {A: T → A}.
Teorema 5.6.6
Corollario 5.6.7
⇒ A sse → A.
Teorema 5.6.8
171
5.6.2 Logica modale del primo ordine
Un alfabeto della logica modale del primo ordine si ottiene dalla logica
classica del primo ordine aggiungendo gli operatori "L" ed "M".
Sia AL un alfabeto della logica modale del primo ordine. L'insieme dei
termini su AL e l'insieme delle formule atomiche su AL vengono definiti
nella stessa maniera in cui sono definiti nella logica classica del primo ordine.
L'insieme L(AL) delle formule su AL consiste nel più piccolo insieme tale che:
La semantica della logica modale del primo ordine è definita come segue:
Definizione 5.6.9
Sia M una struttura per L(AL).
Il valore di verità Va(α) di un termine in M dove a ∈ As(M), è specificato
come nella logica classica del primo ordine, e il valore di verità V[a,w](A) di
una formula A ∈ L(AL) in M dove w ∈ W, è un elemento di {0,1} è definito
da:
(i) V[a,w](Vero) = 1;
(ii) V[a,w](P0) = M|P0,w|;
172
(iii) V[a,w](Pn(α1,...,αn)) = M|Pn,w|(Va(α1),...,Va(αn));
(iv) V[a,w](α = β) = 1 sse Va(α) = Va(β);
(v) V[a,w](B -> C) = 1 sse V[a,w](B) = 0 oppure V[a,w](C) = 1
(vi) V[a,w](¬B) = 1 - V[a,w](B);
(vii) V[a,w]((√x)B) = 1 sse V[a,w](B) = 1 per ogni a’ ∈ [a]x;
(viii) V[a,w](LB) = 1 sse V[a,w](B) = 1 per ogni w' ∈ W
tale che wRw';
(ix) V[a,w](MB) = 1 sse V[a,w](B) = 1 per qualche w' ∈ W
tale che wRw'.
Esempio:
Mostriamo che ogni istanza dello schema (√x)(LA) -> L((x)A) è T-valida.
Assumiamo il contrario, esiste allora una formula A, una struttura
M = <D,W,R,m> a ∈ As(M) e w ∈ W tale che V[a,w]((√x)(LA) -> L((x)A)) =
0, ne segue che V[a,w]((√x)(LA)) = 1 e V[a,w](L((x)A)) = 0; poichè
V[a,w](L((x)A)) = 0 esiste w' ∈ W e a’ ∈ [a]x tale che wRw' e
V[a’,w'](A) = 0; d'altra parte, poichè V[a,w]((√x)(LA)) = 1 otteniamo
V[a’,w](LA) = 1 e quindi a causa della wRw' V[a’,w'](A) = 1, una
contraddizione.
Da notare che non è stato utilizzato il fatto che R è riflessiva; perciò ne
consegue che ogni istanza di
(√x))(LA) -> L((x)A)
è vera in ogni struttura.
Teorema 5.6.10
Non esiste alcun algoritmo per decidere se una data formula arbitraria nella
logica modale del primo ordine è valida.
173
Comunque, come nel caso della logica classica del primo ordine è possibile
costruire una procedura π tale che data una formula della logica modale del
primo ordine A, ne determini la validità, nel caso in cui è valida; nel caso
contrario la procedura non termina mai.
Una teoria della logica modale del primo ordine consiste in una coppia
T = <L,S> dove L è un linguaggio modale del primo ordine e S l'insieme degli
assiomi, insieme di affermazioni calcolabili di L, che costituiscono la teoria T.
Se T possiede un modello allora T è soddisfacibile altrimenti è non
soddisfacibile.
La nozione di implicazione "T implica A", T ⇒ A, è definita nel modo solito.
Definizione 5.6.11
Sia L un linguaggio modale del primo ordine e X ∈ {T,S4,S5}.
Denotiamo con MFOL(L,X) il sistema di deduzione <L,S,R> dato da:
(A1) Vero
(A2) A -> (B -> A)
(A3) (A -> (B -> C)) -> ((A -> B) -> (A -> C))
(A4) (¬B -> ¬A) -> ((¬a’B -> A) -> B)
(A5) (√x)A(x) -> A(α), dove α è qualsiasi termine libero
che sostituisce x in A(x)
(A6) (√x)(A -> B) -> (A -> (√x)B) dove A non contiene
ricorrenze libere di x
(A7) LA -> A
(A8) L(A -> B) -> (LA -> LB)
(A9) (√x)(LA) -> L((x)A)
174
(ii) R consiste nelle seguenti regole di inferenza:
Teorema 5.6.12
Corollario 5.6.13
→ A sse ⇒ A.
Una teoria T è consistente sse esiste una formula A ∈ L tale che non è
dimostrabile in T, T ¬→ A.
Teorema 5.6.14
175
6. PROGRAMMAZIONE LOGICA
6.1 Il ragionamento non-monotonico
176
Questo cambia radicalmente la situazione, se poco prima era plusibile che
Mario potesse trovarsi al club, ora alla luce della nuova informazione, questa
circostanza è divenuta altamente improbabile. Andare al club è ora solo una
perdita di tempo, ora è più razionale cercare di contattare Mario in ospedale.
Questo esempio ci porta direttamente al tipo di ragionamento non
monotonico originariamente proposto da Minsky (1975).
Definizione 6.1.1
Con ragionamento non monotonico intendiamo il processo di trarre delle
conclusioni che possono essere smentite alla luce di nuove informazioni.
Un sistema logico si sice non monotonico sse le relazioni di dimostrabilità
violano il principio di monotonicità.
177
Per sottolineare la natura soggettiva delle conclusioni basate sul senso
comune, queste vengono chiamate credenze nella letteratura sulla intelligenza
artificiale.
Talvolta non si comprende bene in che senso conclusioni basate sul senso
comune possano essere considerate credenze; in accordo con il significato di
verità nella logica classica, il termine credenza sottintende che un fatto è
"creduto" essere vero. Naturalmente, un tale fatto può in seguito dimostrarsi
falso, ma raramente, e comunque rimaniamo sempre molto sorpresi quando
una nostra credenza si dimostra essere errata. Questo aspetto non viene
solitamente evidenziato quando si parla di ragionamento secondo il senso
comune, in pratica, spesso accettiamo conclusioni la cui verità è a priori
problematica. Un esempio tipico è il seguente: supponiamo che Roberto sia
accusato di aver commesso un crimine, nel caso in cui non vi siano sufficienti
prove contro di lui, l'unica posizione accettabile è quella di ritenerlo innocente,
eppure i fatti sono generalmente contro di lui e il fatto che egli sia colpevole è
effettivamente probabile.
Cerchiamo ora di impostare due problemi fondamentali:
(1) Che cosa sono in pratica le conclusioni tratte col ragionamento basato sul
senso comune (credenze) ?
(2) Che tecnica possiamo utilizzare per ricavarle ?
Definizione 6.1.2
Una proposizione p è creduta da un agente g, cioè g considera p come una
conclusione razionale, se g è disposto ad usare p come se essa fosse vera.
Vediamo un esempio:
Supponiamo che io stia pensando di fare un viaggio in automobile.
Per cominciare, devo decidere dove si trova la mia auto in questo momento.
In assenza di evidenze migliori, è estremamente probabile che essa si trovi nel
posto in cui l'ho parcheggiata l'ultima volta. In accordo con la definizione di
Perlis, questa affermazione diviene una credenza se sono disposto ad agire
come se fosse vera. Cioè, se sono disposto ad ignorare tutte le circostanze in
cui tale affermazione potrebbe essere falsa e basare la mia azione
sull'assunzione che essa è certamente vera, questo anche se non posso essere
sicuro che l'automobile sia effettivamente nel posto aspettato, in ogni caso
"credo" che sia vera.
178
D'altra parte, anche se sono quasi certo che l'affermazione è vera, potrebbe
essere ragionevole, nello stesso tempo, cercare di aumentare le possibilità a
disposizione; controllando per esempio se un autobus, che passa da quelle
parti, può sostituire l'automobile al fine di effettuare il viaggio che mi
proponevo di fare, in tal caso l'automobile non mi servirebbe più , pertanto
l'affermazione precedente non la considerei una credenza, ma piuttosto a
qualcosa di molto simile ad una contingenza.
La definizione di Perlis non è l'unica possibile, e nemmeno comprende tutti i
tipi di inferenza del ragionamento secondo il senso comune, essa è comunque
certamente degna di attenzione.
Veniamo ora al problema di come possono essere ricavate le credenze; nel
contesto presente, una osservazione fondamentale consiste nel fatto che le
conclusioni umane sono spesso basate sia sulla presenza che sulla assenza di
informazione. Per illustrare come anche la mancanza di determinate
informazioni si un aspetto determinante nel ragionamento secondo il senso
comune riconsideriamo l'esempio precedente:
Questo, comunque non è vero in generale, potrei accettare la regola (R) e nello
stesso tempo rifutarne la conclusione alla luce di una nuova informazione; per
esempio che Mario ha avuto un incidente ieri. Il tipo di ragionamento
coinvolto in questo caso è estremamente più complesso. Per crearne un
modello che funzioni correttamente occorre restringere le possibilità di
applicazione della (R). La regola deve essere bloccata in ogni situazione in
cui il suo uso diviene inacettabile. In altri termini, dati (1) siamo preparati a
concludere (A) a meno che non vi sia qualche evidenza che rende tale
inferenza irrazionale.
Ciò significa che un tale tipo di ragionamento non si basa solo su (R), ma
piuttosto sulla seguente regola di dipendenza dall'ignoranza:
179
(R') Dalla (1), in assenza di evidenze contrarie, si deduce (A).
180
6.2 Le clausole di Horn
Una clausola di Horn è una clausola definita oppure una clausola goal.
Esempi:
A <- B1,...,Bm (regola)
A <- (asserzione)
<- B1,...,Bm (goal)
<- (clausola vuota)
In una regola, la parte sinistra e detta conseguente o testa della regola, la parte
destra e detta antecedente o corpo della regola.
Le clausole di Horn sono un sottinsieme della logica a clausole poichè non
tutto quello che è esprimibile nella logica a clausole è ancora esprimibile in
clausole di Horn.
181
6.3 Risoluzione SLD
183
6.4 La semantica di un linguaggio di programmazione
184
6.5 Base di conoscenza basata sulla logica dei predicati.
dove & sta per congiunzione e (+) sta per negazione o niente e Sj(x) è lo
stato rappresentato.
185
L'organizzazione delle parole e la relativa sintassi non rispecchia fedelmente,
nel linguaggio, l'organizzazione delle cose e degli oggetti con le mutue
relazioni, ma semplicemente le esprime, le rappresenta.
Gli oggetti possono essere organizzati in gruppi di natura empirica, categorica,
logica.
Gruppi empirici sono quelli che presentano contiguità spaziale o temporale.
Gruppi categorici sono insiemi di oggetti elaborati sulla base di una
classificazione. Questa è fondata su una o più proprietà comuni agli oggetti
raggruppati.
Gruppi logici sono insiemi di oggetti che hanno precise relazioni come ad
esempio la relazione di inclusione spaziale: il magazzino è nell'edificio e
l'edificio è nella città, allora il magazzino è nella città.
Esistono corrispondenze e connessioni specifiche tra le parole e gli oggetti, tra
gruppi di parole e gruppi di oggetti. Tali relazioni conducono a strutture che
riconducono le parole agli oggetti e che sono la vera base del linguaggio.
186
6.6 Un filtro prolog
187
Un oggetto può essere semplice oppure composto, ossia formato da altri oggetti
componenti. oggetti composti sono denotati da nomi composti detti strutture.
In PROLOG le strutture sono costituite da un primo nome, detto funtore,
seguito tra parentesi da una sequenza di uno o più altri nomi, detti componenti
o argomenti.
Esempio:
quadro(tintoretto,olio(Titolo,1572))
a. le costanti;
b. le variabili;
c. le strutture.
188
detto l'universo di discorso, ossia costituisce tutto ciò di cui si parla in quella
rappresentazione.
Una relazione è l'attribuzione di una qualità comune a più oggetti.
Naturalmente una relazione può valere tra più di un gruppo di oggetti,
viceversa un singolo gruppo di oggetti può soddisfare più di una relazione.
In generale una relazione è un insieme di n-ple, e correla gli oggetti nominati
in ogni n-pla. In PROLOG una relazione è denotata da un nome, detto
predicato o simbolo predicativo seguito tra parentesi dalla n-pla dei nomi
degli oggetti correlati separati da virgola.
Riassumendo i predicati sono espressioni di forma
dove A, B1, B2, ... , Bn sono predicati, è detta una clausola di Horn: la
conclusione A, che è costituita da un solo predicato è detta testa della clausola;
la congiunzione delle condizioni B1, B2, ... , Bn è detta corpo o coda della
clausola.
189
connettivo ":-", come primo argomento la testa della clausola e come
argomenti successivi le n condizioni del corpo della clausola; come segue:
190
dove ciascun termine sarà nella forma:
Per progettare una interfaccia di tal genere occorre disegnare una base di dati
che consenta la gestione e la memorizzazione in un formato efficiente dei fatti
e delle regole della base di conoscenza.
Nel seguito viene descritto un prototipo di una tale base di dati.
I fatti e le regole verrebbero mantenute aggiornate tramite programmi specifici
di aggiornamento della base di dati, in particolare un editor in grado di trattare
ciascun fatto e ciascuna regola come una scatola nera a cui associare gli
attributi significativi per una eventuale ricerca ed estrazione.
Il criterio di estrazione dei fatti e delle regole pertinenti ad un determinato
GOAL si basa sul concetto di propagazione dei legami.
191
Assemblando questo risultato con criteri di sequenza basati sulla priorità di
applicazione delle regole otteniamo il programma PROLOG che può essere
sottoposto al motore inferenziale per la ricerca della risposta.
Il problema è quindi come disegnare il data base per ottimizzare la ricerca dei
fatti e delle regole che fanno riferimento (contengono) un determinato nome.
Per quanto riguarda gli oggetti nel Box vengono scritte le regole, i fatti e
quanto è utile per l'assemblaggio del programma PROLOG.
192
Le tipologie di dati, ciascuno dei quali richiede un criterio di ricerca
ottimizzato diverso, sono:
Le classi
I domini
I contesti
Le regole
I fatti
Oggetto
Attributo
Verbo
Operatore
Aggregato
Gruppo
Parte_di
Composto_da
Registrazione
Nella tabella dei termini compare il numero dei legami attivi relativamente ad
un certo termine, questo dato è estremamente utile per selezionare nelle
ricerche congiuntive quale termine estrarre per primo.
La classe di appartenenza è utile per indirizzare la ricerca solo sui termini della
classe nel caso in cui tale classe sia nota.
La tabella delle classi serve per accorciare i percorsi di ricerca quando sia
specificata la classe nell'ambito in cui il GOAL deve essere soddisfatto.
Per esempio nel caso in cui il contesto piloti l'ambito della ricerca delle
soluzioni.
193
La tabella degli oggetti contiene esplicitamente i fatti e le regole da assemblare
nel programma PROLOG da passare al motore inferenziale.
----------------
---------- | Utente |
| EDITOR | | |--------
---------- | GOAL | |
| ---------------- ------------
| | | RISPOSTA |
-------------- | ------------
| DATA BASE | ----------------- |
| Regole |------------> | INTERFACCIA | |
| Fatti | | FILTRO PROLOG | |
| Termini | ----------------- |
| BASE DI | | |
| CONOSCENZA | ----------------- |
-------------- | PROGRAMMA | |
| PROLOG | |
----------------- |
| |
----------------- |
| MOTORE |-------
| INFERENZIALE |
-----------------
(fig 6.1)
padre(ugo,bruno).
padre(bruno,valeria).
padre(carlo,susanna).
padre(dario,fulvio).
padre(giorgio,andrea).
194
padre(enea,marcella).
madre(lucia,bruno).
madre(anna,valeria).
madre(valeria,susanna).
madre(susanna,fulvio).
madre(cristina,andrea).
madre(rosa,marcella).
195
padre(ugo,bruno).
padre(bruno,valeria).
padre(carlo,susanna).
padre(dario,fulvio).
madre(lucia,bruno).
madre(anna,valeria).
madre(valeria,susanna).
madre(susanna,fulvio).
padre(giorgio,andrea).
padre(enea,marcella).
madre(cristina,andrea).
madre(rosa,marcella).
Ottimizzare gli algoritmi di ricerca dei fatti e delle regole memorizzate nella
base di dati non è certamente semplice, tuttavia lo schema abozzato può
promettere un interessante sviluppo per ottenere filtri PROLOG che siano
efficienti e che consentano di gestire una ampia base di conoscenza
aggiornabile ed implementabile dinamicamente. Ottenere un software in
grado di manipolare la base di conoscenza con tecniche tipiche dei DBMS è
senza dubbio un aspetto estremamente interessante per lo sviluppo dei sistemi
di intelligenza artificiale.
196
7. TRASFORMAZIONE DELLE SIMIGLIANZE
7.1 Descrizione di oggetti come insieme di attributi
197
Come esempio, consideriamo le seguenti proposizioni:
(A) x è un intero negativo tale che x < n"
(B) x è un intero tale che x < n"
In accordo con B il segno di x è un dettaglio irrilevante, allora per ogni x per
cui A è o verificata o assunta per vera, così lo è anche B, senza doverlo
accertare.
Essendo la descritta relazione tra le proposizioni A e B relativa al loro
significato, essa è chiamata implicazione semantica.
198
7.1.2 Rappresentazione tramite proprietà
199
Il valore di ogni dettaglio dh appartiene pertanto all' insieme {0,1,*} e
l'insieme delle possibili proprietà elemetari diviene
P = {pα:α=1,2,...,n;n=3 exp(l)}.
Esempio:
D1 D2 D3
------------------------
p1 = 0 0 0
p2 = 0 0 1
p3 = 0 1 0
p4 = 0 1 1
p5 = 1 0 0
p6 = 1 0 1
p7 = 1 1 0
p8 = 1 1 1
200
7.1.3 L'implicazione semantica
Definizione 7.1.1
Date due proprietà elementari pα e pβ di P, nel caso in cui tutti i dettagli
rilevanti i cui valori logici formano pβ condizionano coerentemente pα,
diremo che la prima proprietà è implicata semanticamente dalla seconda.
L'implicazione semantica di una proprietà pβ con pα la denotiamo
con pα → pβ.
Osservazione 7.1.2
Osservazione 7.1.3
L'insieme P è formato da
∩ {pα:pα ∈ A}.
α
Quest'ultimo, denotato con ∩A, corrisponde all'insieme vuoto della teoria degli
insiemi.
201
Definizione 7.1.4
Dati due sottoinsiemi S ed R di P, con "S implica semanticamente R" si
intende che per ogni pβ di R esiste pα di S tale che
pα → pβ.
Definizione 7.1.5
Dato un S di P, il sottoinsieme di P che soddisfa alle due condizioni seguenti:
(i) per ogni pα ∈ S0 esiste pβ ∈ S tale che pα → pβ;
(ii) S0 è implicato solo da sè stesso e da ∩A, cioè è formato
esclusivamente da proprietà elementari pα di A.
Le proprietà che formano S0 possono sinteticamente essere rappresentate da
un sottoinsieme (S0)m ottenuto come segue: vengono formate tutte le possibili
coppie di proprietà adiacenti di S0: quindi, ciascuna coppia viene sostituita da
una unica proprietà di P che rappresenta sinteticamente entrambi gli
elementi, in questo modo si ottiene (S0)1.
Definizione 7.1.6
Il sottoinsieme (S0)1 di P appena descritto, si chiama prima rappresentazione di
S0, Per rappresentazione minimale di S0, e anche di S, si intende il
sottoinsieme (S0)m che è uguale alla propria prima rappresentazione con più
piccolo m.
Osservazione 7.1.7
Dati due sottoinsieme S e R di P tali che esistono i,j tali che (S0)i = (R0)j
allora essi hanno la stessa rappresentazione minimale, cioè (S0)m = (R0)m.
Definizione 7.1.8
I due elementi R ed S considerati nella proposizione precedente si dicono
semanticamente equivalenti l'uno rispetto all'altro.
Osservazione 7.1.9
202
Grazie all'osservazione precedente si può introdurre il concetto di famiglia di
proprietà. Consideriamo la potenza dell'insieme P, denotata con |P, essa si
chiama inseme delle proprietà e i suoi elementi sono sottoinsiemi di P.
Esempio:
p12= 00*
p13= 0*0
p15= *00
p1= 000 p24= 0*1
p2= 001 p26= *01 p1234= p1324= 0**
p3= 010 p34= 01* p1256= p1526= *0* p12345678 =
p4= 011 p37= *01 p1357= p1537= **0 = p12563478 =
p5= 100 p48= *11 p2468= p2648= **1 = p13572468 =
p6= 101 p56= 10* p3478= p3748= *1* = p. = ***
p7= 110 p57= 1*0 p5678= p5768= 1**
p8= 111 p68= 1*1
p78= 11*
(i) R → R (riflessività)
(ii) Se R → S e S → R allora R = S (antisimmetria)
203
(iii) Se R → S e S → T allora R → T (transitività)
Operazioni su |P
Definizione 7.1.10
Con area semantica di un elemento S di |P si intende il sottoinsieme di |P
stesso, Sa = {∩A,S0,(S0)1,...,(S0)m} dove (S)i sono le rappresentazioni di S0.
Definizione 7.1.11
L'elemento (S0)m dell'area semantica Sa, che corrisponde alla
rappresentazione minimale di S e di S0, si chiama il più piccolo limite
superiore (least upper bound) lub di S.
Definizione 7.1.12
Il più grande limite inferiore (greatest lower bound) glb di un elemento S di
|P consiste nella rappresentazione minimale (∩α S0α)m, dove ∩α S0α denota
l'intersezione degli implicanti primari relativi ad ogni proprietà elementare pα
appartenente ad S.
Osservazione 7.1.13
204
Definizione 7.1.14
Ogni elemento S di |P tale che ∩α S0α = ∩A si chiama elemento
semanticamente disgiunto.
Osservazione 7.1.15
Lemma 7.1.16
(i) R ∨ S = ∨R
(ii) R ∧ S = ∧S
Dimostrazione:
Nelle ipotesi assunte, dalla definizione di →, entrambi R ed S sono
implicati da R0, Pertanto (R0)m, cioè ∨R rappresenta i due elementi R e S,
quindi, nel nostro caso (R0 ∪ S0)m = (∪ R0)m = ∨R
Dalla definizione di ∧ si ha (R0 ∩ S0)m = (S0)m = ∨S allora R ∧ S = ∧ S.
205
Corollario 7.1.17
Teorema 7.1.18
(i) R ∨ R = ∨ R (i’) R ∧ R = ∧ R
(ii) R ∨ S = S ∨ R (ii’) R ∧ S = S ∧ R
Dimostrazione:
Corollario 7.1.19
206
Le caratteristiche delle operazioni ∧ e ∨ ci permettono di affermare che
<|P,∧,∨> possiede una struttura di tipo reticolare. Se <|P,∧,∨> è un reticolo, nel
senso della teoria dei reticoli, se ne deduce che per ogni elemento S di |P S ∨
S = S.
Nel nostro caso, in cui gli aspetti semantici degli elementi considerati sono
preminenti, l'uguaglianza S ∨ S = ∨ S esprime la possibilità generale che S sia
sinteticamente rappresentato da (S0)m. In particolare, anche se (S0)m è
diverso da S esso è semanticamente equivalente ad S, in altri termini ∨S ed S
hanno lo stesso significato. In più, è evidente che nel caso in cui S è disgiunto,
e quindi non include alcuna proprietà elementare adiacente, oppure è singolo,
allora S ∨ S, come ∨S sono uguali ad S. A causa della dipendenza dei risultati
ottenuti da ∧ e ∨ sul significato sottinteso dagli elementi su cui tali
operazioni sono attuate, la struttura <|P,∧,∨> la chiameremo reticolo
semantico, e lo denoteremo con L(|P).
Teorema 7.1.20
(i) R ∧ (S ∨ T) = (R ∧ S) ∨ (R ∧ T);
(ii) R ∨ (S ∧ T) = (R ∨ S) ∧ (R ∨ T);
Osservazione 7.1.21
207
7.1.4 Definizione di un'algebra sulle proprietà
Teorema 7.1.22
Corollario 7.1.23
Teorema 7.1.24
(i) ¬(R ∨ S) = ¬R ∧ ¬S
(ii) ¬(R ∧ S) = ¬R ∨ ¬S.
Corollario 7.1.25
Teorema 7.1.26
208
7.2 Ruolo delle irrilevanze nella formazione di concetti
209
entità S-definente.; cioè Xk non è determinante per far sì che xα definisca S.
Una tale irrilevanza deriva dalla esistenza in S di un'altra entità xβ che, quando
è confrontata con xα differisce da xα esclusivamente per il k-esimo
attributo.
Formalmente, date due entità xα = (x1α,...,xlα) e xβ = (x1β,...,xlβ) tali
che esiste un solo k per cui xkα è diverso da xkβ e per ogni h diverso da k si
ha xhα = xhβ, allora gli attributi xkα e xkβ non hanno rilievo e la
caratteristica corrispondente Xk con lo stesso indice k risulta irrilevante sia
in xα che in xβ. Una relazione binaria lega xα e xβ così che queste possono
essere definite isosignificanti e la relazione è possibile indicarla con xα - xβ.
Gli attributi rilevanti Xh che caratterizzano ogni entità xα sono indicati nella
notazione binaria xhα ∈ {0,1}; quelli irrilevanti sono indicati con {*}. Dopo
aver accertato l'isosignificato di due entità xα e xβ, entrambe queste entità
possono essere sintetizzate in una terza xτ tale che xkτ = * e per ogni h
diverso da k xhτ = xhα = xhβ. Una tale sintesi implementa un operatore
binario che indicheremo con Θ sull'insieme base X. Allora xτ sarà il risultato
di xα Θ xβ: la struttura matematica che X riceve dalla nuova operazione
deriva dalle relazioni semantiche tra i suoi elementi.
Applicando Θ su tutte le entità isosignificanti di S, si ottiene un sottoinsieme
S1 di {0,1,*}exp(l); in cui si aggiungeranno tutte le entità dello stesso tipo di
xτ, una per ogni coppia di entità isosignificanti esistenti in S. Tramite
l'applicazione iterativa di Θ sugli elementi formati successivamente si ottiene
una successione di Si e finalmente si ottiene Sm in cui non esistono
ulteriori entità isosignificanti. Nelle entità incluse in Sm tutti gli attributi
irrilevanti vengono evidenziati: questa rappresentazione sintetica di S
costituisce l'intensiva (essenziale) definizione del concetto S stesso.
Esempio: Sia l'insieme base X generato dall'interpretazione dei valori di tre
caratteristiche X1, X2, X3 sull'insieme primario
X={000,001,010,011,100,101,110,111}, tale che S = {010,011,100}
sia il concetto definito. Le entità 010 e 011 sono isosignificanti, poichè esse
differiscono solo per la caratteristica X3, a cui corrispondono gli attributi x3α e
x3β rispettivamente, allora la forma sintetica di S è Sm = {100,01*} dove 01*
è il risultato di 010 Θ 011.
212
7.3 Simiglianze nel caso di corrispondenza biunivoca
Si dice applicazione suriettiva ƒ : A --> B sse ƒ(A) = B; vale a dire che per
ogni elemento yi ∈ B esiste un xi ∈ A tale che ƒ(xi) = yi.
α(m,n) = n exp(m).
213
Ricordiamo che le combinazioni di n elementi presi a m alla volta sono:
n n!
( ) =
m m!(n-m)!
(fig 7.1)
xi = {i1,i2,...,ik}
214
= {e1,e2,...,ek} = yi ; yi ∈ |P(I2)
Esempio:
xi = {i1,i2,...ik} si ha µ1(xi) = k.
-1
µ2(yi) = µ1(T (yi)) = µ1(xi) allora
-1 -1
infatti T (yi) = T ({e1,e2,...,ek}) = {i1,i2,...,ik} = xi
µ1({i1,i2,...,ik}) = k
µ2({e1,e2,...,ek}) = k
215
(fig 7.2)
Possiamo ora costruire una metrica basata sulle misure µ1 e µ2 tale che
induca spazi isometrici sulla potenza di I1 e di I2.
Prendiamo pertanto le seguenti funzioni distanza:
µ1(xi ∆ xj)
d1(xi,xj) = per ogni xi,xj ∈ |P(I1)
µ1(xi ∪ xj)
µ2(yi ∆ yj)
d2(yi,yj) = per ogni yi,yj ∈ |P(I2)
µ2(yi ∪ yj)
216
_
S1 contenuto in |P(I2); allora:
PROPOSIZIONE 7.3.1
_
Per ogni yi ∈ S1 la funzione distanza d2(yi,yj) fornisce la simiglianza tra yi ed
ogni yj ∈ S2.
PROPOSIZIONE 7.3.2
_ _
Se d2(S1,S2) = 0 allora S1 coincide con S2.
_ _
Se d2(S1,S2) = 1 allora S1 è disgiunto da S2 per cui
_
per ogni ei ∈ S1 ej ∈ S2 d2(ei,ej) = 1
PROPOSIZIONE 7.3.3
Definizione 7.3.4
PROPOSIZIONE 7.3.5
_
Per ogni yi ∈ S1, l'intersezione dell'intorno di raggio δ di yi con S2,
Bδ(yi) ∩ S2, fornisce un ordinamento parziale degli elementi di S2 in funzione
delle simiglianze tra gli elementi stessi di S2 e l'elemento yi di S1.
217
Esempio:
I1 = {i1,i2,i3,i4,i5}, I2 = {e1,e2,e3,e4,e5}
S1 = {{i1,i2},{i2,i3,i4},{i3,i4,i5},{i1,i3,i5},{i1,i4}}
S2 = {{e1,e2},{e1,e2,e3},{e1,e2,e3,e4},{e1,e2,e3,e4,e5}}
PROPOSIZIONE 7.3.6
_
Sia S1 ∩ S2 ≠ ∅.
Esempio:
Consideriamo un insieme di cinque elementi
I1 = {i1,i2,i3,i4,i5}, I2 = {e1,e2,e3,e4,e5}
S1 = {{i1,i2},{i2,i3,i4},{i3,i4,i5},{i1,i3,i5},{i1,i4}}
218
S2 = {{e1,e2},{e1,e2,e3},{e1,e2,e3,e4},{e1,e2,e3,e4,e5}}
(fig 7.3)
219
Il pianoforte produce un suono, un'onda sonora, con caratteristiche ben precise
di altezza e di composizione armonica, che progressivamente nel tempo si
propaga nello spazio.
Se analizzassimo la forma d'onda prodotta, in linea di principio, potremmo
ritrovare le onde corrispondenti a ciascuna nota sul pentagramma, ma dove è
rintracciabile la melodia?
Consideriamo il problema da un punto di vista astratto; per far ciò utilizziamo
la matematica.
Dal punto di vista matematico gli oggetti più generali con cui trattare
l'informazione sono gli insiemi.
Un insieme di messaggi, di oggetti, di configurazioni,... forniscono il supporto
per la trasmissione dell'informazione da un emittente ad un ricevente.
Siccome desideriamo manipolare qualsiasi combinazione di oggetti del nostro
insieme gli oggetti matematici più generali, che possono essere utili
rappresentazioni, sono gli spazi topologici.
Consideriamo pertanto due spazi topologici (X,T1) e (Y,T2), dove X è
l'insieme di partenza, con topologia T1; Y è l'insieme di arrivo, con topologia
T2.
Sia OP: X --> Y un operatore, una trasformazione, che determini
un'applicazione da X a Y tale che yi = OP(xi), yj = OP(xj) se e solo se xi = xj.
Per la definizione di topologia vale:
1) L'insieme vuoto appartiene alla topologia T
L'insieme X appartiene alla topologia T.
2) L'unione di arbitrari elementi di T appartiene ancora a T.
3) L'intersezione di un numero finito di arbitrari elementi di T
appartiene a T.
Supponiamo che gli insiemi X,Y siano misurabili e in particolare esistano una
misura m1 su X e una misura m2 su Y tali che:
1) m1: X --> R+ \ {∞}
m2: Y --> R+ \ {∞}
2) Per ogni xi,yi, xi appartenente a X, yi appartenente a Y
tali che yi=OP(xi)
valga m1(xi) = m2(yi)
m1(xi ∆ xj)
a) dx (xi,xj) = kx
m1(xi ∪ xj)
220
m2(yi ∆ yj)
b) dy (yi,yj) = ky
m2(yi ∪ yj)
c) dx(xi,xj) = β dy(yi,yj)
221
7.3.2 Costruzione di una metrica sull'insieme dei naturali
S2 = {{1},{1,2},{1,2,3},...,{1,2,3,...,k},...}
(fig 7.4)
222
Consideriamo la g(xi,yj) = d(T(xi),yj) precedentemente introdotta considerato
che se yk = T(xk), è l'insieme yk corrispondente, nell'insieme dei naturali, ad
un arbitrario xk di S1 e Tr(xi) = yk, Tr(xj) = yk corrispondono a due elementi
xi ed xj di S1 che sono simili ad yk, e pertanto ad xk dove xi, xj, xk ∈ S1 e yk
∈ S2 (insieme dei naturali) allora vale d(xi,xj) ≤ g(xi,yk) + g(xj,yk)
ovvero, in altri termini, yk rappresenta un buon prototipo per rappresentare, in
maniera standard, sia xi che xj.
Esempio:
Prendiamo S1 = {{1,2},{3,4},{2,3,4},{3,4,5}}
ed S2 = {{1},{1,2},{1,2,3},{1,2,3,4},{1,2,3,4,5}}
223
(fig 7.5)
ƒ : |N --> S
µ({n1,n2,...,nk}) = k
µ(xi ∆ xj)
d(xi,xj) = xi,xj ∈ |P(|N)
µ(xi ∪ xj)
224
Allora gli elementi di S2 sono:
n-m
d(<1,2,...,m>,<1,2,...,n>) = con n ≥ m
n
1 2 3
, , , ...
n n n
n-m
Per visualizzare la funzione d(n,m) =
n
k-x 1
allora la ƒ(x) = = 1 - x
k k
225
(fig. 7.6)
226
7.4 Sistemi di deduzione basati su regole
xi - xj
xj - xi
xj implica xk
xj → xk (implicazione semantica)
xj ⇒ xk (implicazione logica)
xk :- xj.
OR) xk :- x1.
xk :- x2.
AND) xk :- x1,x2.
227
Se (x1 & x2) allora xk.
xk1 :- x1,x2,...,xn.
Esempio:
1) x3 :- x1,x2.
2) x3 :- x2,x4.
3) x4 :- x2,x3.
4) x5 :- x3,x4.
5) x6 :- x2,x3,x4,x5.
228
(fig 7.8)
229
Il processo è analogo alla generazione di nuove stringhe negli algoritmi
genetici: vedremo che l'analogia può essere spinta ad un livello di particolare
interesse.
Riassumendo si ha:
(fig 7.9)
Esempio:
E0 = {x1,x2}
E1 = {x1,x2,x3}
230
E3 = {x1,x2,x3,x4}
E4 = {x1,x2,x3,x4,x5,x6}
T T T T T
E0 ==> E1 ==> E2 ==> E3 ==> E4 ==> E4
231
7.5 Logiche a più di due valori
232
rifiutare la legge del terzo escluso: A v ¬A. Infine, per provare una
congiunzione, dal punto di vista intuizionista, occorre provare tutti i termini
della congiunzione stessa.
Il linguaggio della logica proposizionale intuizionista consiste nel linguaggio
proposizionale solito con i connettivi ¬, ->, v, & per le affermazioni. Come
nella logica classica, la logica intuizionista può essere definita come un sistema
di deduzioni.
Nella logica intuizionista la disgiunzione e la congiunzione non possono
essere definite tramite l'implicazione e la negazione: entrambi i connettivi v e
& devono essere introdotti come connettivi primitivi.
Definizione 7.5.1
Sia L un linguaggio proposizionale.
Con I(L) denotiamo il sistema deduttivo <L,S,R> dove:
Tutte le nozioni utilizzate nella logica classica si applicano anche alla logica
intuizionista, così possiamo parlare di dimostrazioni, teoremi, teorie, ecc.
nell'ambito della logica intuizionista e possiamo utilizzare le solite notazioni.
Teorema 7.5.2
233
Teorema 7.5.3
L'aggiunta dello schema A v ¬A (legge del terzo escluso) agli assiomi (1)-(11)
conduce alla logica proposizionale classica.
Teorema 7.5.4
234
Definizione 7.5.5
Una struttura intuizionista per un linguaggio L consiste in una tripla
M = <U,≤,m>, dove
(4) t M A -> B sse t' M B ogni volta che t' M A
per ogni t' ≥ t;
(5) t M ¬A sse non esiste un t' ≥ t tale che t' M A.
Definizione 7.5.6
Diremo che A è vera in M = <U,≤,m> sse t M A , per ogni t ∈ U.
235
Teorema 7.5.7 (Kripke)
Esempio:
Esempio:
(7) t M LA sse per ogni t' ≥ t esiste t" ≥ t' tale che t" M A.
236
Esempio:
(G1) ¬MA ≡ ¬A
(G2) (MA -> B) ≡ ¬A v B
(G3) (MA -> A) ≡ ¬A v A
(G4) (MA -> ¬A) ≡ ¬A
(G5) M(A & B) -> MA & MB.
Esempio:
Esempio:
Esempio:
237
MD11, ..., MD1k
. .
. .
. .
MDn1, ..., MDnk
k
(1) { Ci-1 & ∩ MDij } G Ci per tutti 1≤i≤n, 1≤j≤k
j=1
Esempio:
Sia A = Mp -> p. Poichè {(Mp -> p) & Mp} G p e {(Mp -> p) & Mp}
è G-soddisfacibile, la sequenza C0 = Mp -> p, C1 = p è una dimostrazione
non monotonica di p da A; l'insieme di assunzioni extra utilizzato in questa
dimostrazione consiste di EA = {Mp}.
In maniera analoga, poichè
{(Mp -> p) & M¬P} G ¬p e {(Mp -> p) & M¬p} è G-soddisfacibile,
la sequenza C0 = Mp -> p C1 =¬p è una dimostrazione non monotonica di
¬p da A, e per tale dimostrazione EA = {M¬p}.
In conclusione A > p e A > ¬p.
238
comune. Che una formula e la sua negazione possano essere non
monotonicamente derivabili da una affermazione particolare non è
sorprendente e nemmeno porta a particolari difficoltà, comunque possiamo,
come Gabbay suggerisce, scegliere una alternativa tra quelle possibili e da lì
procedere, ma il problema consiste nel fatto che se scegliamo di inferire ¬p
da Mp ->p, le nostre scelte appaiono intuitivamente non fondate; infatti dal
punto di vista del ragionamento basato sul senso comune il modo di intendere
Mp -> p è "considerare p vera a meno di evidenze che mostrano il contrario".
Il concetto "B segue non monotonicamente da una formula A" può essere
generalizzato ovviamente al concetto "B segue non monotonicamente da una
teoria T":
Definizione 7.5.8
Esempio:
239
7.5.2 Logica modale non monotonica a tre valori
A differenza del punto di vista della logica classica, in cui ogni formula può
essere o vera o falsa, nella logica a tre valori si ammette l'esistenza di una terza
possibilità. Questo terzo valore può essere interpretato in maniere diverse, ma
generalmente esso rappresenta uno stato intermedio tra la verità
dell'affermazione e la sua negazione.
Nella logica a tre valori di Kleene (1952), una formula può essere vera (1),
falsa (0) o indecidibile (u). Intuitivamente, una formula si trova nello stato (u)
se la sua funzione di verità non è nota. Questa interpretazione porta alle
seguenti tavole di verità per i connettivi tra le frasi:
¬A | A & B | 1 u 0 A v B | 1 u 0
------- ------------------ ------------------
1 | 0 1 | 1 u 0 1 | 1 1 1
u | u u | u u 0 u | 1 u u
0 | 1 0 | 0 0 0 0 | 1 u 0
A -> B | 1 u 0 A ≡ B | 1 u 0
-------------------- -------------------
1 | 1 u 0 1 | 1 u 0
u | 1 u u u | u u u
0 | 1 1 1 0 | 0 u 1
Definizione 7.5.9
Una interpretazione parziale per L consiste in una funzione m che assegna ad
ogni proposizione costante di L un elemento {0,1,u}.
dove ¬, &, v, -> e ≡ sono calcolati in accordo con le tavole di verità sopra
riportate.
Diremo che A è K-valida sse V(A) = 1, per ogni interpretazione parziale m.
È interessante notare che la legge del terzo escluso non è valida nella K-logica,
cioè lo schema A v ¬A non è K-valido.
L'insieme dei valori di verità {1,u,0} possiede un ordine parziale naturale,
≤, dato da 1≤1, u≤u, 0≤0, u≤0, u≤1:
1 0
\ /
u
Definizione 7.5.10
Siano m ed m' due interpretazioni parziali per L. Diremo che m' estende m,
m≤m', sse m(p) ≤ m'(p), per ogni proposizione costante p ∈ L.
Teorema 7.5.11
241
Nella logica di Turner, stati di informazione incompleta sono
rappresentati da interpretazioni parziali della K-logica.
Per descrivere l'idea di "conclusione palusibile" egli introduce una relazione
binaria ≈>, operante tra due interpretazioni: la relazione m1 ≈> m2 si legge
"m2 plausibilmente estende m1".
L'intenzione è quella di esprimere il fatto che A è plausibile relativamente ad
un certo stato di conoscenza rappresentato da m sse A è vera in qualche
interpretazione che plausibilmente estende m.
Occorre sottolineare che la relazione di plausibilità ≈> è un concetto
primitivo; come la relazione di accessibilità implementata nella logica modale,
la relazione di plausibilità non può essere definita più precisamente. Il
massimo che si può fare consiste nell'imporre alcune proprietà che tale
relazione deve possedere, in maniera tale da riflettere la nostra idea di mondo
plausibile.
(2) m ≈> m
242
Si può vedere facilmente che <F,≈>,m> è una struttura intuizionista se <F,≈>>
è una struttura modello.
dove v, &, ¬, -> e ≡ sono i connettivi con lo stesso significato attribuito nella
logica di Kleene.
Le regole dalla (1) alla (6) sono esattamente le regole di valutazione per la
K-logica. La regola (7) fornisce la semantica per l'operatore M; in accordo con
tale regola, MA è vera rispetto ad una interpretazione parziale m sse A è vera
in qualche interpretazione che plausibilmente estende m; MA è falsa rispetto ad
una interpretazione parziale m sse A è falsa in tutte le interpretazioni parziali.
Denoteremo la logica di Turner come T-logica.
Corollario 7.5.15
Esempio:
243
F = {m1,m2,m3} dove m1(p)=u, m2(p)=0, m3(p)=1;
≈> = {<m1,m2>,<m1,m3>} ∪ {<mi,mi>:i=1,2,3}.
Esempio:
Esempio:
Sia T = {Mp,¬p}.
In accordo con le nostre aspettative, T non è T-soddisfacibile e quindi
qualsiasi formula T-segue da T.
Per vedere questo, assumiamo il contrario, cioè che Vm(Mp)=1 e Vm(¬p)=1,
per qualche M = <F,≈>> e qualche m ∈ F.
Vm(Mp)=1 implica Vm'(p)=1, per qualche m' tale che m ≈> m'.
Vm(¬p)=1 implica che Vm(p)=0 per tutti m' tali che m ≈> m'.
Questo porta ad una contraddizione.
244
F = {m1,m2,m3} dove m1(p)=u, m2(p)=0, m3(p)=1;
≈> = {<m1,m2>,<m1,m3>} ∪ {<mi,mi>:i=1,2,3}.
Esempio:
Sia T = {M(p & q), ¬p}. Una tale teoria non è T-soddisfacibile.
Più generalmente, la teoria {M(A & B), ¬A} è non T-soddisfacibile se
A non include ricorrenze di M, nel caso contrario essa potrebbe essere
soddisfacibile.
Per costruire una versione non monotonica della T-logica Turner ha suggerito
di implementare il meccanismo delle "extra assunzioni" di Gabbay.
Esempio:
245
(1) Vm(¬p)=0. Allora Vm(p)=1 e quindi Vm(p)=1 per ogni m' tale
che m ≈> m'; d'altra parte Vm((Mp -> p) & M¬p)=1 implica
Vm(M¬p)=1 e perciò Vm(p)=0 per qualche m' tale che m ≈> m'.
Questo porta ad una contraddizione.
246
7.5.3 Logica modale non monotonica a quattro valori
bi di | mi
-----------------
0 0 | u (Vm(Pi) = u mancanza di informazione)
1 0 | 1 (Vm(Pi) = 1 Pi è vera)
0 1 | 0 (Vm(pi) = 0 ¬Pi è vera)
1 1 | c (Vm(pi) = c contraddizione elementare)
Questa interpretazione porta alle seguenti tavole di verità per i connettivi tra le
frasi:
¬A | A & B | 1 u c 0 A v B | 1 u c 0
------- ---------------------- ---------------------
1 | 0 1 | 1 u 0 0 1 | 1 1 1 1
u | u u | u u 0 0 u | 1 u u u
c | c c | 0 0 0 0 c | 1 u 0 0
0 | 1 0 | 0 0 0 0 0 | 1 u 0 0
A -> B | 1 u c 0 A ≡ B | 1 u c 0
----------------------- ----------------------
1 | 1 u 0 0 1 | 1 u 0 0
u | 1 u 0 u u | u u u u
c | 0 0 0 0 c | 0 u 1 0
0 | 1 1 0 1 0 | 0 u 0 1
247
Definizione 7.5.16
Una interpretazione parziale per L consiste in una funzione m che assegna ad
ogni proposizione costante di L un elemento {0,1,u,c}.
dove ¬, &, v, -> e ≡ sono calcolati in accordo con le tavole di verità sopra
riportate.
Diremo che A è O-valida sse V(A) = 1, per ogni interpretazione parziale m.
È interessante notare che la legge del terzo escluso non è valida nella
O-logica, cioè lo schema A v ¬A non è O-valido; comunque se Vm(A) = 1
allora Vm(¬A) = 0 e viceversa.
L'insieme dei valori di verità {u,1,0,c} possiede un ordine parziale naturale
(n-ordine), ≤, dato da 1≤1, u≤u, 0≤0, c≤c, u≤0, u≤1, 1≤c, 0≤c:
c
/ \
1 0
\ /
u
1 0
\ /
c - u
248
Definizione 7.5.17
Siano m ed m' due interpretazioni parziali per L.
Teorema 7.5.18
Accenniamo alla logica non monotonica che risulta dallo schema sopra
proposto.
Il sistema è costruito su di un linguaggio logico modale del primo ordine,
comprendente un operatore modale M : una formula della forma MA si
interpreta "A è plausibile".
Il sistema è basato concettualmente sulle seguenti assunzioni:
249
(3) Ogni conclusione non è mai definitiva, anche se derivata da
precise osservazioni può essere contraddetta in qualsiasi momen-
to da eventi futuri non ancora noti.
Definizione 7.5.19
Sia ≈> una relazione binaria specificata su un insieme F di interpretazioni
parziali della O-logica.
Introduciamo il concetto di generazione.
Consideriamo generazioni successive di interpretazioni m0,m1,...
ciascuna ricavabile dalla precedente sulla base di attribuzione di nuovi valori
di verità a partire da una interpretazione iniziale m0, secondo le seguenti
regole:
(3) m ≈> m' e m' ≈> m" implica m ≈> m" alla seconda generazione
250
per tutti m,m',m" in F.
Una tale logica non monotonica si basa sui seguenti concetti semantici:
Definizione 7.5.20
Una O-struttura modello per L consiste in un sistema M = <F,≈>>, dove F è
l'insieme di tutte le interpretazioni parziali per L e ≈> è la relazione di
plausibilità su F.
Definizione 7.5.21
Sia M = <F,≈>> una O-struttura modello per un linguaggio L.
Con Vm(A) denotiamo il valore di una formula A in M dove m ∈ F.
Allora Vm(A) è un elemento di {1,u,c,0} definito dalle regole seguenti:
dove v, &, ¬, -> e ≡ sono i connettivi con lo stesso significato attribuito nella
O-logica sopra esposta.
251
Le regole dalla (1) alla (6) sono esattamente le regole di valutazione per la
O-logica. La regola (7) fornisce la semantica per l'operatore M; in accordo
con tale regola, MA è vera rispetto ad una interpretazione parziale m sse A è
vera in qualche interpretazione che plausibilmente estende m, ma che non
contenga contraddizioni elementari; MA è falsa rispetto ad una
interpretazione parziale m sse A è falsa in tutte le interpretazioni parziali,
purchè non siano presenti contraddizioni elementari.
Denoteremo la logica così ricavata con B-logica.
Corollario 7.5.22
Esempio:
252
7.6 Rappresentazione in uno spazio vettoriale binario
Definizione 7.6.1
Sia L un linguaggio logico proposizionale.
{p1,p2,...,pn} ∈ L.
Siano x1,x2,...,xn fatti atomici corrispondenti a p1,p2,...,pn.
Siano b1,b2,...,bm variabili binarie, tali per cui bi ∈ {0,1}
{b1,b2,...,bm} ∈ X.
Poniamo che xi sia descrivibile con una combinazione di bj:
xi = {b1,b2,...,bj} ovvero xi = b1 & b2 & ... & bj.
allora {x1,x2,...,xn} ∈ |P(X).
253
8) x1 v x2 v x3 -> x4 & x5 con {x4,x5} :- [x1,x2,x3]. o anche
x4 :- [x1,x2,x3].
x5 :- [x1,x2,x3]. o anche
x4 :- x1.
x4 :- x2.
x4 :- x3.
x5 :- x1.
x5 :- x2.
x5 :- x3.
In altri termini:
Definizione 7.6.2
Sia B un insieme numerabile finito di variabili binarie B = {b1,b2,...,bn}
consideriamo l'insieme potenza di B, X = |P(B), X contiene
n n
Σ ( ) elementi distinti
k=1 k
Siano xi,xj ∈ X;
xi = {bi1,bi2,...,bih}, xj = {bj1,bj2,...,bjl} denotiamo con
{xi,xj} = xi & xj = (bi1 & ... & bih) & (bj1 & ... & bjl)
[xi,xj] = xi v xj = (bi1 & ... & bih) v (bj1 & ... & bjl)
254
in particolare è possibile trasformare la regola:
[xi,xj] :- xk.
o anche
Proposizione 7.6.3
È possibile eseguire una trasformazione da un sistema di regole dato ad un
sistema di regole valido per le variabili binarie tramite sostituzione di variabili.
Esempio:
xi :- xk.
xj :- xk.
{bi1,...,bih} :- xk.
{bj1,...,bjl} :- xk.
da cui R4:
255
br1 :- xk. br2 :- xk. ... brn :- xk.
Esempio:
[xi,xj] :- xk.
Definizione 7.6.4
Data una regola nella forma xk :- x1,x2,x3,...,xn.
diremo che xk è la testa della regola mentre {x1,x2,...,xn} costituisce il corpo
della regola.
Definizione 7.6.5
Consideriamo n variabili binarie ordinate <b1,b2,...,bn>.
Sia B l'insieme di tali variabili bi ∈ B.
Sia p : B --> [0,1] una funzione interpretabile come probabilità definita per
ogni bi ∈ B.
256
Interpretiamo B come sistema di rappresentazione di una realtà esterna R, in
particolare poniamo che ciascun valore binario bk sia in relazione con una
variabile esterna al sistema a cui sono accessibili n stati.
Consideriamo per esempio tre monete.
Tre monete possono trovarsi nelle (2 exp(3) = 8 ) configurazioni:
<TTT>,<TTC>,<TCT>,<TCC>,<CTT>,<CTC>,<CCT>,<CCC>.
Definizione 7.6.6
In particolare le combinazioni possibili per bk e dk divengono:
257
p(bk) = 1 , p(dk) = 0 la configurazione <TTT> è vera
p(bk) = 0 , p(dk) = 1 la configurazione ¬<TTT> è vera
p(bk) = 0 , p(dk) = 0 informazione mancante
p(bk) = 1 , p(dk) = 1 contraddizione
Nel caso in cui p(bk) e p(dk) possano assumere solo valori dell'insieme
{0,1} allora è possibile considerare direttamente il valore binario di bk e dk
nel seguente significato:
<bk | dk>
<1|0> fatto vero
<0|1> fatto negato
<0|0> informazione mancante
<1|1> contraddizione
Definizione 7.6.7
Vediamo il caso di deduzione logica da regole del tipo bi :- bj.
Consideriamo un caso particolare di deduzione che utilizza variabili accoppiate
e che ci fornisce una comoda modalità di propagazione della affidabilità.
rk) bj :- bi.
258
<bi | di> | rk | <bj | dj>
--------------------------------
1 1 | 1 | 0 0 Contraddizione
1 0 | 1 | 1 0 bj :- bi.
0 1 | 1 | 0 1 dj :- di.
0 0 | 1 | 0 0 Manca informazione
1 1 | -1 | 0 0 Contraddizione
1 0 | -1 | 0 1 dj :- bi.
0 1 | -1 | 1 0 bj :- di.
0 0 | -1 | 0 0 Manca informazione
Definizione 7.6.8
Vediamo come sia possibile definire una misura dell'informazione registrata
che tenga conto delle contraddizioni elementari.
Definiamo come misura µ(<bi | di>) sulla coppia bi,di una funzione tale che per
ogni <bi | di> ∈ xi fornisca i seguenti valori:
259
7.7 Sistemi ipotetici in comunicazione reciproca
(fig 7.10)
9) Il processo si ripete.
xk :- x1,x2,...,xn.
Ovvero
261
Elab1 = { xk1 :- x11, x12, ..., x1m1.
xk2 :- x21, x22, ..., x2m2.
...
xkn :- xn1, xn2, ..., xnmn. }
Sel1
{x1,x2,...,xk} -----> {xi}
Elab2 Sel2
1) msg1 ----> {r11,r12,...,r1r} ----> msg2
Elab1 Sel1
2) msg2 ----> {r21,r22,...,r2r} ----> msg3
Elab1 Sel1
3) msg3 ----> {r31,r32,...,r3r} ----> msg4
Elab2 Sel2
k) msg(k) ----> {rk} -----> msg(k+1)
Proposizione 7.7.1
Ogni volta che S1, dopo aver inviato il messaggio msg(i), riceve
un messaggio msg(j), può dedurre che tra le regole di S2 è presente
la regola: msg(j) :- msg(i).
262
In tal caso può inserirla nel proprio sistema di regole.
Durante il processo di comunicazione si produce un allineamento di
comportamento tra S1 ed S2: S1 assorbe la conoscenza sulla struttura di S2 e
viceversa.
Proposizione 7.7.2
263
7.8 Trasformazioni T da |P(X) a |P(X)
(fig. 7.11)
264
Vediamo una interpretazione delle trasformazioni introdotte.
Associando a ciascuna variabile un significato si ottiene una
rappresentazione astratta di una realtà di interesse; per esempio possiamo
associare alle variabili binarie i seguenti significati:
b1 - insieme A
b2 - insieme B
b3 - proprietà P1
b4 - proprietà P2
b5 - oggetto o1
b6 - oggetto o2
b7 - oggetto o3
b8 - oggetto o4
b9 - oggetto o5
Per esempio:
Se GEN(xi) = {b1}, allora la GEN esprime una relazione di appartenenza,
secondo la quale tutti gli elementi di xi appartengono all'insieme A.
Se GEN(xj) = {b3} allora la GEN esprime il fatto che tutti gli elementi di xj
possiedono la proprietà P1.
Se GEN(xk) = {b5} allora la GEN esprime il fatto che gli elementi di xk sono
attributi dell'oggetto o1.
265
Se GEN({A,P2}) = {o1} si può dire che l'oggetto o1 possiede le seguenti
caratteristiche:
appartiene all'insieme A
ha la proprietà P2.
Da notare che
_
La trasformazione GEN : S1 ---> S1 può essere descritta da n
regole del tipo xk :- x1,x2,...,xn.
Esempio:
Allora abbiamo il sistema di regole R1 che descrive gli insiemi definiti dagli
elementi costituenti:
1) A :- o1,o2,o3.
2) B :- o3,o4,o5.
3) P1 :- o2,o3,o4.
4) P2 :- o1,o2,o5.
266
Il sistema di regole corrispondente risulta essere R2 che descrive gli oggetti
definiti dagli attributi posseduti:
1d) o1 :- A,P2.
2d) o2 :- A,P1,P2.
3d) o3 :- A,B,P1.
4d) o4 :- B,P1.
5d) o5 :- B,P2.
(fig. 7.12)
267
Esempio:
R1 Duali
(A - o1) (o1 - A) (o2 - A)
(A - o2) (o1 - P2) (o2 - P1)
(A - o3) (o2 - P2)
Vediamo come sia possibile ricavare dai sistemi di regole descritti, dei
sistemi di regole che esprimano le operazioni di unione ∪ ed intersezione ∩
tra insiemi.
In particolare cerchiamo di costruire il sistema di regole che descriva A ∪ B.
Poichè le relazioni binarie (nell'interpretazione AND) sono:
o1 :- A.
o2 :- A.
o3 :- A.
o3 :- B.
o4 :- B.
o5 :- B.
Le relazioni sono:
o1 :- A,¬P1,P2.
o2 :- A,P1,P2.
o3 :- A,P1,¬P2.
o4 :- ¬A,P1,¬P2.
o5 :- ¬A,¬P1,P2.
o1 :- A.
o2 :- A.
o3 :- A.
o2 :- P1.
o3 :- P1.
o4 :- P1.
o1 :- P2.
o2 :- P2.
o5 :- P2.
269
dalla R5
{A,P1,P2} ---> {o2} corrispondente a P2 ∩ ( A ∩ P1).
dalla R6
{A,P1} ---> {o1,o2,o3,o4} corrispondente ad A ∪ P1
o1 :- (A ∪ P1),P2.
o2 :- (A ∪ P1),P2.
o3 :- (A ∪ P1),¬P2.
o4 :- (A ∪ P1),¬P2.
Definizione 7.8.1
xk :- x1.
xk :- x2.
...
xk :- xn.
xk :- x1,x2,x3,...,xn.
n
iii) diremo interpretazione modulo m le ( ) regole ricavabili
m
dalle relazioni binarie nella forma:
270
xk :- x1,x2,...,xm. 1≤m≤n
Se rm1, rm2 sono regole modulo m1, m2 con m1 > 1, m2 < n, m1 < m2 si ha:
µ(rm1 ∆ rm2) m2 - m1 m1
d(rm1,rm2) = = = 1 -
µ(rm1 ∪ rm2) m2 m2
T(xi) = xj , π(xi) = i
allora
δ(i) = xj \ xi = xk
in altri termini
271
In particolare se:
T π
{x1,x2} ---> {x1,x2,x3} {x1,x2} ---> 1
{x2,x3} ---> {x2,x3,x4} {x2,x3} ---> 2
{x2,x4} ---> {x1,x2,x3,x4} {x2,x4} ---> 3
si ottiene:
δ
1 ---> x3
2 ---> x4
3 ---> x1
3 ---> x4
Definizione 7.8.2
b1 - Titti - t individuo
b2 - Pinguino - p classe di individui
b3 - Uccello - u classe di classi
b4 - Vola - v attributo della classe
272
(fig. 7.13)
in particolare si ha:
p :- t. Titti è un pinguino
u :- t. Titti è un uccello
u :- p. I pinguini sono uccelli
v :- u. Gli uccelli volano
273
Allora applicando le regole si ottiene:
in particolare si ha:
p :- t. Titti è un pinguino
u :- t. Titti è un uccello
u :- p. I pinguini sono uccelli
¬v :- p. I pinguini non volano
v :- u. Gli uccelli volano
274
{t} ---> {p,u} ---> {v,¬v}
prima generazione seconda generazione
fatti originari in questo caso questa deduzione
mostra chiaramente una
contraddizione e pertanto
non apporta alcuna nuova
informazione !!
275
7.9 Rappresentazioni di regole tramite corrispondenze
Definizione 7.9.1
Definizione di regole dominanti.
Siano R1, Rk due insiemi di regole corrispondenti a due trasformazioni:
A) T(S1) = Si ==> Ri
B) T(S2) = Sk ==> Rk
276
Allora diremo che Ri è dominante rispetto ad Rk.
Infatti Sj si deduce da un insieme di premesse più ristretto, in particolare
µ(S1) ≤ µ(S2), pertanto si converrà di utilizzare le regole Ri al posto delle
regole Rk.
Proposizione 7.9.2
Esempio:
277
7.10 Sistemi di regole ricavabili da corrispondenze
µ({x1,x2,...,xk}) = k
µ(Si ∆ Sj)
d(Si,Sj) = per ogni Si, Sj ∈ S1
µ(Si ∪ Sj)
Definizione 7.10.1
Ora se T : S1 --> S1 è una corrispondenza relativa ad un arbitrario insieme di
regole R e Tδ : S1 --> S1 una corrispondenza tale che per ogni Si ∈ S1 vale:
1) T(Si) = Sj
278
allora diremo che Tδ è una corrispondenza che approssima T con
differenza δ.
Definizione 7.10.2
Sia S un insieme di insiemi di |P(X);
S = {S1, S2, ..., Sn} inoltre
prendiamo una trasformazione T : |P(X) ---> |P(X) dalla potenza di X su sè
stessa tale che:
min(µ(Si)) Si ∈ S
Esempio:
279
7) {x2,x4} --> {x1,x2,x3,x4} {x1,x3}
8) {x3,x4} --> {x2,x3,x4,x5} {x2,x5}
9) {x2,x3,x4,x5} --> {x1,x2,x3,x4,x5,x6} {x6}
a) x3 :- x1,x2. dalla 1)
b) x4 :- x2,x3. dalla 5)
c) x1 :- x2,x4. dalla 7)
d) x3 :- x2,x4. dalla 7)
e) x2 :- x3,x4. dalla 8)
f) x5 :- x3,x4 dalla 8)
g) x6 :- x2,x3,x4,x5. dalla 9)
280
7.11 Leggi di riduzione dei sistemi di regole
Definizione 7.11.1
Siano {b1,b2,...,bn} ∈ B n variabili costituenti un sistema di regole del tipo:
Esempio :
b1 :- b2,b3,b4.
b5 :- b3,b8.
b6 :- b3,b8.
è equivalente a:
b1 :- b2,b4.
b5 :- b8.
b6 :- b8.
281
(iv) terza regola di riduzione: dominanza
Se due regole r1 ed r2 presentano la stessa testa e il corpo di r1 è un
sottoinsieme del corpo di r2 allora diremo che r1 domina r2 ed in tal caso r2
può essere eliminata.
Esempio:
r1) b4 :- b2,b3.
r2) b4 :- b1,b2,b3.
282
7.12 Equivalenza di sistemi di regole
Teorema 7.12.1
i) Rc(bj) = xi
-1
ii) Rc (xi) = bj
-1
Rx( ) = Rc(Rb(Rc ( )))
Esempio:
Prendiamo Rc definito da :
x1 :- b1,b2.
x2 :- b1,b3,b4.
x3 :- b4,b5.
x4 :- b6.
x5 :- b4,b7.
283
equivalente ai raggruppamenti:
-1
Il sistema di regole duale Rc è definito da:
b1 :- x1.
b1 :- x2.
b2 :- x1.
b3 :- x2.
b4 :- x2.
b4 :- x3.
b4 :- x5.
b5 :- x3.
b6 :- x4.
b7 :- x5.
x1 :- x2.
x3 :- x4,x5.
x2 :- x3.
b1 :- b1,b3,b4. *
b2 :- b1,b3,b4.
b4 :- b4,b6,b7. *
b5 :- b4,b6,b7.
b1 :- b4,b5.
b3 :- b4,b5.
b4 :- b4,b5. *
284
b1 :- b4,b5.
b2 :- b1,b3,b4.
b3 :- b4,b5.
b5 :- b6,b4,b7.
b1 :- b5.
b2 :- b1,b3.
b3 :- b5.
b5 :- b6,b7.
Rx({x1}) = {x1,x2} ;
Rb({b1,b3,b4}) = {b1,b2,b3,b4} --> {x1,x2}
Rx({x3}) = {x2,x3} ;
Rb({b4,b5}) = {b1,b3,b4,b5} --> {x2,x3}
Rx({x2,x3} = {x1,x2,x3} ;
Rb({b1,b3,b4,b5} = {b1,b2,b3,b4,b5} --> {x1,x2,x3}
Rx({x4,x5}) = {x3,x4,x5} ;
Rb({b4,b6,b7}) = {b4,b5,b6,b7} --> {x3,x4,x5}
285
7.13 Definizione di trasformazioni particolari
(fig. 7.14)
Definizione 7.13.1
_
Prendiamo una trasformazione GEN : S1 ---> S1 definita come:
286
La trasformazione GEN genera ulteriori fatti.
Definizione 7.13.2
_
Prendiamo una trasformazione SEL : S1 x S1 ---> S1 definita come:
Sia GEN(xp) = xj , xp ∈ S1 , xi ∈ S1
consideriamo xk = xi ∩ xj allora
Esempio: GEN
...
...
287
Esempio: SEL
SEL(xi,xp) = xk
SEL(xi,xp) = xk.
Definizione 7.13.3
_
UNO) Sia UNO : S1 ---> S1 una trasformazione che consenta di ricavare
l'insieme di tutte le variabili collegate ad almento una variabile di xi.
UNO(xi) = xk
288
Definizione 7.13.4
_
UNO-SEL) Sia UNO-SEL : S1 ---> S1 una trasformazione che consenta di
ricavare l'insieme di tutte le variabili collegate a tutti gli elementi di xi.
UNO-SEL(xi) = xk
Definizione 7.13.5
_
TUTTI) Sia TUTTI : S1 ---> S1 una trasformazione che consenta di ricavare
l'insieme di tutte le variabili a cui sono legati tutti gli attributi di xi.
posto xk = {bk}
xj = tutti gli oggetti descritti da attributi, GEN(xk), che sono tutti compresi
in xi.
Definizione 7.13.6
_
SIMILI) Sia SIMILI : S1 x |R ---> S1 una classe di trasformazioni dipendente
da δ ∈ [0,1] definita come:
d(GEN(xi),GEN(xj)) < δ
289
cioè che la differenza tra le conseguenze è minore di una certa soglia δ allora
è verosimile che le premesse siano simili(δ).
Esempio:
Definizione 7.13.7
290
Per ogni x ∈ S1 vale cioè la legge di conservazione:
La distanza:
µ(x1 ∆ x2)
d(x1,x2) =
µ(x1 ∪ x2)
d(x1,x2) = d(y1,y2)
(fig. 7.15)
291
7.14 Misura dell'affidabilità delle deduzioni
Definizione 7.14.1
Definizione dell'affidabilità sui fatti.
Consideriamo n variabili binarie : <b1,b2,...,bn>.
Sia X l'insieme di tali variabili bi ∈ X.
Sia Pe : X --->|R una funzione "peso" tale che
Pe(bk) = 1 bk vero
Pe(bk) = -1 bk negato (falso)
Pe(bk) = 0 bk indeterminato
Pe(bk) = p |p| affidabilità (probabilità) di bk.
Sia µ: X ---> |R+ definita come µ(bk) = |Pe(bk)| valore assoluto di Pe(bk).
Se xi = {b1,b2,...,bi} è un insieme di bi ∈ X
µ(xi) = Σ µ(bk) bk ∈ xi
k
Definizione 7.14.2
Definizione dell'affidabilità sulle regole.
Consideriamo un insieme di regole R del tipo
rk) xk :- x1,x2,...,xn. rk ∈ R
Sia Pr : R ---> [-1,1] una funzione "peso della regola" allora Pr(rk) può essere
interpretata come affidabilità di una certa regola rk (verità della regola) con:
292
Pr(rk) = -1 rk applicabile / contraria
Pr(rk) = 0 rk indeterminata / falsa
Pr(rk) = p |p| affidabilità della regola
Sia µr : R -->|R+ definita come µr(rk) = |Pr(rk)| valore assoluto della funzione
peso della regola.
Se wi = {r1,r2,...,ri} è un insieme di regole wi ∈ R
µr(wi) = Σ µr(rk) rk ∈ wi
k
definisce una misura sulla potenza di R.
Definizione 7.14.3
Definizione di regole di deduzione a due valori.
Consideriamo un caso particolare di deduzione che ci fornisce una comoda
modalità di propagazione dell'affidabilità.
Costruiamo le seguenti regole per il calcolo di Pe(xj) sulla base dei valori di
Pe(xi) e Pr(rk):
293
Definizione 7.14.4
Definizione di contraddizione elementare.
Supponiamo di avere due regole r1 ed r2 tali che:
r1) bj :- bi.
r2) ¬bj :- bi.
Proposizione 7.14.5
Definizione 7.14.6
Definizione di affidabilità sui fatti - seconda versione.
Consideriamo n coppie di variabili binarie:
<(b1,d1),(b2,d2),...,(bn,dn)> = <f1,f2,...,fn>
294
sia µ(fi) = µ(bi,di) definita come
µx(xi) = Σ µa(fk) fk ∈ xi
k
è una misura di affidabilità sull'insieme di fatti xi.
µp(xi) = Π µa(fk) fk ∈ xi
k
Proposizione 7.14.7
_
Siano xi,xj ∈ S1 xm,xn ∈ S1
Sia GEN(xi) = xm
GEN(xj) = xn
posto che l'affidabilità dei fatti generati xm, µ2(xm) sia la stessa dei fatti di
partenza:
295
-1
µ2(xm) = µ1(GEN (xm)) = µ1(xi)
e che
GEN(xi ∩ xj) = xm ∩ xn
296
7.15 Interpretazione statistica dell'affidabilità
Proposizione 7.15.1
r1) b1 :- bk.
ne
ii) lim = Pr(bi)
n -> ∞ n
297
Nel caso di configurazioni equiprobabili si otterrà:
1
Pr(bi) = dove nr = numero di stati accessibili
nr
Esempio:
r1) b1 :- bk.
r2) b2 :- bk.
r3) b3 :- bk.
r4) b4 :- bk.
r5) b5 :- bk.
r6) b6 :- bk.
r7) b7 :- bk.
r8) b8 :- bk.
Le regole sopra descritte possono essere riscritte in una notazione migliore nel
modo seguente:
Proposizione 7.15.2
298
[b1,b2,...,bj] :- bk.
m
iii) Σ Ps(ri) = 1 somma della probabilità statistica
i=1 delle regole in alternativa = 1;
in altri termini almeno una delle
regole, in un determinato caso, è
applicabile; in quanto ipotizziamo
l'inserimento di una nuova regola
tutte le volte in cui la iii) non
si dimostra vera in relazione ad un
determinato evento non prevedibile
a priori.
(Allineamento statistico a Pr(ri)).
Allora se
v) µp(xk) = µp(xi) ed è ragionevole ipotizzare che ciò sia vero per ogni
_
xk ∈ S1 e per ogni GEN(xk) = xj ∈ S1
P(xi,xk)
vi) P(xi\xk) = si ha
P(xk)
P(xi,xk)
vii) P(xi\xk) = = P(xk\xi)
P(xi)
299
In particolare se interpretiamo P(xi,xk) nel senso di probabilità che sia vero xi
dato xk, ovvero probabilità che da xk consegua xi otteniamo le seguenti
affermazioni:
Proposizione 7.15.3
Proposizione 7.15.4
Definizione 7.15.5
300
y1 :- x1,x2,...,xk.
y2 :- x1,x2,...,xk.
...
yi :- x1,x2,...,xk.
x1 :- y1,y2,...,yi.
x2 :- y1,y2,...,yi.
...
xk :- y1,y2,...,yi.
Esempio:
y1 :- x1,x2,x3.
y2 :- x1,x2.
x1 :- y1,y2.
x2 :- y1,y2.
x3 :- y1,y2.
x1 :- y2.
x2 :- y2.
riducibile a:
x1 :- y2.
x2 :- y2.
x3 :- y1,y2.
301
Sia M un insieme di messaggi utilizzabili nel colloquio tra S1 ed S2, costituiti
da n variabili binarie, xi ∈ M, xi = {b1,...,bn}.
Il colloquio tra S1 ed S2 può essere descritto da una sequenza di messaggi
Ora S1 può fare tre ipotesi (almeno) sul tipo di risposta che riceverà da S2 in
relazione al messaggio che ha inviato Oi.
302
Analizziamo i singoli casi:
nel caso 1) si ha:
1
P(Ii) = scelta casuale tra n messaggi
n
1
P(Ii1) = P(Oi) la frequenza statistica con cui compare Ii1
k è 1/k volte la frequenza statistica con
cui compare Oi.
1
P(Ii1\Oi) = il messaggio Ii1 corrisponde ad Oi una
k volta ogni k volte.
k
Σ ne(Iij) = ne(Oi)
j=1
303
Proposizione 7.15.6
Per cui si può dire che Oi "implica" xk con affidabilità 1
Proposizione 7.15.7
Inoltre si può dire che xk "è implicato" da Oi con affidabilità 1.
Proposizione 7.15.8
Si vede facilmente che "implica" ed "è implicato" sono due aspetti di una
stessa relazione binaria.
Proposizione 7.15.9
k
Σ ne(Ii)
ne(bk) i=1
i) Ps(bk) = = e poichè
m m
P(bk, Ii)
ii) P(bk\Ii) = 1 = si ha P(bk,Ii) = P(Ii)
P(Ii)
Esempio:
poichè:
P(b1,x1)
P(b1\x1) = 1 = ==> P(b1,x1) = P(x1)
P(x1)
P(xk1,x1)
P(xk1\x1) = 1 = ==> P(xk1,x1) = P(x1)
P(x1)
quindi
ne(x1) 20 ne(x1) 20
P(x1\b1) = = ; P(x1\b2) = =
ne(b1) 95 ne(b2) 50
305
ne(x2) 15 ne(x2) 15
P(x2\b1) = = ; P(x2\b3) = =
ne(b1) 95 ne(b3) 45
ne(x1) 20 ne(x4) 35
P(x1\xk1) = = ; P(x2\xk2) = = = 1
ne(xk1) 30 ne(xk2) 35
306
7.16 Generalizzazione operazioni OR AND XOR
ON ---| ON ---|
|--- ON |--- ON
OFF ---| OFF ---|
2) AND
ON ---|
|--- ON
ON ---|
... ---|
ON ---|
... ---|--- ON
... ---|
4) AND
ON ---|
ON ---|
ON ---|--- ON
ON ---|
307
Un altro modo usuale per definire gli operatori OR ed AND è quello di
utilizzare le tavole di verità:
OR V V | V AND V V | V
VF|V VF|F
FV|V FV|F
FF|F FF |F
Le regole: (OR)
6) x3 :- x1
x3 :- x2
si possono leggere anche: x1 OR x2 implicano x3.
R1) x1 - x3 R11) x3 - x1
R2) x2 - x3 R12) x3 - x2
R3) x2 - x4 R13) x4 - x2
R4) x3 - x4 R14) x4 - x3
R5) x3 - x5 R15) x5 - x3
R6) x4 - x5 R16) x5 - x4
308
R7) x2 - x6 R17) x6 - x2
R8) x3 - x6 R18) x6 - x3
R9) x4 - x6 R19) x6 - x4
R10) x5 - x6 R20) x6 - x5
R21) x3 :- x1,x2.
R22) x4 :- x2,x3.
R23) x5 :- x3,x4.
R24) x6 :- x2,x3,x4,x5.
x3 - x1
x3 - x2 ===> x3 :- x1,x2.
309
R25) x3 :- x1.
R26) x3 :- x2.
R27) x4 :- x2.
R28) x4 :- x3.
R29) x5 :- x3.
R30) x5 :- x4.
R31) x6 :- x2.
R32) x6 :- x3.
R33) x6 :- x4.
R34) x6 :- x5.
x3 :- x1. <=== x1 - x3
310
ESEMPIO:
S0 = {x1,x2}
S1 = {x1,x2,x3,x4,x6}
S2 = {x1,x2,x3,x4,x5,x6}
dato x1 e x2 se ne deduce x5 ?
? x5 :- x1,x2. (GOAL)
311
a cui attribuiamo il valore di verità V vero.
Consideriamo le relazioni da R1) a R20) e le regole OR da R25) a R34).
Target
x1 V | |
x2 V | |
| x3 V 25) |
| x4 V 27) |
| x6 V 31) |
| | x5 V 29) ==> GOAL
| |
Target
x1 V | | | |
x2 V | | | |
| x3 V 21) | | |
| x4 F | x4 V 22) | |
| x6 F | x5 F | x5 V 23) |==> GOAL
| | x6 F | x6 F | x6 V 24)
Dove, per esempio, x4 nella prima generazione non risulta vero poichè il
fatto x3 non risulta ancora vero.
Invece, x3 risulta vero sulla base della regola R21) x3 :- x1,x2 essendo x1 ed
x2 entrambi veri.
Ad ogni generazione i fatti non veri vengono eliminati dal target.
312
e ci chiediamo quali fatti debbono essere veri affinchè sia vero x5. In altri
termini, nel caso Backward, partiamo da x5 e ci chiediamo, tra i fatti che
sono in relazione con x5, quali implicano x5.
? xj :- xi, xj = x5.
Target
x5 F | | | |
| x6 F | | |
| x3 F | | |
| x4 F | | |
| | x1 V G | |
| | x2 V G | |
| | | x3 V 25) |
| | | x4 V 27) |
| | | x6 V 31) |
| | | | x5 V 29) ==> GOAL
In questo caso l'algoritmo non esclude i fatti falsi fino a che non siano
istanziati tutti i fatti del GOAL.
La notazione x1 V G sta per x1 è vero dal GOAL.
? xj :- xi, xj = x5.
313
Target
x5 F | | | | |
| x6 F | | | |
| x3 F | | | |
| x4 F | | | |
| | x1 V G | | |
| | x2 V G | | |
| | | x3 V 25) | |
| | | x4 F | x4 V 22) |
| | | x6 F | x5 F | x5 V 23) ==>GOAL
| | | | x6 F | x6 F
| | | | |
P2) AND - Tutti i fatti del corpo della regola sono presenti nel target.
Esempio:
E1) OR
x1 V |
x2 V |
| x3 V x3 :- x1
| x4 V x4 :- x2
314
E2) AND
x1 V |
x2 V |
| x3 V x3 :- x1,x2
| x4 F x4 :- x2,x3 (x3 è falso)
SIM(δ) - Se una percentuale di fatti del corpo della regola sono presenti nel
target in misura maggiore di δ, dove δ rappresenta una soglia arbitraria allora la
testa della regola è da considerarsi una induzione con una certa probabilità
dipendente da δ.
Esempio: Se dai fatti x1,x2,...,xk deduco xi allora dai fatti x1,x2,...,x(k-h)
posso indurre xi con una probabilità dipendente da h.
315
7.17 Implicazione semantica di raggruppamento
oppure Vm(P) = u
oppure Vm(P) = c
1
/ \
u c
\ /
0
per cui una proposizione può essere sconosciuta (u), divenire vera (1) o falsa
(0), quindi, eventualmente risultare contraddittoria (c).
1 = m(A) → m(B) = 1.
316
Per comprendere questa distinzione introduciamo il concetto di variabile
irrilevante.
Consideriamo la reguente regola:
1) {b2,b3} :- {b1,b2}.
equivalente a
2) (b1 & b2) -> (b2 & b3)
3) b3 :- b1.
o anche
4) b1 -> b3.
i) (b1 -> b3) -> ((b1 & b2) -> (b2 & b3)) è una tautologia
ii) ((b1 & b2) -> (b2 & b3)) -> (b1 -> b3) non è una tautologia
Definizione 7.17.1
317
pα = <1 1> = b1 & b2
pβ = <1 0> = b1 & ¬b2
pτ = <1 *> = b1 & (b2 v ¬b2) => b1
allora
iii) pα ⇒ pτ e pβ ⇒ pτ
A = b1 & b2
B = b1 & ¬b2
C = b1 & (b2 v ¬b2)
D = ¬b1 & b2
E = ¬b1 & ¬b2
F = ¬b1 & (b2 v ¬b2)
allora anche
è soddisfatta.
318
Utilizziamo quanto descritto nel capitolo 7.1 sulla rappresentazione tramite
proprietà; in particolare riprendiamo le definizioni di lub e glb.
p1 = <1 1 0 | 0 0 1>
p2 = <1 0 1 | 0 1 0>
δ = <0 1 1 | 0 1 1> = p1 ∆ p2
allora
lub ≈ b1
319
Prendiamo i seguenti sistemi di regole:
R1 - b4 :- b1, b2.
b5 :- b1, b3.
R2 - b4 :- b1,b2,¬b3.
b5 :- b1,¬b2,b3.
R3 - b4 :- b1,b2,(b3 v ¬b3).
b5 :- b1,(b2 v ¬b2),b3.
Allora si ha:
R1({b1,b2,b3}) = {b4,b5}
R3({b1,b2,b3}) = {b4,b5}
D'altra parte b1 & b2 & b3 -> b1 & b2 -> b4 per R1 ma non per R2.
AND) b1 & b2
OR) b1 v b2
320
b1 b2 | b1 v b2 | b1 & b2 | b1 x b2
---------------------------------------------
0 0 | 0 | 0 | 0
0 1 | 1 | 0 | 1
1 0 | 1 | 0 | 1
1 1 | 1 | 1 | 0
---------------------------------------------
poniamo x1 :- b1 v b2
x2 :- b1 & b2
x3 :- b1 x b2
AND) - x2 :- b1,b2.
XOR) - x3 :- b1,d2.
x3 :- b2,d1.
321
XOR) - x3 :- b1,d2. sono quattro bit di informazione
x3 :- b2,d1.
Proposizione 7.17.1
322
(fig. 7.16)
la risposta si può ottenere ricercando quali fatti sono in relazione con il fatto
x3:
x3 | |
| x1 |
| x2 |
| x4 |
| x5 |
| | x6
e quindi selezionare tra tali fatti quelli che sono implicati dal fatto x3.
x3 |
| x2
| x5
323
cosa è implicato dal fatto x3 ?
la risposta si può ottenere ricercando quali fatti sono in relazione con il fatto
x3:
x3 | |
| x1 |
| x2 |
| x4 |
| x5 |
| | x6
x3 | | SEL | |
| x1 | | x1 |
| x2 | | x2 |
| x4 | | x4 |
| x5 | | |
| x6 | | | x6
324
7.18 Conclusioni
325
D'altra parte un approccio teorico che affronti i problemi alla radice della
rappresentazione è sempre preferibile ad un approccio che utilizzi euristiche di
risoluzione basate sulle particolarità contingenti di codifica delle informazioni.
Il presente lavoro costituisce un ponte di collegamento tra la programmazione
logica e le reti neurali.
326
BIBLIOGRAFIA
327
Casadei Giorgio A., Teolis Antonio G.B., Prolog: dalla
programmazione all'intelligenza artificiale, Zanichelli, Bologna 1986.
Ceri S., Gottlob G., Tanca L., Logic Programming and Databases,
Springer Verlag, Germany 1990.
Lashley Karl S., La fisica della mente, Boringhieri editore, Torino 1969.
328
Makinson David C., Temi fondamentali della logica moderna,
Boringhieri editore, Torino 1979.
Nilsson Nils J., Metodi per la risoluzione dei problemi nella intelligenza
artificiale, Franco Angeli editore, Milano 1982.
329