Sei sulla pagina 1di 12

Logica del primo ordine

Sistema formale sviluppato in ambito matematico


formalizzazione delle leggi del pensiero strette relazioni con studi filosofici

In ambito Intelligenza Artificiale


logica come linguaggio formale per la rappresentazione di conoscenza
semantica non ambigua sistemi formali di inferenza

interesse per sistemi per la dimostrazione automatica di teoremi e studio di meccanismi efficienti per la dimostrazione

Logica come strumento base in molti iniziali studi di AI


logica del primo ordine come linguaggio di descrizione logica come sistema di ragionamento

Estensioni della logica del primo ordine


estensioni del potere espressivo (e strutturazione) estensione delle forme di inferenza (logiche non-monotone)

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

Grande dibattito sul ruolo della logica in AI


Diverse scuole di pensiero Logicisti: logica come strumento di base per qualunque problema di AI
formalizzazione logica del problem solving automatizzazione dei sistemi formali di ragionamento logico

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

sistemi di dimostrazione automatica


risoluzione e strategie di risoluzione

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

Interpretazione I soddisfa una formula F (F vera in I):


se F una formula atomica p(t1,,tn), allora I soddisfa F (F vera in I) sse <I(t1),, I(tn)> I(p) se F una formula composta allora (usuali tavole di verit)
F1 vera in I sse F1 non vera in I F1 F2 vera in I sse sia F1 che F2 sono vere in I F1 F2 vera in I sse almeno una tra F1 e f2 vera in I F1 F2 falsa in I sse F1 vera in I e F2 falsa in I F1 F2 vera in I sse F1 e F2 sono entrambe o vere o false in I x F1 vera in I sse per ogni elemento d D si ha che F1[d/x] vera in I x F1 vera in I sse esiste un elemento d D per cui F1[d/x] vera in I
First Order Logic 5

Console, Botta - Dip. Informatica, Univ. Torino

Esempio D dominio dei numeri naturali, interpretazione I definita in modo ovvio


pari(2) vera in I X pari(X) vera in I X (pari(X) dispari(X)) vera in I X (pari(X) dispari(X)) falsa in I pari(1) falsa in I X pari(X) falsa in I X (pari(X) dispari(X)) vera in I

Data una formula F


F soddisfacibile sse esiste una interpretazione I che la rende vera; I si dice un modello di F (I |= F) F insoddisfacibile sse non esiste una interpretazione che la soddisfa F valida sse ogni interpretazione soddisfa F

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

Console, Botta - Dip. Informatica, Univ. Torino

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

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

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

F in forma standard di Skolem se F in forma prenessa e tutti i quantificatori sono universali


Eliminazione dei quantificatori esistenziali sostituiti con costanti e funzioni di Skolem
Yp(Y) sostitituito con p(s1) con s1 nuova costante X Yp(Y,X) sostituito con p(f(X),X) con f nuova funzione

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

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

10

Dimostrazione automatica di teoremi


Procedure automatiche per dimostrare se una formula valida o insoddisfacibile e quindi in grado di dimostrare se una formula G conseguenza logica di una formula F In generale per dimostrare che F insoddisfacibile si dovrebbero verificare tutte le possibili interpretazioni Risultato importante di Herbrand [1930] consente di
limitare lanalisi a una classe di interpretazioni (interpretazioni di Herbrand) definire un modo automatico per la verifica di soddisfacibilit usando una forma di rappresentazione particolare delle formule: il principio di risoluzione [Robinson 65] realizzazione efficiente a calcolatore del principio di risoluzione e costruzione di dimostratori automatici di teoremi realizzazione di linguaggi di programmazione (e di rappresentazione della conoscenza) basati su tale principio (programmazione logica)

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

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)),. }

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

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

Vedremo principio di Risoluzione basato su tale idea


Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 13

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

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

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

Propriet: C conseguenza logica di C1 e C2 Esempi


PQ QR P R PQ P R S Q R S

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

15

caso della logica del primo ordine


sostituzioni e unificazione regola di risoluzione

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}

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

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)

Unificatore pi generale: sostituzione pi generale che unifica due espressioni Esempio


s= {Z/X, f(b)/Y} lunificatore pi generale per E1=p(X,f(b)) E2=p(Z,Y) s= {a/X, f(b)/Y, a/Z} non l unificatore pi generale per E1=p(X,f(b)) E2=p(Z,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

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

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

Dimostrazione per refutazione


Dimostrazione di teoremi: data teoria T, dimostrare che A segue logicamente da T Equivalente a dimostrare che T A inconsistente
si considera linsieme di clausole formato da T e A si verifica se da questo insieme si riesce a derivare una contraddizione contraddizione: due clausole formate da un singolo letterale L e L che quando risolte producono la clausola vuota

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)

p(a) s(a) s(a)

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

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

Osservazione: non tutte le strategie sono complete


Es. linear-input in generale non completa; completa solo su linguaggi ristretti (clausole di Horn)

Strategie di ricerca simili a quelle usate in problem solving in AI


profondit ampiezza ricerca euristica varie euristiche
lunghezza delle clausole predicati presenti nelle clausole ...

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

22

Applicazioni AI della logica classica


Dimostrazione automatica di teoremi Logica come linguaggio di rappresentazione della conoscenza e dimostrazione di teoremi come forma di ragionamento Logic Programming Limiti della logica come forma di rappresentazione
struttura piatta delle clausole

Altri linguaggi di rappresentazione hanno semantica in termini logici


ad esempio frame o reti semantiche possono essere formalizzati in termini logici

Quindi logica permette di caratterizzare le forme di ragionamento Limiti della logica nel modellare il ragionamento umano
logiche non-standard

Console, Botta - Dip. Informatica, Univ. Torino

First Order Logic

23

Potrebbero piacerti anche