Inferenza nella logica dei predicati del
primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Sostituzioni e quantificatori
Sost( , ) applica la sostituzio ne alla formula
Sost({ x / Sam, y / Pam}, Piace( x, y )}) Piace ( Sam, Pam)
Eliminazio ne degli universali
da x Piace(x,Gelato) sostituend o {x/Ben} si ha Piace(Ben, Gelato)
Eliminazio ne degli esistenzia li
da x Uccide(x,Vittima) possiamo inferire Uccide (Assa sin o,Vittima)
(Assassino è una qualsisasi costante che non compare nella formula)
Introduzio ne degli esistenzia li
da Piace(Gerry,Gelato) possiamo inferire xPiace( x, Gelato)
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Dalle formule :
Buffalo ( Bob )
Pig ( Pat )
x, y Buffalo ( x) Pig ( y ) Faster ( x, y )
si inferisce la nuova formula : Buffalo ( Bob ) Pig ( Pat )
e col Modus Ponens : Faster(Bob , Pat)
MODUS PONENS
se c' è una sostituzio ne tale che Sost (,pi ) Sost (,pi' ) i
p1' , p'2 ,..., p'n , ( p1 p2 ... pn q )
Sost (,q)
p1 p2 ... pn q è una formula di Horn (un solo letterale positivo
in una disgiunzio ne)
cioè : p1 p2 ... pn q
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
UNIFICAZIONE
La funzione UNIFICA prende due formule atomiche p e q e
restitusce una sostituzione che renda p e q uguali.
UNIFICA( p, q) dove Sost ( , p ) Sost ( , q)
esempi :
UNIFICA(Conosce(John,x),Conosce(John, Jane)) {x/Jane}
UNIFICA(Conosce(John,x),Conosce(y,Leo nid)) {x/Leonid , y / John}
UNIFICA(Conosce(John,x),Conosce(y,Mad re( y ) )) {y/John , x / Madre ( John) }
UNIFICA(Conosce(John,x),Conosce(x,Jane)) fail
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Refutazion e (dimostraz ione per assurdo)
( KB P False ) ( KB P)
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
Si consideri il problema “se Marcia va ovunque vada John, e John
è a scuola, dovè Marcia?”
Assiomi :
(y ) AT ( John, y ) AT ( Marcia , y )
AT ( John, school )
Domanda " Dov' è Marcia ?" (x) AT ( Marcia , x)
Negazione della domanda : (x) AT ( Marcia , x)
Che si può scrivere come : (x)AT ( Marcia , x)
In forma a clausole :
AT ( John, y ) AT ( Marcia , y )
AT ( John, school )
AT ( Marcia , x)
Ingegneria della conoscenza e sistemi esperti
Dario Bianchi , 1999
Inferenza nella logica del primo ordine
AT ( Marcia , x)
AT ( John, y ) AT ( Marcia , y )
{ y / x}
AT ( John, x)
AT ( John, school )
{x / school}
Sostituzione di risposta: {x / school}
Sostituendo nella domanda:
Ingegneria della conoscenza e sistemi esperti
AT ( Marcia , x)
Dario Bianchi , 1999