Appunti del corso: Intelligenza Artificiale 2

Documenti analoghi
Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. Bob Kowalski: "Algoritmo = Logica + Controllo"

Trasformazione in clausole

Logica del primo ordine

TEORIA RELAZIONALE: INTRODUZIONE

Linguaggi. Claudio Sacerdoti Coen 11/04/ : Semantica della logica del prim ordine. Universitá di Bologna

LOGICA DEI PREDICATI. Introduzione. Predicati e termini individuali. Termini individuali semplici e composti

Linguaggi del I ordine - semantica. Per dare significato ad una formula del I ordine bisogna specificare

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni.

x u v(p(x, fx) q(u, v)), e poi

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

La logica modale e la dimostrazione dell esistenza di Dio di Gödel. LOGICA MODALE

(anno accademico )

Linguaggi Elementari

Algebra e Geometria. Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2)

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

CAPITOLO V. DATABASE: Il modello relazionale

Teoria degli insiemi

Normalizzazione. Definizione

Esercizio su MT. Svolgimento

Elementi di Informatica e Programmazione

FUNZIONI CONTINUE - ESERCIZI SVOLTI

Fondamenti di Internet e Reti

Anello commutativo. Un anello è commutativo se il prodotto è commutativo.

Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale

Algebra di Boole ed Elementi di Logica

Indecidibilità, indefinibilità e incompletezza. 1

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Sistemi Web per il turismo - lezione 3 -

Rappresentazione della conoscenza. Lezione 11. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 11 0

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari

Predicati e Quantificatori

Appunti di Logica Matematica

STRUTTURE NON LINEARI

LOGICA PER LA PROGRAMMAZIONE. Franco Turini

Si basano sul seguente Teorema: S = A sse S { A} è insoddisfacibile.

PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^

Universita' degli Studi di Udine UNA PROPOSTA PER L'INTRODUZIONE DI CAPACITA' DI META-RAPPRESENTAZIONE IN UN LINGUAGGIO DI PROGRAMMAZIONE LOGICA

Teoria della Progettazione delle Basi di Dati Relazionali

Efficienza secondo i criteri di first best

NUMERI COMPLESSI. Test di autovalutazione

STRUTTURE ALGEBRICHE

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie

Alcune nozioni di base di Logica Matematica

LOGICA MATEMATICA E CONCETTUALIZZAZIONE

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

f: AxB f(x)=y, f={<x,y> per ogni x in A esiste unica y in B f(x)=y} f={<1,2>, <2,3>, <3,3>} : {1,2,3} {1,2,3} f(1)=2, f(2)=3, f(3)=3

Riconoscere e formalizzare le dipendenze funzionali

L anello dei polinomi

Appunti di LOGICA MATEMATICA (a.a ; A.Ursini) Algebre di Boole. 1. Definizione e proprietá

Prodotto elemento per elemento, NON righe per colonne Unione: M R S

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

METODI DI CONVERSIONE FRA MISURE

INDICAZIONI PER LA RICERCA DEGLI ASINTOTI VERTICALI

Lezione 8. La macchina universale

Syllabus: argomenti di Matematica delle prove di valutazione

ITCS Erasmo da Rotterdam. Anno Scolastico 2014/2015. CLASSE 4^ M Costruzioni, ambiente e territorio

Sudoku: ancora un esercizio

PROVA DI VERIFICA DEL 24/10/2001

Algoritmi e strutture dati. Codici di Huffman

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005

SPAZI METRICI. Uno spazio metrico X con metrica d si indica con il simbolo (X, d). METRICI 1

Geometria Superiore Esercizi 1 (da consegnare entro... )

Corso di Informatica

Capitolo 9. Esercizio 9.1. Esercizio 9.2

Il calcolatore. Architettura di un calcolatore (Hardware)

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Corso di LOGICA II: indagini semantiche su modalità e quantificazione. Uno studio di logica della necessità e della possibilità

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

Approcci esatti per il job shop

Informatica Teorica. Macchine a registri

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

Tipologie di macchine di Turing

2) Codici univocamente decifrabili e codici a prefisso.

RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà :

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Studio di funzione. Tutti i diritti sono riservati. E vietata la riproduzione, anche parziale, senza il consenso dell autore. Funzioni elementari 2

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

LE FUNZIONI A DUE VARIABILI

OGNI SPAZIO VETTORIALE HA BASE

AA LA RICORSIONE

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

Le aree dell informatica

Per formalizzare il concetto sono necessarie alcune nozioni relative ai poliedri e alla loro descrizione.

Problemi computazionali

Banchi ortogonali Casi importanti

Capitolo 7: Teoria generale della calcolabilitá

LA LOGICA. è la scienza dell'argomentazione rigorosa. Oggetto di studio della logica è il ragionamento, le sue procedure e i suoi stili.

4. Operazioni binarie, gruppi e campi.

Chiusura lineare. N.B. A può essere indifferentemente un insieme, finito o no, o un sistema. Es.1. Es.2

Ricorsione in SQL-99. Introduzione. Idea di base

Prolog: aritmetica e ricorsione

I polinomi 1; x;x 2 ;x 3 sono linearmente indipendenti; infatti. 0= x+ 3 x x 3 =) 1 = 2 == 4 =0

Linguaggi. Rosario Culmone, Luca Tesei. 20/10/2009 UNICAM - p. 1/32

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Lezione 6. Divisibilità e divisori. Teorema di divisione euclidea. Algoritmo delle divisioni successive.

I sistemi di numerazione

Capitolo I STRUTTURE ALGEBRICHE ELEMENTARI

FISICA. isoterma T f. T c. Considera il ciclo di Stirling, in cui il fluido (=sistema) è considerato un gas ideale.

Intelligenza Artificiale Ing. Tiziano Papini

Transcript:

1 Appunti del corso: Intelligenza Artificiale 2 Maurizio Martelli Dipartimento di Matematica Università di Genova Anno Accademico 1999-2000

2

3 Conseguenze logiche e insoddisfacibilit? Teorema di deduzione T = F G iff T {F} = G Teorema Sia S un insieme di formule (chiuse), f una formula (chiusa), di un linguaggio del prim'ordine L f è una conseguenza logica di S iff l'insieme S {~f} è insoddisfacibile Sia I un modello di S, I è anche un modello di f e quindi non di ~f. Quindi non esiste nessuna interpretazione che sia modello di S e di ~f. Sia I una interpretazione che sia modello di S ma non di ~f. I è anche modello di f. Quindi f è conseguenza logica di S

