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(Agente,ls) Brezza(s) Ventoso(l) l,s A(Agente,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(Agente,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