Professional Documents
Culture Documents
interesse per sistemi per la dimostrazione automatica di teoremi e studio di meccanismi efficienti per la dimostrazione
Anti-logicisti
approcci non logici alla rappresentazione della conoscenza e al ragionamento
Posizione intermedia
logica come strumento di analisi e per fornire una semantica realizzazione concreta mediante strumenti non logici
Vedremo
richiami di logica del primo ordine
sintassi, semantica, inferenza
logica come linguaggio base di rappresentazione e inferenza limiti della logica del primordine come strumenti di base per analizzare altri formalismi di AI
Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 2
Sintassi
Linguaggio caratterizzato dai seguenti insiemi:
Insieme finito C di simboli di costante {c1, c2, , cn} Insieme finito V di simboli di variabile {X1, X2, , Xm} Insieme finito F di simboli di funzione {f1, f2, , fk} Insieme finito P di simboli di predicato {p1, p2, .. pl} Connettivi: , , , , Quantificatori: , Parentesi: (, )
Si definiscono quindi
Termini
ogni costante un termine; ogni variabile un termine lapplicazione di un qualunque simbolo di funzione f a n termini t1, , tn produce un temine f(t1,t2,,tn)
Esempi se C = {mario, maria, giovanni} V= {X,Y} F={padre, madre} sono termini: mario, maria, X, padre(X), madre(padre(maria)), Formule atomiche
un predicato pP applicato a n termini una formula atomica
Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 3
Esempi: se C, V, F come prima e P= {fratello, genitore, sposato} sono formule atomiche: sposato(mario), fratello(X,Y), fratello(X,maria) genitore(padre(X),X), genitore(X, padre(madre(maria))), Formule ben formate (FbF)
una formula atomica una FbF se F1 e F2 sono FbF, allora lo sono anche F1, F1 F2, F1 F2, F1 F2, F1 F2, x F1, x F1, (F1)
Esempi, dati C, V, F e P come negli esempi precedenti, sono FbF sposato(mario), fratello(X,Y), fratello(X,maria) sposata(maria), x genitore(padre(X),X), x( genitore(X, padre(madre(maria)))) x (sposato(X,Y) Z padre(Z,Y)))
Scope di un quantificatore
data x F (x F), si dice che F lo scope del quantificatore
variabile legata se occorre nello scope di un quantificatore, altrimenti variabile libera Formule chiuse se non contengono variabili libere Formule ground, se non contengono variabili
Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 4
Semantica
Consideriamo formule chiuse Interpretazione:
dominio D in cui sono definite funzioni e relazioni interpretazione associa
un elemento d D ad ogni simbolo di costante una funzione f: Dn a D ad ogni simbolo di funzione a n argomenti una relazione R Dn ad ogni simbolo di predicato con n argomenti
Due formula F1 e F2 sono equivalenti (F1 F2) sse sono soddisfatte dalle stesse interpretazioni
Diverse equivalenze tra formule possono essere dimostrate usando le tabelle di verit, ad esempio
F1 (F2 F3) (F1 F2) (F1 F3) (prop. distributiva, idem altre ) F1 F2 (F1 F2) (leggi di deMorgan, idem scambiando or e and) X p(X) X p(X) .
First Order Logic 6
Conseguenza logica
una formula G conseguenza logica di una formula F (indicato con F |= G) sse ogni modello di F anche un modello di G Esempi p(a) p(b) |= p(a) p(a) p(b) |= p(a) p(b) p(a) |= X p(X) ma X p(X) |=/= p(a) X p(X) |= X p(X) X p(X) |= p(a1) p(an)
Teorema di dimostrazione:
Se F soddisfacibile, allora G conseguenza logica di F sse F G insoddidfacibile Dimostrazione se G conseguenza logica di F allora ogni modello di F soddisfa G, quindi non soddisfa G e quindi F G insoddisfacibile se F G insoddisfacibile allora poich F soddisfacibile si deve avere che ogni modello di F non soddisfa G, ossia ogni modello di F soddisfa G e quindi G conseguenza logica di F
Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 7
Esempio
p(a) p(b) |= p(a) I = { a=2, b=4, p=pari } p(a) p(b) soddisfacibile (I la rende vera) p(a) conseguenza logica perch p(a) p(b) p(a) insoddisfacibile Infatti p(a) non pu essere contemporaneamente vera e falsa a
Forma a clausole
Trasformazione delle formule in una forma sintattica particolare Una formula F in forma prenessa se ha la forma Q1X1 QmXm(F) dove ogni Qi un quantificatore
Propriet: ogni formula pu essere trasformata in una equivalente in forma prenessa Esempi:
X p(X) Y p(Y) non in forma prenessa X Y(p(X) p(Y)) equivalente in forma prenessa X Y (p(X) p(Y)) in forma prenessa
Propriet: data F in forma prenessa e sua trasformata F in forma normale di Skolem si ha che F soddisfacibile sse F soddisfacibile (ma non sono equivalenti!)
Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 9
Una formula F in forma normale di Skolem in forma a clausole se F una congiunzione di disgiunzioni ( in forma normale congiuntiva), ossia F ha la forma
F: (A1 A2 An) (B1 B2 Bn) in cui
ogni Ai (Bj) una formula atomica o la sua negazione (un atomo)
Ogni disgiunzione di atomi prende il nome di clasuola Una formula un insieme (congiunzione) di clausole Un atomo o la sua negazione prende il nome di letterale
Propriet: ogni formula in forma di Skolem pu essere trasformata in una formula equivalente in forma a clausole Quindi
data una formula F e la sua trasformazione in un insieme S di clausole si ha che F soddisfacibile sse S soddisfacibile per la dimostrazione automatica di teoremi quindi sufficiente operare su forma a clausole
10
11
Universo di Herbrand
dato un insieme S di clausole, luniverso di Herbrand H(S) per s definito come H(S) contiene i simboli di costante che occorrono in S se f un simbolo di funzione n-aria che occorre in S e h1, , hn sono elementi di H(S), allora anche f(h1,..,hn) sta in H(S) Esempio se S={p(a), p(X), q(Y), q(f(Y)} H(S)={a, f(a), f(f(a), .. }
Base di Herbrand
dato un insieme S di clausole e luniverso di Herbrand H(S) per S, la base di Herbrand B(S) linsieme delle istanze ground delle formule atomiche (atomi) che occorrono in S Esempio dati S e H(S) come nellesempio precedente B(S) ={p(a), p(f(a)), p(f(f(a)), .., q(a), q(f(a)), q(f(f(a)),. }
12
Interpretazione di Herbrand
interpretazione di un insieme S di clausole in cui il cui dominio luniverso di Herbrand H(S) ogni simbolo di costante interpretato sulla corrispondente costante in H(S) ogni simbolo di funzione interpretato come una funzione che trasforma h1,.., hn in f(h1,.., hn) (tutti in H(S)) ogni simbolo di predicato in una relazione su B(S)
Osservazione
definire una interpretazione di Herbrand corrisponde a dire quale sottoinsieme della base di Herbrand vera nellinterpretazione
Interpretazioni di Herbrand giocano un ruolo importante in quanto ci si pu limitare ad esse nella dimostrazione di teoremi, infatti: Un insieme S di clausole insoddisfacibile sse non esiste una interpretazione di Herbrand che lo soddisfa
quindi nel processo di dimostrazione ci si pu limitare a considerare tali interpretazioni
Regole di inferenza
Regole di inferenza: regole sintattiche che permettono di derivare formule da altre formule
Esempio: modus ponens A AB B
data regola di inferenza R, la possibilit di derivare una formula F da un insieme di formule K indicato con K |-R- F Correttezza di R: se K |-R- F allora K |= F Completezza di R: se K |= F allora K |-R- F Esempio modus ponens regola corretta ma non completa
Una singola regola di inferenza per dedurre nuove formule da altre formule e che opera sulla forma a clausole
regola opera su clausole regola di inferenza corretta e completa per la forma a clausole regola facilmente meccanizzabile
14
La regola di risoluzione
Caso della logica proposizionale
Due letterali si dicono opposti se uno la negazione dellaltro date due clausole con letterali opposti C1: L C1 C2: L C2 un risolvente di C1 e C2 la clausola C: C1 C2
C1: L C1 C2: L C2
C: C1 C2
15
Sostituzione
una sostituzione un insieme finito di coppie del tipo {t1/X1, , tn/Xn} in cui ogni ti un termine e ogni Xi una variabile (e le variabili sono distinte) sia E una espressione (termine o formula) e s= {t1/X1, , tn/Xn} una sostituzione, allora Es lespressione che si ottiene sostituendo in modo simultaneo le occorrenze di ogni Xi con ti in E Esempi
P(X,Y) {a/X, f(b)/Y} = P(a,f(b)) P(X,Y) {Y/X, f(b)/Y} = P(Y,f(b))
Composizione di sostituzioni date due sostituzioni s1 = {t1/X1, , tn/Xn} e s2 = {t1/Y1, , tm/Ym} la sostituzione composta s1 s2 (o s1s2) definita come s1s2 = {t1s2/X1, , tns2/Xn, t1/Y1, , tm/Ym} Esempio: {a/X, f(Y)/Z} {b/Y} = {a/X, f(b)/Z, b/Y}
16
Sostituzione pi generale: una sostituzione s pi generale di una sostituzione t sse esiste una sostituzione r tale per cui t=sr esempio: s= {Y/X} pi generale di t= {a/X} infatti r= {a/Y}
Unificatore
date due espressioni (termini o formule) E1 e E2, una sostituzione s un unificatore per E1 e E2 sse E1s = E2s Esempio
s= {a/X, f(b)/Y} un unificatore per E1=p(X,f(b)) E2=p(a,Y)
Unificazione
due espressioni E1 ed E2 sono unificabili se esiste un unificatore Esempio
E1=p(X,f(b)) E2=p(a,Y) sono unificabili E1=p(X,X) E2=p(Y,f(Y)) non sono unificabili
17
Algoritmo di unificazione:
algoritmo che determina lunificatore pi generale di due espressioni E1 ed E2 SOST unifica(termine E1, E2, SOST s) { termine a,b; SOST s1; if (s==fail) return(fail); a=E1s; b=E2s if (a e b sono costanti e a==b) return(s); if (a una variabile e b un termine e a non occorre in b) return(s {b/a}); if (b una variabile e a un termine e b non occorre in a) return(s {a/b}); if (a e b sono termini composti con lo stesso simbolo di funzione e stesso numero di argomenti) { for(int i=1; i n, i++) { s1= unifica(i-esimo termine di a, i-esimo termine di b, s); s = s s1 }; return(s) } else return(fail) }
Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 18
Risoluzione
Date due clausole C1 e C2 con letterali opposti C1: L C1 C2: L C2 con L e L unificabili e s unificatore pi generale Un risolvente la calusola C: (C1 C2)s
C1: L C1 C2: L C2
C: (C1 C2)s
Esempi
p(X) q(X) p(a) r(b) p(X,Y) q(f(X),Y) q(f(a),Z) r(b)
q(a) r(b)
p(a,Z) r(b)
Anche nel caso della logica del primordine il risolvente conseguenza logica delle due clausole Risoluzione regola di inferenza corretta e completa
Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 19
Esempio
dati T= {p(X) q(X) r(X), p(a), s(a), s(X) q(X) } e A=r(a) in forma a clausole {p(X) q(X) r(X), p(a), s(a), s(X) q(X) } verificare che {p(X) q(X) r(X), p(a), s(a), s(X) q(X) } {r(a) } inconsistente
p(X) q(X) r(X), p(a) q(a) r(a) s(X) q(X) p(a) s(a)
20
Dimostrazione = ricerca
insieme di clausole applicare risoluzione tra calusole produce nuove clausole: grafo (albero) di risoluzione obiettivo: arrivare alla clausola vuota stretegia: costruzione dellalbero effettuando la ricerca della clausola vuota spazio di ricerca ampio: strategie di risoluzione
strategia dellinsieme di supporto
poich T consistente inutile risolvere tra di loro clausole di T T insieme di supporto ad ogni passo si risolvono clausole in cui al pi una nellinsieme di supporto
input-resolution
si definicse come insieme di input quello formato dalle clausole di T e A ad ogni passo una delle due clausole deve essere una di input
risoluzione lineare
ad ogni passo risolvo la clausola ottenuta dalla risoluzione precedente con una delle altre (di input o ottenuta ad un passo precedente)
risoluzione linear-input
ad ogni passo risolvo la clausola ottenuta dalla risoluzione precedente con una di quelle di input Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 21
22
Quindi logica permette di caratterizzare le forme di ragionamento Limiti della logica nel modellare il ragionamento umano
logiche non-standard
23