4 Forme Normali H=G iff i loro valori di verità coincidono per ogni interpretazione Leggi di Equivalenza 1) H G = (H G) (G H) 2) H G = H ~G) 3) H G = G H H G = G H 4) (H P) G = H P G) (H P) G = H P G) 5) (H P) G = (H G) P G) (H P) G = (H G) P G) 6) H F = H H T = H 7) H T = T H F = F 8) H H = T H H = F 9) ~( H) = H 10) ~(H P) = ~H P ~(H P) = ~H ~P

5 Forme Normali Principio di rimpiazzamento: In una formula si può rimpiazzare una sua parte con una formula equivalente ed il valore di verità non cambia. Letterale: atomo o negazione di atomo Forma normale congiuntiva: F 1 F 2 F n con F i = L 1 L 2 L m Forma normale disgiuntiva: F 1 F 2 F n con F i = L 1 L 2 L m Procedura di trasformazione: (1) e (2) (9) e (10) (5) + semplificazioni

6 Forme Normali Forma normale prenessa (prenex): (Q 1 x 1 )(Q 2 x 2 ) (Q n x n ) (M) (Q i x i ) è x i o x i. M è una formula senza quantificatori (Q 1 x 1 )(Q 2 x 2 ) (Q n x n ) è il prefisso M è la matrice (spesso in f.n. congiuntiva o disgiuntiva) Leggi di Equivalenza 1a) (Qx)F[x] G = (Qx)(F[x] G) 1b) (Qx)F[x] G = (Qx)(F[x] G) 2a) ~(( x)f[x]) = ( x)(~f[x]) 2b) ~(( x)f[x]) = ( x)(~f[x]) 3a) ( x)f[x] ( x)g[x] = ( x)(f[x] G[x]) 3b) ( x)f[x] ( x)g[x] = ( x)(f[x] G[x]) 4a) (Q 1 x)f[x] (Q 2 x)g[x] = (Q 1 x)(q 2 y)(f[x] G[y]) 4b) (Q 1 x)f[x] (Q 2 x)g[x] = (Q 1 x)(q 2 y)(f[x] G[y]) Procedura di trasformazione: (1) e (2) (9) (10) (2a,2b) ridenominazione variabili, (1a,1b)(3a,3b)(4a,4b) (5) + semplificazioni

7 Forma standard di Skolem Sia F = (Q 1 x 1 )(Q 2 x 2 ) (Q n x n ) (M) prendiamo (Q r x r ) del tipo ( x r ) e si esaminino i (Q i x i ) con i<r. a) se non vi è nessun quantificatore universale ( i<r. Q i = ) sostituiamo ogni occorrenza di x r in M con una costante c (diversa da tutte le altre in M) e togliamo (Q r x r ). b) altrimenti, consideriamo s 1,s 2,s m : i m. s i <r e Qs i =. Sostituiamo ogni occorrenza di x r in M con un nuovo simbolo di funzione f (diverso da tutti gli altri in M) applicato ad x s1,x s2,x sm (f(x s1,x s2,x sm )) e togliamo (Q r x r ).

8 Clausole disgiunzione di atomi o negazioni di atomi, in cui le variabili sono implicitamente quantificate universalmente A 1 A 2 A n B 1 B 2 ~B m clausola vuota [] corrisponde a F è equivalente a (A 1 A 2 A n ) B 1 B 2 B m ) che si scrive (conclusione premesse) A 1 A 2 A n B 1 B 2 B m insieme di clausole: congiunzione di clausole.

9 Teorema di Skolemizzazione una teoria del prim'ordine si può ridurre in forma a clausole con semplici trasformazioni sintattiche: T diventa T' vale la seguente proprietà: T è insoddisfacibile iff lo è T' Teorema: Sia S un insieme di clausole che rappresenta una forma standard di Skolem di una formula F F è insoddisfacibile iff S è insoddisfacibile si può anche rappresentare la conoscenza direttamente in forma a clausole è comunque una forma particolarmente conveniente per il compito di dimostrare automaticamente teoremi

10 Trasformazione in forma a Clausole 1. x. y. (P(x) Q(x,y)) R(x) (eliminazione del connettivo ) 2. x. y. ~(P(x) Q(x,y)) R(x) (riduzione della portata della negazione) 3. x. y. (~P(x) ~Q(x,y)) R(x) (distribuzione del connettivo ) 4. x. y. (~P(x) R(x)) (~Q(x,y) R(x)) (Eliminazione del quantificatore esistenziale, introduzione di funzioni di Skolem) 5. x. (~P(x) R(x)) (~Q(x,f(x)) R(x)) (eliminazione del quantificatore universale) 6. (~P(x) R(x)) (~Q(x,f(x)) R(x)) (eliminazione del connettivo ) Insieme di clausole: {~P(x) R(x), ~Q(x,f(x)) R(x)}

11 SKOLEMIZZAZIONE Lemma sia S una formula in forma prenessa (Q1 X1) (Qn Xn) M(X1,,Xn), con Qr primo quantificatore esistenziale, ed S1 la formula ( X1) ( Xr-1) (Qr+1 Xr+1) (Qn Xn) M(X1,,Xr-1,f(X1,,Xr1),Xr+1,,Xn) S è inconsistente sse S1 è inconsistente Prova i) supponiamo S inconsistente e S1 consistente. Esiste I tale che S1 è vera in I: per tutti gli X1,,Xr-1 esiste almeno un elemento, f(x1,,xr-1), tale che è vera in I (Qr+1Xr+1) (QnXn) M(X1,,Xr-1,f(X1,,Xr-1),Xr+1,,Xn) quindi S sarebbe vera in I ii) supponiamo S1 inconsistente e S consistente esiste I (su D) tale che S è vera in I per tutti gli X1,,Xr-1 esiste almeno un elemento Xr tale che è vera in I (Qr+1 Xr+1) (Qn Xn) M(X1,,Xr-1,Xr,Xr+1,,Xn) Sia I' l interpretazione ottenuta estendendo I con una funzione f, tale che, per tutti gli X1,,Xr-1 in D, f(x1,,xr-1) = Xr.

