Conoscenza e ragionamento
Logica dei predicati del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
La logica dei predicati del primo ordine permette di rappresentare:
•Oggetti: persone, cose, numeri etc.
•Relazioni: fratello, maggiore, parte di etc.
•Proprietà: rosso, primo, grande etc.
•Funzioni: successore, somma, padre di etc.
Esempi:
“Uno più due uguale tre” - uno,due,tre sono oggetti, più è una funzione, uguale è
una relazione
“Il diabolico Re Giovanni imperversò in Inghilterra nel 1200”
Giovanni, Inghilterra e 1200 sono oggetti, imperversò è una relazione, re e
diabolico sono proprietà
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
Sintassi
•Simboli di costante: A,B,C,Giovanni
•Simboli di predicato: Tondo, Fratello
•Simboli di funzione: Padre_di, Quadrato
Termini:
I simboli di costante sono termini es. Giovanni
Applicando una funzione n-adica a una n-pla di termini si ottiene un termine es.
Padre_di(Giovanni)
Formule atomiche: Formata da un simbnolo di predicato seguito da una lista di
termini es:
Fratello(Riccardo,Giovanni)
Sposati(Madre_di(Riccardo),Padre_di(Riccardo))
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
Sintassi
Formule complesse:
si ottengono dalle formule atomiche usando i connetivi logici
,,, ,
Fratello ( Riccardo , Giovanni) Fratello (Giovanni, Riccardo )
PiùGrande(Giovanni,30) PiùGiovane( Luigi ,30)
PiùGrande(Giovanni,30) PiùGiovane(Giovanni,30)
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
Semantica
Per dare un significato a una formula bisogna interpretarla come
una affermazione sul dominio del discorso.
Un dominio D è un insieme non vuoto (anche infinito) ad es.
Insieme di persone, l’insieme dei naturali etc.
Una interpretazione si ottiene associando
•ad ogni simbolo costante un elemento di D
•ad ogni simbolo di funzione una funzione su D
•ad ogni predicato n-ario una relazione n-aria su D
Ad ogni formula atomica si assegnare un valore vero o falso
Ad ogni formula complessa si assegna un valore vero o falso
utilizzando le tavole di verita
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
Semantica
Esempio di interpretazione
Sia data la formula
P(a,f(b,c))
Una possibile interpretazione è:
D è il dominio degli interi
•a è l’intero 2
•b è l’intero 4
•c è l’intero 6
•f è la funzione addizione
•P è la relazione maggiore di
In questa interpretazione si afferma che: “2 è maggiore di 4 + 6” .In questa
interpretazione la formula ha valore falso
In una seconda interpretazione possiamo dire a è l’intero 11e la formula assume
valore vero
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
Variabili e quantificatori
Quantificatore universale:
supponiamo che P sia la relazione MaggioreUguale
P(0,0) P(1,0) P(2,0) ... P(100,0)
(x) P( x,0)
Quantificatore esistenziale:
supponiamo che Q sia una qualche proprietà
Q(a) Q(b) Q(c)...
(x)Q( x)
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
Variabili e quantificatori
Quantifica tori annidati
(x)(y ) P( x, y )
(x)(y ) P( x, y )
(l' elemento y che esiste dipende a x)
Valgono le segeunti equivalenz e
(x)W ( x) (x)W ( x)
(x)W ( x) (x)W ( x)
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
PARENTELE
(m, c)Madre(m, c) Femmina(m) Genitore(m , c)
(p, c)Genitore (p, c) Figlio(c, p)
(g, c)(Nonno(g , c) (p)Genitore (g, p) Genitore(p , c))
(x, y)(Fratell o(x, y) x y (p)Genitore (p, x) Genitore(p , y))
da :
Genitore(Giovanni, Mario ) Genitore(Giovanni, Luca )
si inferisce :
Fratello ( Mario , Luca )
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Agenti Logici
Logica dei predicati del primo ordine
TELL(KB, (xy)(Fratel lo(x, y)
x y (p)(Genitor e(p, x) Genitore(p , y))))
TELL(KB, Genitore(G iovanni, Mario))
TELL(KB, Genitore(G iovanni, Luca))
si può chiedere :
ASK ( KB, Fratello ( Mario , Luca ))
la risposta sarà si.
ASK ( KB, (x)Genitore(Giovanni, x))
la risposta sarà : {x/Mario} oppure {x/Luca}
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
Nel calcolo delle
situazioni, il mondo è
una sequenza di
azioni collegate da
azioni
A( Agente, [1,1], So ) A( Agente, [2,1], S1 )
Risulta ( Avanza, S0 ) S1 Risulta (Gira ( Destra ), S1 ) S 2 Risulta ( Avanza, S 2 ) S3
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
Agente stimolo -risposta
Rappresentiamo una percezione come una lista
Percezione([Fetore,Brezza,Luccichio],5)
Percezione([Nulla,Nulla,Nulla],5)
Azioni: Avanza, Gira(Destra), Gira(Sinistra), Afferra, Spara etc.
Regole stimolo - risposta
( s, b, t ) Percezione ([ s, b, Luccichio ], t ) AllOro (t )
t AllOro(t) Azione ( Afferra, t )
Interrogaz ione KB
a Azione (a,5)
Risposta : {a / Afferra}
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
Calcolo delle situazioni
Assiomi degli effetti :
Effetto delle azioni (s è una situazione , a una azione) :
s Detiene( Risulta(Af ferra,s))
s Detiene(Ri sulta(Rila scia,s))
Assiomi di frame :
Ciò che non cambia nel mondo dopo l' azione a
a, s Detiene ( s ) a Rilascia Detiene ( Risulta (a, s ))
a, s Detiene ( s ) a Afferra Detiene ( Risulta (a, s ))
Detiene(s) significa che l' agente ha l' oro nella situazione s
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Logica dei predicati del primo ordine
l,s A(Agen te,ls) Brezza(s) Ventoso(l)
l,s A(Agen te,ls) Fetore(s) Fetido(l)
Regole causali :
l1,l 2 ,s A(Wumpus, l1, s ) Adiacente(l1, l 2) Fetido(l 2)
l1,l 2 ,s A( Buca , l1, s ) Adiacente(l1, l 2) Ventoso(l 2)
l,s A(Agen te,ls) Fetore(s) Fetido(l)
Regole diagnostic he :
l,s A( Agente, l , s ) Brezza ( s ) Ventoso(l )
l,s A( Agente, l , s ) Fetore( s ) Fetido(l )
Per dedurre la presenza di un Wumpus :
l1, s Fetida(l1) (l 2 A(Wumpus, l 2, s )
(l 2 l1 Adiacente( L1, l 2))
Dedurre che una locazione è sicura :
l1,l 2, g, s Percezione ([ Nulla , Nulla , g ], t )
A( Agente, l1, s ) Adiacente(l1, l 2) Sicuro ( y )
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999