per tutti gli X1,,Xr-1 (Qr+1 Xr+1) (Qn Xn) M(X1,,Xr-1,f(X1,,Xr-1),Xr+1,,Xn) è vera in I', cioè S1 sarebbe vera in I' 12

13 SKOLEMIZZAZIONE Teorema Sia C l insieme di clausole risultante dalla skolemizzazione dell insieme di fbf S. S è inconsistente se e solo se C è inconsistente. Prova S può essere un unica formula in forma prenessa. Si assuma che in S esistano m quantificatori esistenziali e si consideri la sequenza di formule S0 = S Skè ottenuto da Sk-1, sostituendo il primo quantificatore esistenziale in Sk-1 con una funzione di Skolem gk, k=1,,m Sm= C Per il lemma precedente, Sk è inconsistente sse Sk-1 è inconsistente, quindi C è inconsistente sse S è inconsistente

14 SKOLEMIZZAZIONE sia C l insieme di clausole risultante dalla skolemizzazione dell insieme di fbf S ses è consistente, C non è necessariamente equivalente a S Esempio S = { ( X) p(x) } C = { p(a) } un interpretazione I D = {1,2} [a] = 1 [p(1)] = F [p(2)] = T I è un modello di S e non di C

15 LA METODOLOGIA DI PROVA 1. W è conseguenza logica di T sse siano S un insieme di formule e f una formula di un linguaggio del prim ordine L f è una conseguenza logica di S se e solo se l insieme S {~f } è insoddisfacibile 2. {T ~W} è insoddisfacibile sse sia C l insieme di clausole risultante dalla skolemizzazione dell insieme di fbf S S è inconsistente se e solo se C è inconsistente 3. T', l insieme di clausole ottenuto skolemizzando {T ~W} è insoddisfacibile sse un insieme di clausole C è insoddisfacibile sse non ha modelli di Herbrand 4. T' non ha modelli di Herbrand basta considerare le interpretazioni su un particolare dominio, l Universo di Herbrand

16 UNIVERSO E BASE DI HERBRAND Sia L un linguaggio del prim ordine, il cui insieme di costanti non sia vuoto (se è vuoto, lo consideriamo formato da una costante arbitraria a) L Universo di Herbrand di L (UL) è l insieme di tutti i termini ground di L un termine (atomo) ground è un termine (atomo) che non contiene variabili un istanza ground di una clausola C in L è una clausola ottenuta da C sostituendo le variabili con termini di UL La Base di Herbrand di L (BL) è l insieme di tutti gli atomi ground di L, cioè di tutte le formule ottenute applicando i predicati di L agli elementi di UL

17 UNIVERSO E BASE DI HERBRAND Universo di Herbrand per un insieme di clausole S: H 0 = {c 0,,c n } c i costanti in S (sempre almeno una) H i+1 = H i {f(t 1,,t n ) f è un simbolo di funzione n-ario e i t j H i } HU = H i Base di Herbrand per un insieme di clausole S: B = {p(t 1,,t n ) p è un simbolo di funzione n-ario e i t i HU } esempio: il linguaggio L della teoria del prim ordine 1. p(0,x,x) 2. ~p(x,y,z) V p(s(x),y,s(z)) UL = {0,s(0),s(s(0)), } BL = {p(0,0,0), p(s(0),0,0), p(s(0),s(0),0), }

18 INTERPRETAZIONI E MODELLI DI HERBRAND un Interpretazione di Herbrand (H-interpretazione) per L è un interpretazione tale che i) il suo dominio è UL ii) ad ogni costante a di L è assegnata la costante stessa iii) ad ogni funzione n-aria f di L è assegnata la funzione da (UL)n a UL, che assegna il termine f(t1,,tn) alla n-upla di termini t1,,tn iv) ad ogni predicato n-ario p in L è assegnato un insieme di n-uple di termini di UL ogni H-interpretazione per L è determinata in modo univoco da un sottoinsieme qualunque (anche vuoto) di BL, che definisce l insieme degli atomi ground che sono veri sia A un insieme di formule chiuse del linguaggio del prim ordinel un modello di Herbrand (H-modello) di A è una qualunque H-interpretazione I tale che tutte le formule in A sono vere in I abusi di notazione: Universo, Base, Interpretazioni, Modelli di Herbrand indiciati dall insieme di formule (programma) invece che dal relativo linguaggio del prim ordine

19 INTERPRETAZIONI DI HERBRAND: UN ESEMPIO l insieme di clausole A 1. p(0,x,x) 2. ~p(x,y,z) V p(s(x),y,s(z)) UA = {0,s(0),s(s(0)), } BA = {p(0,0,0), p(s(0),0,0), p(s(0),s(0),0), } IA 1 = {p(0,0,0), p(0,s(0),s(0)),p(s(0),0,s(0)), p(0,s(s(0)),s(s(0))), } IA 2 = {p(0,0,s(0)), p(0,s(0),s(0)),p(s(0),0,s(0)), p(0,s(s(0)),s(s(0))), } IA 2 non è certamente un H-modello di A

20 CLAUSOLE E INTERPRETAZIONI DI HERBRAND Teorema ogni insieme consistente di clausole S ha un H-modello Prova sia I un modello di S e definiamo la H- interpretazione (corrispondente) I' = { p(t1,,tn) BS p(t1,,tn) è vera in I } è evidente che anche I' è un modello di S [attenzione al caso di assenza di costanti] Corollario un insieme di clausole S è insoddisfacibile sse non possiede modelli di Herbrand il teorema ed il corollario non valgono per insiemi di formule chiuse arbitrarie

21

22 UNA TEORIA CONSISTENTE SENZA H- MODELLI 1. p(a) 2. ~( X) p(x) la teoria è consistente, come dimostrato dal modello D = {0,1} a = 0 p(0) = T p(1) = F l Universo di Herbrand {a} la base di Herbrand {p(a)} le H-interpretazioni {} {p(a)} nessuna H-interpretazione è un modello! il problema è legato alle quantificazioni esistenziali c è ( X)~p(X) nell assioma 2

23 nella versione skolemizzata introdurrebbe una nuova costante (di Skolem) CLAUSOLE E H-INTERPRETAZIONI PROPRIETA' una H-interpretazione è un sottinsieme della base o si puo' pensare di reppresentarla come l'insieme di tutti i letterali ground veri I= {p(a), ~p(f(a)), p(f(f(a))),...} una istanza ground c' di una clausola c è soddisfatta in una interpretazione I sse c' I una clausola c è soddisfatta in una interpretazione I sse ogni istanza ground lo è. una clausola c è falsificata in una interpretazione I sse c'è almeno una istanza ground che lo è.

24 un insieme di clausole S è insoddisfacibile sse per ogni interpretazione I, c'è almeno una istanza ground di qualche c in S che non è soddisfatta da I. CLAUSOLE, H-INTERPRETAZIONI E PROGRAMMAZIONE LOGICA la maggior parte della teoria della programmazione logica ha a che fare solo con clausole è sufficiente restringersi alle H-interpretazioni alcune parti della teoria (completamento per trattare la negazione) richiedono l uso di fbf non clausali è necessario considerare interpretazioni arbitrarie

25 ALBERI SEMANTICI l insieme di tutte le H-interpretazioni può essere rappresentato da un albero (l albero semantico), i cui archi sono etichettati da assegnamenti di valori di verità agli atomi della Base di Herbrand tali che: per ogni nodo N vi è un numero finito di archi che partono da N (L 1,,L n ). Sia Q i la congiunzione di tutti i letterali che etichettano L i. Q 1 Q n è una formula proposizionalmente valida. per ogni nodo N, sia I(N) = insieme dei letterali che etichettano gli archi del cammino dalla radice a N. I(N) non contiene coppie complementari (A, ~A).

26 ALBERI SEMANTICI sia BS = {A 1, A 2,,A n, } la Base di Herbrand della teoria S un corrispondente albero semantico binario: A1 ~A1 A2 ~A2 A2 ~A2 se l Universo e la Base di Herbrand sono infiniti (se esiste almeno un simbolo di funzione), l albero semantico è un albero binario infinito ogni cammino sull albero semantico è una H- interpretazione = l insieme degli atomi positivi del cammino ad ogni nodo N è associata la H- interpretazione (parziale) I(N). Albero semantico completo se per ogni foglia N, I(N) contiene A o ~A per ogni A in BS.

27 NODI DI FALLIMENTO ED ALBERI SEMANTICI CHIUSI un nodo n dell albero semantico è un nodo di fallimento per l insieme di clausole S, se esiste almeno una clausola c di S tale che c (un istanza ground di c) è falsa nell Hinterpretazione In tutte le clausole di S (tutte le loro istanze ground) non sono false in tutte le H- interpretazioni Im con m antenato di n = nessun nodo m antenato di n è un nodo di fallimento. un albero semantico è chiuso, se ogni suo cammino contiene un nodo di fallimento. può essere rappresentato da un albero binario finito, le cui foglie sono i nodi di fallimento. un nodo n dell albero semantico è un nodo inferenza per l insieme di clausole S, se tutti i suoi immediati successori sono nodi fallimento.

28 TEOREMA DI HERBRAND 1 (versione 1) un insieme di clausole S è insoddisfacibile se e solo se per ogni albero semantico completo c'è un corrispondente albero semantico finito e chiuso. Prova si assuma S insoddisfacibile e sia T il suo albero semantico sia r un cammino di T poiché S è insoddisfacibile, Ir deve rendere falsa un istanza ground c' di una clausola c in S essendo c' una disgiunzione finita di atomi ground, deve esistere un nodo di fallimento ad una distanza finita dalla radice di T essendo questo vero per ogni ramo, T è chiuso si assuma T chiuso ogni cammino contiene un nodo di fallimento ogni H-interpretazione rende falso S S è insoddisfacibile

29 TEOREMA DI HERBRAND: UN ESEMPIO la teoria del prim ordine p(a,a) ( X)( Y) p(x,y) p(f(x),f(y)) la formula da provare ( X) p(f(a),x) la sua negazione ( X)~p(f(a),X) l insieme di clausole c1: p(a,a) c2: ~p(x,y) p(f(x),f(y)) c3: ~p(f(a),x) l Universo di Herbrand: {a,f(a),f(f(a)), } la Base di Herbrand: {p(a,a), p(f(a),a), p(f(a),f(a)), p(a,f(a)), }

30 TEOREMA DI HERBRAND: UN ESEMPIO c1: p(a,a) c2: ~p(x,y) p(f(x),f(y)) c3: ~p(f(a),x) l albero semantico è chiuso (i nodi di fallimento sono etichettati con la clausola che fallisce in quel nodo) P(a,a) ~P(a,a) C1 P(f(a),a) ~P(f(a),a) C3 P(f(a),f(a)) ~P(f(a),f(a)) C3 C2 la costruzione dell albero semantico e la determinazione dei nodi di fallimento costituisce una procedura che permette di semidecidere se una formula è conseguenza logica di un insieme di assiomi il metodo è semantico

alla ricerca di procedure ( sintattiche?) più efficienti 31

32 TEOREMA DI HERBRAND 2 (versione 2) un insieme di clausole S è insoddisfacibile se e solo se esiste un insieme finito insoddisfacibile S' di istanze ground di clausole di S sulla versione 2 del teorema sono basati i primi metodi per la verifica automatica di insoddisfacibilità (p.e., Gilmore[1960], e Davis&Putnam [1960]) a) algoritmo per generare sistematicamente le istanze ground delle clausole b) algoritmo per verificarne l insoddisfacibilità va bene un qualunque algoritmo per il calcolo proposizionale la procedura di Herbrand per a) al passo i-esimo si istanziano le clausole sostituendo le variabili con termini di HU k tale che k i non fattibile, perché il numero di clausole generate cresce in modo esponenziale il principio di risoluzione di Robinson [1965] un metodo sintattico, basato sulla versione 1 del teorema di Herbrand

33 evita la generazione di insiemi di istanze ground DAVIS E PUTMAN Regola della tautologia Cancellare le clausole che sono tautologie Regola del singolo letterale S={{L},{...,L,...},{...,~L,...},...} S'={ {...,~L,...},...} se S'={} S è soddisfacibile, altrimenti S"={ {...,,...},...} Regola del letterale puro Se un letterale L non compare mai come ~L è puro e si può ottenere un nuovo insieme di clausole eliminando tutte quelle che contengono L Regola di divisione S={{A 1,L},...,{A n,l},{b 1,~L},...,{B m,~l}, R} S 1 ={{A 1 },...,{A n },R} S 2 ={{B 1 },...,{B m }, R} S è insoddisfacibile sse lo è S 1 S 2

34 IL METODO DI RISOLUZIONE: SCHEMA un insieme di clausole S è insoddisfacibile se contiene la clausola vuota [] (contraddizione!) oppure da S si può derivare la clausola vuota [] il principio di risoluzione è una regola di inferenza sia S' l insieme ottenuto aggiungendo all insieme di clausole S le clausole derivabili da S con il principio di risoluzione se S è insoddisfacibile, anche S' è insoddisfacibile l albero semantico (chiuso) di S' è strettamente più piccolo di quello di S iterando l applicazione del principio di risoluzione si ottiene un insieme di clausole S* il cui albero semantico è costituito dalla sola radice la radice è un nodo di fallimento

S* contiene [] 35

36 IL PRINCIPIO DI RISOLUZIONE NEL CALCOLO PROPOSIZIONALE estensione della regola del letterale unico di Davis&Putnam siano c1 e c2 due clausole qualunque c1 = a1 1 a2 1 an 1 c2 = a1 2 a2 2 am 2 tali che i letterali ai 1 e aj 2 sono complementari il risolvente di c1 e c2 è la clausola a1 1 ai-1 1 ai+1 1 an 1 a1 2 aj-1 2 aj+1 2 an 2 disgiunzione delle clausole ottenute eliminando i letterali complementari esempi c1 = p r c2 = ~p q c1,2 =r q c1 = ~p q r c2 = ~q s c1,2 = ~p r s c1 = ~p q c2 = ~p r c1,2 non esiste il risolvente, se esiste, di due clausole

unitarie è la clausola vuota [] 37

38 CORRETTEZZA DEL PRINCIPIO DI RISOLUZIONE NEL CALCOLO PROPOSIZIONALE teorema date due clausole c1 e c2, un risolvente c di c1 e c2 è conseguenza logica di c1 e c2 prova siano c1 = a c1', c2 = ~a c2' e c = c1' c2', con c1' e c2' disgiunzioni di letterali sia I un modello di c1 e c2 in I è falso a oppure ~a supponiamo sia falso a c1' non può essere vuoto e deve essere vero in I (altrimenti I non sarebbe un modello di c1) è vero in I anche c = c1' c2' analogamente, se ~a è falso, c1' (e quindi c) è vero in I quindi, in ogni caso, c è vero in I come vedremo nel contesto dei linguaggi del prim ordine, il principio di risoluzione è una regola di inferenza completa per la dimostrazione dell insoddisfacibilità di un insieme di clausole

un insieme di clausole S è insoddisfacibile se e solo se la clausola vuota [] può essere ricavata da S, applicando il principio di risoluzione 39

40 PRINCIPIO DI RISOLUZIONE NEI LINGUAGGI DEL PRIM ORDINE c1 = p(x) q(x) c2 = ~p(f(y)) r(y) servono letterali complementari, che esistono se consideriamo opportune istanze di c1 e c2 c1' = p(f(a)) q(f(a)) c2' = ~p(f(a)) r(a) c1,2' = q(f(a)) r(a) c1" = p(f(y)) q(f(y)) c2" = ~p(f(y)) r(y) c1,2" = q(f(y)) r(y) c1,2" è più generale di c1,2', ed è anzi la più generale fra le clausole ottenibili da c1 e c2 mediante il procedimento istanziazione + risoluzione proposizionale ogni altra clausola è una istanza di c1,2" c1,2" è il risolvente di c1 e c2 deduzione di c da S: c1,...,cn tale che ogni ci è una clausola di S o un risolvente di clausole precedenti e cn = c refutazione: deduzione di [] da S

41 SOSTITUZIONI una sostituzione è un insieme finito della forma {v1 t1,, vn tn} vi è una variabile ti è un termine diverso da vi le variabili vi, i=1,,n sono tra loro distinte una sostituzione è una funzione da variabili a termini la sostituzione vuota è denotata da una sostituzione è ground se tutti i ti, i=1,,n sono ground siano = {v1 t1,, vn tn} una sostituzione ed E una espressione (termine, atomo, insieme di termini, etc.) l applicazione di ad E è l espressione ottenuta da E sostituendo simultaneamente ogni occorrenza della variabile vi, i=1,,n con il termine ti il risultato dell applicazione (denotato da E ) è una istanza di E la sostituzione è grounding per l'espressione E se E è una istanza ground di E

42 SOSTITUZIONI siano = {X1 t1,, Xn tn} e = {Y1 u1,, Ym um} due sostituzioni la composizione di e (denotata da ) è la sostituzione così definita i) costruiamo l insieme {X1 t1,, Xn tn, Y1 u1,, Ym um} ii) eliminiamo dall insieme gli elementi Xi ti tali che ti = Xi iii) eliminiamo dall insieme gli elementi Yj uj tali che Yj occorre in {X1,, Xn} anticipiamo alcune delle proprietà delle sostituzioni, che studieremo più avanti la composizione di sostituzioni è associativa ( ) = ( ) la sostituzione vuota è identità sia sinistra che destra = =

43 SOSTITUZIONI: ESEMPIO = {X f(y), Y Z} = {X a, Y b, Z Y} costruzione di i) {X f(b), Y Y, X a, Y b, Z Y} ii) {X f(b), X a, Y b, Z Y} iii) {X f(b), Z Y} costruzione di i) {X a, Y b, Z Z, X f(y), Y Z} ii) {X a, Y b, X f(y), Y Z} iii) {X a, Y b}

44 UNIFICAZIONE DI INSIEMI DI ESPRESSIONI sia dato un insieme di espressioni (termini, atomi, etc.) {E1,, Ek} una sostituzione è un unificatore per {E1,, Ek} se e solo se E1 = E2 = = Ek un insieme {E1,, Ek} è unificabile se e solo se esiste una sostituzione tale che è un unificatore per {E1,, Ek} l insieme {p(a,y), p(x,f(b))} è unificabile dato che la sostituzione = {X a, Y f(b)} è un unificatore per l insieme un unificatore per l insieme {E1,, Ek} è l unificatore più generale (most general unifier, mgu) se e solo se per ogni unificatore dell insieme {E1,, Ek} esiste una sostituzione tale che = esiste un algoritmo (algoritmo di unificazione), che, dato un insieme di espressioni E = {E1,, Ek}, rivela la sua non unificabilità, oppure calcola un unificatore più generale per E

45 MGU DI DUE ESPRESSIONI: UN ALGORITMO NA?F inizia con t1, t2 ed una sostituzione? 0 inizialmente vuota scandisci le due espressioni da sinistra a destra se le due espressioni sono uguali, termina con successo e restituisci la corrente sostituzione? k (mgu di {t1, t2}) altrimenti, siano t1,i and t2,i le prime due sottoespressioni diverse se nè t1,i nè t2,i sono una variabile, termina con fallimento altrimenti, supponiamo che t1,i sia la variable V se t2,i contiene V, termina con fallimento altrimenti, applica la sostituzione {V t2,i} a t1 e t2? i =? i-1 {V t2,i} riprendi la scansione delle espressioni dove era stata sospesa da notare che le sostituzioni cicliche causano fallimento (l occur check è necessario!)

vedremo nel seguito un diverso algoritmo ed il teorema di unificazione 46

47 MGU DI DUE ESPRESSIONI: UN ESEMPIO E = {p(a,x,f(g(y))), p(z,f(z),f(u))}? 0 = t1,1 = a t2,1? 1 = {Z a} = {Z a} E1 = {p(a,x,f(g(y))), p(a,f(a),f(u))} t1,2 = X t2,2 = f(a)?2 = {Z a} {X f(a)} = {Z a, X f(a)} E2 = {p(a,f(a),f(g(y))), p(a,f(a),f(u))} t1,3 = g(y) t2,3 = U?3 = {Z a, X f(a)} {U g(y)} = {Z a, X f(a), U g(y)} E3 = {p(a,f(a),f(g(y))), p(a,f(a),f(g(y)))}?3 è un mgu per E Teorema Se W è un insieme di espressioni finito, non vuoto ma unificabile, allora l'algoritmo di unificazione terminerà sempre al passo del successo e l'ultima sostituzione finale è un m.g.u. per W.

48 PRINCIPIO DI RISOLUZIONE NEI LINGUAGGI DEL PRIM ORDINE se la clausola c = L1 Ln contiene un insieme di letterali unificabile, con unificatore più generale, la clausola [L1 Ln] viene detta fattore unitario di c c = p(x) p(f(y)) q(x) i primi due letterali sono unificabili con mgu {X p(f(y)) q(f(y)) è un fattore unitario di c date due clausole senza variabili a comune (eventualmente ottenute per ridenominazione delle variabili) c 1 = L 1 L n c 2 = L' 1 L' k se esistono L i ed L' j (unificabili) con unificatore più generale tale che [L i ] = [~L' j ] la clausola (risolvente binario di c 1 e c 2 ) [L 1 L i-1 L i+1 L n L' 1 L' j-1 L' j+1 L' k ] è conseguenza logica di c 1 e c 2

49 PRINCIPIO DI RISOLUZIONE NEI LINGUAGGI DEL PRIM ORDINE Li e L'j vengono detti i letterali su cui si è risolto un risolvente di c 1 e c 2 è un risolvente binario di [un fattore unitario di] c 1 e di [un fattore unitario di] c 2 Es: da a b e b c deriva a c da a b e b,d c deriva a,d c da b,d e b c deriva c,d Es: c1= ~p(s(0),s(0),w) ~p(w,s(0),w1) c2= ~p(x,y,z) p(s(x),y,s(z)) = {X 0, Y s(0), W s(z) } c1,2 = ~p(s(z),s(0),w1) ~p(0,s(0),z)

50 IL METODO DI RISOLUZIONE un insieme di clausole S è insoddisfacibile se contiene la clausola vuota [] oppure da S si può derivare la clausola vuota [] sia S' l insieme ottenuto aggiungendo all insieme di clausole S tutti i fattori unitari di clausole di S ed i risolventi binari di coppie di clausole in S se S è insoddisfacibile, anche S' è insoddisfacibile l albero semantico (chiuso) di S' è strettamente più piccolo di quello di S iterando l applicazione del principio di risoluzione (generazione di fattori e risolventi) si ottiene un insieme di clausole S* il cui albero semantico è costituito dalla sola radice la radice è un nodo di fallimento S* contiene []

51 IL PRINCIPIO DI RISOLUZIONE? UNA REGOLA DI INFERENZA CORRETTA teorema: se c è una clausola e c' un suo fattore unitario, c' è conseguenza logica di c dimostriamo che ogni istanza è conseguenza logica supponiamo che c' sia falsa in una interpretazione M che è un modello di c un istanza ground di c' deve essere falsa in M un istanza ground di c è falsa in M M non può essere un modello di c teorema: se c1 e c2 sono clausole e c è un loro risolvente binario, c è conseguenza logica di c1 e c2 il risolvente può essere calcolato componendo due regole (l istanziazione e la risoluzione proposizionale) che sono state dimostrate essere regole di inferenza corrette

52 LEMMA DI GENERALIZZAZIONE Siano c'1 e c'2 istanze di c1 e c2 Sia c' un risolvente di c'1 e c'2 esiste un risolvente c di c1 e c2 tale che c' è una istanza di c dimostrazione c1 = A1 1 V V A1 n e c2 = A2 1 V V A2 m non hanno variabili comuni (eventualmente si ridenomina) c' = [ A1 1 V V A1 i-1 V A1 i+1 V V A1 n V A2 1 V V A2 j-1 V A2 j+1 V V A2 m ] = [ A1 1 V V A1 i-1 V A1 i+1 V V A1 n V A2 1 V V A2 j-1 V A2 j+1 V V A2 m ], dove c'1 = c1, c'2 = c2, è l mgu di A1 i e ~A2 j, cioè [A1 i ] = ~[A2 j ] A1 i e ~A2 j sono unificabili, in quanto è un loro unificatore esiste un loro unificatore più generale tale che sostituzione esiste un risolvente di c1 e c2 rispetto ai letterali A1 i e A2 j c = [ A1 1 V V A1 i-1 V A1 i+1 V V A1 n V A2 1 V V A2 j-1 V A2 j+1 V V A2 m ] c' = [ A1 1 V V A1 i-1 V A1 i+1 V V A1 n V

A2 1 V V A2 j-1 V A2 j+1 V V A2 m ] = c 53

54 TEOREMA DI CORRETTEZZA DEL METODO DI RISOLUZIONE se dall insieme di clausole S è possibile derivare con il principio di risoluzione la clausola vuota [], l insieme S è insoddisfacibile dimostrazione [] è uno dei risolventi generati a partire dalle clausole di S [] è conseguenza logica di S tutti i modelli di S sono anche modelli di [] [] (la contraddizione) non ha alcun modello anche S non ha alcun modello

55 NODI DI INFERENZA consideriamo l albero semantico chiuso di un insieme di clausole S insoddisfacibile un nodo di inferenza è un nodo dell albero semantico, tale che entrambe i suoi successori sono nodi di fallimento se le clausole che falliscono nei successori del nodo di inferenza n sono ck e cj, possiamo inferire da ck e cj una nuova clausola rkj (che è proprio un risolvente) tale che rkj fallisce nel nodo n o in un nodo antenato di n

56 NODI DI INFERENZA: ESEMPIO C1: P(a,a) C2: ~P(X,Y) P(f(X),f(Y)) C3: ~P(f(a),X) P(a,a) ~P(a,a) C1 P(f(a),a) ~P(f(a),a) C3 P(f(a),f(a)) ~P(f(a),f(a)) C3 le clausole che falliscono sotto il nodo d inferenza sono C2 e C3 il risolvente di C2 e C3 è C4 = ~P(a,Y) fallisce sopra il nodo di inferenza il nuovo albero semantico è infatti C2 P(a,a) ~P(a,a) C4 C1

57 IL LEMMA SUI NODI DI INFERENZA dalle clausole che falliscono nei successori di un nodo di inferenza n possiamo inferire una nuova clausola (che è proprio un risolvente) che fallisce nel nodo n dimostrazione sia n un nodo di inferenza, siano n1 e n2 i nodi di fallimento suoi immediati successori, e sia mn+1 l atomo assegnato a vero o a falso sotto il nodo n poiché n1 e n2 sono nodi di fallimento, mentre n non lo è, devono esistere due istanze ground c'1 e c'2 delle clausole c1 e c2 tali che c'1 e c'2 sono false in n1 e n2 rispettivamente e non sono falsificate da n c'1 e c'2 devono contenere ~mn+1 e mn+1 il risolvente rispetto a questi due letterali c' = (c'1 - ~mn+1 ) (c'2 - mn+1 ) fallisce in n poiché sia (c'1 - ~mn+1 ) che (c'2 - mn+1 ) sono falsificati da n (l unico letterale che non falliva è stato tolto!) per il lemma di generalizzazione, esiste un risolvente c di c1 e c2, tale che c' è una istanza ground di c (anche c fallisce in n)

58 TEOREMA DI COMPLETEZZA DEL METODO DI RISOLUZIONE se l insieme di clausole S è insoddisfacibile, è possibile derivare da S in un numero finito di passi con il principio di risoluzione la clausola vuota [] dimostrazione S è insoddisfacibile, quindi ha un albero semantico chiuso finito T se T è formato da un solo nodo (la radice), S deve contenere [], perché nessuna altra clausola può essere falsificata dalla radice altrimenti, T ha almeno un nodo di inferenza (in caso contrario ogni nodo avrebbe almeno un successore non di fallimento e si potrebbe trovare un cammino di T infinito, contro l ipotesi di finitezza) per il lemma dei nodi di inferenza, esiste un risolvente c di clausole in S, che fallisce in n sia T' l albero semantico (chiuso) di S {c} il numero di nodi di T' è strettamente minore di quello di T il procedimento può essere iterato, finché, dopo un numero finito di passi (l albero iniziale è finito!) si raggiunge la clausola vuota [] e si ottiene un albero semantico

chiuso formato dalla sola radice 59

60 UN ESEMPIO la teoria 1. p(0,x,x) 2. ~p(x,y,z) V p(s(x),y,s(z)) la formula da provare W. p(s(0),0,w) la sua negazione (clausola) 3. ~p(s(0),0,w) la prova (mostrata sotto forma di albero di rifiuto)

61 UN ESEMPIO le premesse (assiomi) i funzionari di dogana hanno perquisito tutti coloro che sono entrati in Italia, ad eccezione dei VIP alcuni spacciatori di droga sono entrati in Italia e sono stati perquisiti solo da spacciatori di droga nessuno spacciatore era un VIP la conclusione alcuni funzionari erano spacciatori e(x) rappresenta X è entrato in Italia v(x) rappresenta X era un VIP p(x,y) rappresenta Y ha perquisito X f(x) rappresenta X era un funzionario di dogana s(x) rappresenta X era uno spacciatore di droga ( X)(e(X) ~v(x)) ( Y)(p(X,Y) f(y)) ~ e(x) V v(x) V p(x,g(x)) ~ e(x) V v(x) V f(g(x)) ( X)s(X) e(x) ( Y)(p(X,Y) s(y)) s(a) e(a) ~ p(a,y) V s(y) ( X)(s(X) ~ v(x)) ~ s(x) V ~ v(x) ( X)s(X) f(x) la cui negazione è ~ s(x) V ~ f(x)

62 UN ESEMPIO (1) ~ e(x) V v(x) V p(x,g(x)) (2) ~ e(x) V v(x) V f(g(x)) (3) s(a) (4) e(a) (5) ~ p(a,y) V s(y) (6) ~ s(x) V ~ v(x) (7) ~ s(x) V ~ f(x) la dimostrazione per risoluzione (8) ~ v(a) da (3) e (6) (9) v(a) V f(g(a)) da (2) e (4) (10) f(g(a)) da (8) e (9) (11) v(a) V p(a,g(a)) da (1) e (4) (12) p(a,g(a)) da (8) e (11) (13) s(g(a)) da (5) e (12) (14) ~ f(g(a)) da (7) e (13) (15) [] da (10) e (14) notare che si sono usate tutte le clausole e che si sono generati solo alcuni dei risolventi

63 LA SCIMMIA E LA BANANA Una scimmia vuole mangiare una banana appesa al soffitto di una stanza, ma è troppo bassa per arrivarci. La scimmia può camminare nella stanza, portare una sedia e salirci sopra per prendere la banana. Se la scimmia è in a, la banana in b, la sedia in c, può la scimmia mangiarsi la banana? - P(X,Y,Z,S) rappresenta nello stato S, la scimmia è in X, la banana in Y, la sedia in Z - R(S) rappresenta in S la scimmia può mangiare la banana - cammina(x,y,s) rappresenta lo stato che si ottiene da S con la scimmia che va da X ad Y - porta(x,y,s) rappresenta S' che si ottiene da S con la scimmia che porta la sedia da X ad Y - arrampica(s) rappresenta S' che si ottiene con la scimmia che si arrampica sulla sedia ( X')( X)( Y)( Z)( S)(P(X,Y,Z,S) P(X',Y,Z,cammina(X,X',S))) ~P(X,Y,Z,S) V P(X',Y,Z,cammina(X,X',S)) ( X)( Y)( S)(P(X,Y,X,S) P(X',Y,X',porta(X,X',S))) ~P(X,Y,X,S) V P(X',Y,X',porta(X,X',S)) ( X)( S)(P(X,X,X,S) R(arrampica(S))) ~P(X,X,X,S) V R(arrampica(S)) P(a,b,c,start)

64 ( Sol)R(Sol) ~ R(Sol) la cui negazione è

65 IL METODO DI RISOLUZIONE il metodo di risoluzione è un potente metodo di dimostrazione sintattico (basato su una sola regola di inferenza) non piace a coloro cui piacciono le prove sono poco naturali e poco convincenti inoltre richiede la skolemizzazione, che fa perdere informazione è molto più efficiente degli altri metodi basati sul teorema di Herbrand l astuzia principale sta nell unificazione in molti casi produce comunque una tale esplosione nel numero di risolventi generati da risultare inutilizzabile anche perché vengono generate molte clausole irrilevanti e ridondanti da qui l interesse per particolari strategie di applicazione del principio di risoluzione, che generino meno clausole garantiscano la completezza risoluzione a livelli di saturazione (S 0 = S, S 1 = {risolventi a partire da S 0 },...)

strategie di cancellazione (tautologie, clausole sussunte: C sussume D sse D C ) 66

67 STRATEGIE DI RISOLUZIONE Risoluzione semantica (1) - interpretazione particolare per dividere le clausole in 2 insiemi - ordinamento dei simboli di predicato per determinare una scelta sulla applicazione della risoluzione Hyperisoluzione (positiva o negativa) (1a) - interpretazione particolare tutta positiva o negativa Set of support strategy(1b) - individuare S T tale che S-T è soddisfacibile e non scegliere mai di risolvere clausole in S-T. Lock resolution(2) - ogni letterale è indicizzato e si applica la risoluzione solo ai letterali con indicie minore di ogni clausola (non si può mescolare con altre startegie).

68 STRATEGIE DI RISOLUZIONE un esempio di strategia completa la AF-resolution (ancestry-filtered resolution), che costruisce alberi di rifiuto con la proprietà AF un albero di rifiuto è ancestry-filtered se ogni suo nodo è una clausola della teoria iniziale, oppure un risolvente con almeno una clausola genitrice nella teoria iniziale, oppure un risolvente di due clausole ci e cj, con ci antenato di cj teorema se una teoria è insoddisfacibile, possiede almeno un albero di rifiuto ancestry-filtered è simile alla strategia lineare, su cui si basa la programmazione logica

69 RISOLUZIONE LINEARE un altra strategia completa dall insieme S viene prelevata una clausola c0 (clausola iniziale) un albero di rifiuto lineare ha la seguente proprietà per i=1,,n-1 è un risolvente di ci (clausola centrale) e bi (clausola laterale) ogni bi appartiene a S oppure è un cj per j<i C?? 0 B 0 C 1?? B 1 C 2 C n-1?...?? B n-1 C n? teorema di completezza se S è insoddisfacibile e S- c0 è soddisfacibile, esiste un albero di rifiuto lineare con clausola iniziale c0

70 RISOLUZIONE INPUT E UNIT input resolution è un caso particolare della risoluzione lineare, in cui tutte le clausole laterali sono clausole di S non sono permessi risolventi fra risolventi non è completa, ma assomiglia molto alla SLD-resolution utilizzata nella programmazione logica unit resolution il risolvente è ottenuto da almeno una clausolo unitaria (come la input non completa) SL ed SLD resolution

71 UN ESEMPIO La teoria ~q p q p ~p q La formula da dimostrare ~p ~q Risoluzione lineare ~p q?? p q q?? p ~q p?? ~p ~q ~q?? q? Input resolution ~p? q? p q q?? p ~q p?? ~p ~q ~q?? ~p ~q ~p????

72 Clausole Horn clausola con al più un letterale positivo clausole definite: - regole A B 1 B 2 B m. - fatti A. clausole negative: (goal) B 1 B 2 B m. clausole Horn sono un sottinsieme vero delle clausole: non tutte le formule del calcolo dei predicati del prim'ordine sono esprimibili con esse. clausole definite esprimono 'conoscenza' programma logico = insieme di cl. definite clausole negative: domanda X 1 X n. B 1 B 2 B m ) negazione per applicare la refutazione ~ X 1 X n. B 1 B 2 B m ) X 1 X n. B 1 ~B 2 ~B m ) B 1 B 2 B m.

73 Risoluzione SLD risoluzione Lineare con funzione di Selezione per clausole Definite. si parte da un insieme di clausole definite (il programma P) ed un'unica clausola negativa (il goal G) ogni risolvente è sempre ottenuto da una clausola definita ed una negativa, riottenendo così un'altra clausola negativa (il nuovo goal) si deve selezionare a quale letterale del goal applicare la risoluzione (regola di sel. R). una derivazione SLD è una sequenza massimale (finita o no) di goal (G 0 G 1 di clausole di P (c 0 c 1 ) e di sostituzioni ( 0 1 ): - G 0 è il goal iniziale G - c i non ha variabili a comune con G,c i,...,c i-1 - G i+1 è ottenuto da G i = A 1 A 2 A m e c i = A B 1 B 2 B n [A j ] i = [A] i G i+1 = [A 1 A j-1 B 1 B 2 B n A j+1 A m ] i

74 Risoluzione SLD Esempio di derivazione SLD: G?? C 1 1 G 1?? C 2 2 G 2?... G? n-1? C n n G n?... una refutazione è una sequenza di goal che termina con il goal vuoto. una derivazione finita che non termina con la clausola vuota è detta fallita.