La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Appunti del corso: Intelligenza Artificiale II Dimostrazione automatica di Teoremi Prof. Maurizio Martelli DISI Università di Genova.

Presentazioni simili


Presentazione sul tema: "Appunti del corso: Intelligenza Artificiale II Dimostrazione automatica di Teoremi Prof. Maurizio Martelli DISI Università di Genova."— Transcript della presentazione:

1 Appunti del corso: Intelligenza Artificiale II Dimostrazione automatica di Teoremi Prof. Maurizio Martelli DISI Università di Genova

2 Calcolo dei predicati linguaggio per esprimere concetti e loro relazioni e che permette di inferire proposizioni da altre considerate vere. SINTASSI (si prescinde dal significato) Alfabeto (a,b,...,A,B,...,(,),...,,,...,,,...) Simboli: - Costanti di oggetti: C (a,b,casa, 23,...) di funzione: F (+,-, padre,...) con arità di predicato: P (<,=,pari,...) con arità - Variabili: V (X,Y,...)

3 Termini: i) una variabile X V è un termine ii) una costante c C è un termine iii) lapplicazione (f(t 1,...,t n )) di un simbolo di funzione n-ario f F ad n termini t 1,...,t n è un termine iv) non esistono altri termini termine ground - senza variabili (oggetti dell'Universo del discorso) Es.:padre(padre(giovanni))

4 Calcolo dei predicati Atomi: {p(t 1,..,t n ) |p P, t 1,..,t n termini} Es.: fattoriale (3,6) uomo(paolo) maggiore(X,3) maggiore(più(X,1),Y) ama(giovanni,maria) ama(padre(giovanni),giovanni) ama(padre(padre(giovanni)),giovanni) maggiore(più(più(1,giovanni),Y),padre(3)) Formule Ben Formate (fbf): - Atomi - frasi logiche: se F, F 1, F 2 sono fbf - negazione ~F - congiunzione F 1 F 2 - disgiunzione F 1 F 2 - implicazione F 1 F 2 - equivalenza F 1 F 2 - frasi quantificate: se Fè una fbf e X V - universalmente ( X.F) - esistenzialmente ( X.F) - non esistono altre fbf

5 Calcolo dei predicati Il linguaggio del primordine definito da un alfabeto è linsieme di tutte le fbf costruite con i simboli dellalfabeto Occorrenza di variabile vincolata: i) se compare allinterno di un quantificatore ii) se compare nello scope di un quantificatore per quella variabile Una variabile è libera in una fbf se almeno una sua occorrenza è non vincolata Una formula è chiusa se non contiene variabili libere Se f è una formula aperta, (f) e (f) denotano le chiusure esistenziale e universale di f importanza dell' ordine dei quantificatori. Ordine: primo, secondo,... omega

6 LINGUAGGI DEL PRIMORDINE: SINTASSI, ESEMPI un esempio filosofico ( X)(uomo(X) mortale(X)) uomo(socrate) mortale(socrate) due degli assiomi di base dei numeri naturali (interpretare f e g come funzioni successore e predecessore la costante 0 come zero il predicato u come uguaglianza ) ( X)( Y)(u(Y,f(X)) ( Z)(u(Z,f(X)) u(Y,Z))) ( X)( ~u(X,0) (( Y)(u(Y,g(X)) ( Z)(u(Z,g(X)) u(Y,Z))))) nella formula ( X)p(X,Y), tutte le occorrenze di X sono vincolate, mentre Y è libera Y è libera anche nella formula : ( X)p(X,Y) ( Y)q(Y)

7 Calcolo dei predicati SEMANTICA (relazione tra frasi e concetti) Dare una interpretazione alle espressioni sintatticamente corrette. Definire se certe espressioni sono vere o false in base al significato che si dà ai componenti l'espressione. Interpretazione (I): -Dominio D -funzione da C a D -funzione da F a (D n D) -funzione da P a (D n {T,F}) interpretazione intesa, altre int. assegnamento di variabili (U): -funzione da V a D assegnamento di termini: (T) combinazione di I ed U

8 Calcolo dei predicati soddisfacimento ( I ): I F[U] vale se F è vera per I e U, cioè interpretata nel dominio D di I. - I p(t 1,..,t n )[U] iff p I (I(t 1 ),..,I(t n )) = T - I ~F[U] iff I F[U] non è vera - I F 1 ^ F 2 [U] iff I F 1 [U] e I F 2 [U] - I F 1 v F 2 [U] iff I F 1 [U] o I F 2 [U] - I F 1 F 2 [U] iff I F 1 [U] o non I F 2 [U] - I F 1 F 2 [U] iff I F 1 F 2 [U] e I F 2 F 1 [U] - I ( X.F)[U] iff per ogni d D I F[V] con V identica ad U tranne che V(X)=d. - I ( X.F)[U] iff per qualche d D I F[V] con V identica ad U tranne che V(X)=d. I una interpretazione I che soddisfa F per tutti i possibili assegnamenti di variabile si dice un MODELLO di F: I F

9 LINGUAGGI DEL PRIMORDINE: SEMANTICA, ESEMPI f = ( X) p(X) q(f(X),a) uninterpretazione I D = {1,2} [a] = 1 [f(1)] = 2[f(2)] = 1 [p(1)] = F [p(2)] = T [q(1,1)] = T[q(1,2)] = T [q(2,1)] = F[q(2,2)] = T la valutazione di f in I è T (I è un modello di f), se X=1, p(1) q(f(1),a) = p(1) q(2,1) = F F = T se X=2, p(2) q(f(2),a) = p(2) q(1,1) = T T = T

10 LINGUAGGI DEL PRIMORDINE: SEMANTICA, ESEMPI f = ( X) ( Y) p(X) Λ q(X,Y) uninterpretazione I D = {1,2} [a] = 1 [f(1)] = 2[f(2)] = 1 [p(1)] = F [p(2)] = T [q(1,1)] = T[q(1,2)] = T [q(2,1)] = F[q(2,2)] = T la valutazione di f in I è F (I non è un modello di f), se X=1, se Y=1, p(1) ^ q(1,1) = F se Y=2, p(1) ^ q(1,2) = F

11 Calcolo dei predicati una interpretazione I che soddisfa tutte le formule di un insieme T (teoria) per tutti i possibili assegnamenti di variabile si dice un MODELLO di T: I T F è conseguenza logica di una teoria T : T I F iff ogni modello di T è anche modello di F T è soddisfacibile iff T ha almeno un modello T è insoddisfacibile (inconsistente) iff T non ha alcun modello F è valida F iff F è soddisfatta per ogni I e per ogni U (ogni interpretazione è un modello)

12 Calcolo dei predicati teoria assiomatica - assiomi logici (logicamente validi) - assiomi non logici (conoscenza specifica) - regole di inferenza (permettono di ricavare nuove fbf da insiemi di fbf) Es: Modus Ponens: A B A B dimostrazione : sequenza finita di fbf (f 1,..,f n ), ciascuna delle quali è un assiomi o è derivata dalle precedenti mediante una regola di inferenza. teorema: ultima formula di una dimostrazione se T è un insieme di formule (assiomi non logici) T A indica che A è un teorema per la teoria T. A indica che A è un teorema (formula logicamente valida)

13 Equivalenza tra sintassi e semantica Correttezza: i teoremi di una teoria sono veri in tutti i modelli della teoria Completezza: le fbf che sono vere in tutti i modelli della teoria (seguono logicamente dagli assiomi) sono teoremi della teoria. il calcolo dei predicati del prim'ordine è corretto e completo (nel caso di assenza di assiomi non logici, i teoremi coincidono con le formule valide)

14 Stile dichiarativo della PL _______________________________ orientato ad utenti non programmatori grande potere espressivo programma come insieme di formule (assiomi) computazione come costruzione di una dimostrazione di una formula (goal) Calcolo dei predicati del prim'ordine sintassi semantica dim. di --correttezza-> conseguenza teoremi <-- copletezza-- logica limitazione nel tipo di formule (clausole Horn) e utilizzazione di particolare tecniche per la dimostrazione di teoremi (unificazione e risoluzione)

15 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 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

16 Forme Normali H=G iff i 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 = HH t = H 7.H t = tH f = f 8.H H = tH H = f 9. ( H) = H 10. (H P) = H P 11. (H P) = H P

17 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), (10) e (11) –(5) –+ semplificazioni

18 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)

19 Forme Normali 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) (11) (2a,2b) –ridenominazione variabili, (1a,1b)(3a,3b)(4a,4b) –(5) + semplificazioni

20 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

21 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 La clausola vuota [] corrisponde a F è equivalente a (A 1 A 2 A n ) (B 1 B 2 B m ) che si scrive (conclusionepremesse) A 1,A 2 A n B 1,B 2, B m insieme di clausole: congiunzione di clausole.

22 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

23 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)}

24 Skolemizzazione Lemma sia S una formula in forma prenessa (Q 1 X 1 )…(Q n X n ) M(X 1,…,X n ), con Q r primo quantificatore esistenziale, ed S 1 la formula ( X 1 )…( X r-1 ) (Q r+1 X r+1 )… (Q n X n ) M(X 1,…,X r-1,f(X 1,…,X r1 ),X r+1,…,X n ) S è inconsistente iff S 1 è inconsistente

25 Skolemizzazione 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 linterpretazione 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'

26 Skolemizzazione Teorema Sia C linsieme di clausole risultante dalla skolemizzazione dellinsieme di fbf S. S è inconsistente iff C è inconsistente. Prova S può essere ununica formula in forma prenessa. Si assuma che in S esistano m quantificatori esistenziali e si consideri la sequenza di formule S 0 = S S k è ottenuto da S k-1, sostituendo il primo quantificatore esistenziale in S k-1 con una funzione di Skolem g k, k=1,…,m S m = C Per il lemma precedente, S k è inconsistente iff S k-1 è inconsistente, quindi C è inconsistente iff S è inconsistente

27 Skolemizzazione Sia C linsieme di clausole risultante dalla skolemizzazione dellinsieme di fbf S se S è consistente, C non è necessariamente equivalente a S Esempio S = { ( X) p(X) } C = { p(a) } uninterpretazione I D = {1,2} [a] = 1 [p(1)] = F [p(2)] = T I è un modello di S e non di C

28 LA METODOLOGIA DI PROVA 1. W è conseguenza logica di T iff siano S un insieme di formule e f una formula di un linguaggio del primordine L f è una conseguenza logica di S iff linsieme S {~f } è insoddisfacibile 2. {T ~W} è insoddisfacibile iff sia C linsieme di clausole risultante dalla skolemizzazione dellinsieme di fbf S S è inconsistente iff C è inconsistente 3. T', insieme di clausole ottenuto skolemizzando {T ~W} è insoddisfacibile iff un insieme di clausole C è insoddisfacibile iff non ha modelli di Herbrand 4. T' non ha modelli di Herbrand basta considerare le interpretazioni su un particolare dominio, lUniverso di Herbrand

29 UNIVERSO E BASE DI HERBRAND Sia L un linguaggio del primordine, il cui insieme di costanti non sia vuoto (se è vuoto, lo consideriamo formato da una costante arbitraria a) LUniverso di Herbrand di L (U L ) è linsieme di tutti i termini ground di L Un termine (atomo) ground è un termine (atomo) che non contiene variabili Unistanza ground di una clausola C in L è una clausola ottenuta da C sostituendo le variabili con termini di U L La Base di Herbrand di L (B L ) è linsieme di tutti gli atomi ground di L, cioè di tutte le formule ottenute applicando i predicati di L agli elementi di U L

30 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 predicato n-ario e i t i HU } Esempio: il linguaggio L della teoria del primordine 1.p(0,X,X) 2.~p(X,Y,Z) V p(s(X),Y,s(Z)) U L = {0,s(0),s(s(0)),…} B L = {p(0,0,0), p(s(0),0,0),p(s(0),s(0),0),…}

31 INTERPRETAZIONI DI HERBRAND (H-interpretazione) per L è uninterpretazione tale che: i)il suo dominio è U L ii)ad ogni costante a di L è assegnata la costante stessa iii)ad ogni funzione n-aria f di L è assegnata la funzione da (U L ) n a U L, che assegna il termine f(t 1,…,t n ) alla n-upla di termini t 1,…,t n iv)ad ogni predicato n-ario p in L è assegnato un insieme di n-uple di termini di U L

32 INTERPRETAZIONI E MODELLI DI HERBRAND ogni H-interpretazione per L è determinata in modo univoco da un sottoinsieme qualunque (anche vuoto) di B L, che definisce linsieme degli atomi ground che sono veri sia A un insieme di formule chiuse del linguaggio del primordine L 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 dallinsieme di formule (programma) invece che dal relativo linguaggio del primordine

33 INTERPRETAZIONI DI HERBRAND: UN ESEMPIO linsieme di clausole A 1.p(0,X,X) 2.~p(X,Y,Z) V p(s(X),Y,s(Z)) U A = {0,s(0),s(s(0)),…} B A = {p(0,0,0), p(s(0),0,0),p(s(0),s(0),0),…} I A 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))),…} I A 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))),…} I A 2 non è certamente un H-modello di A

34 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(t 1,…,t n ) B S | p(t 1,…,t n ) è 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 iff non possiede modelli di Herbrand il teorema ed il corollario non valgono per insiemi di formule chiuse arbitrarie

35 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 lUniverso 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) nellassioma 2; nella versione skolemizzata introdurrebbe una nuova costante (di Skolem)

36 CLAUSOLE E H-INTERPRETAZIONI: PROPRIETA' una H-interpretazione è un sottinsieme della base e si può 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 H-interpretazione I iff c' I una clausola c è soddisfatta in una H-interpretazione I iff ogni istanza ground lo è. una clausola c è falsificata in una H-interpretazione I iff c'è almeno una istanza ground che lo è. un insieme di clausole S è insoddisfacibile iff per ogni H-interpretazione I, c'è almeno una istanza ground di qualche c in S che non è soddisfatta da I.

37 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 luso di fbf non clausali è necessario considerare interpretazioni arbitrarie

38 ALBERI SEMANTICI linsieme di tutte le H-interpretazioni può essere rappresentato da un albero (lalbero 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).

39 ALBERI SEMANTICI Sia B S = {A 1, A 2,…,A n,…} la Base di Herbrand della teoria S un corrispondente albero semantico binario: se lUniverso e la Base di Herbrand sono infiniti (se esiste almeno un simbolo di funzione), lalbero semantico è un albero binario infinito

40 ALBERI SEMANTICI Ogni cammino sullalbero semantico è una H-interpretazione: linsieme degli atomi positivi del cammino Ad ogni nodo N è associata la H-interpretazione (parziale) I(N). Un albero semantico è completo se per ogni foglia N, I(N) contiene A o ~A per ogni A in B S.

41 NODI DI FALLIMENTO un nodo n dellalbero semantico è un nodo di fallimento per linsieme di clausole S, se esiste almeno una clausola c di S tale che –c (unistanza ground di c) è falsa nellH-interpretazione I n –tutte le clausole di S (tutte le loro istanze ground) non sono false in tutte le H-interpretazioni I m con m antenato di n, cioè nessun nodo m antenato di n è un nodo di fallimento.

42 ALBERI SEMANTICI CHIUSI 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 dellalbero semantico è un nodo inferenza per linsieme di clausole S, se tutti i suoi immediati successori sono nodi fallimento.

43 TEOREMA DI HERBRAND (versione 1) Un insieme di clausole S è insoddisfacibile iff per ogni albero semantico completo c'è un corrispondente albero semantico finito e chiuso. Prova si assuma S insoddisfacibile, sia T il suo albero semantico, sia r un cammino di T –poiché S è insoddisfacibile, I r deve rendere falsa unistanza 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

44 TEOREMA DI HERBRAND: UN ESEMPIO la teoria del primordine 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) linsieme di clausole c1:p(a,a) c2:~p(X,Y) p(f(X),f(Y)) c3:~p(f(a),X) lUniverso 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)),…}

45 TEOREMA DI HERBRAND: UN ESEMPIO c1:p(a,a) c2:~p(X,Y) p(f(X),f(Y)) c3:~p(f(a),X) lalbero semantico è chiuso (i nodi di fallimento sono etichettati con la clausola che fallisce in quel nodo)

46 TEOREMA DI HERBRAND: UN ESEMPIO la costruzione dellalbero 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

47 TEOREMA DI HERBRAND (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à: (Gilmore[1960], Davis&Putnam [1960],…)

48 Metodi di verifica a)algoritmo per generare sistematicamente le istanze ground delle clausole (la procedura di Herbrand): al passo i-esimo si istanziano le clausole sostituendo le variabili con termini di HU k tale che k i b) algoritmo per verificarne linsoddisfacibilità: un qualunque algoritmo per il calcolo proposizionale 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 T. di Herbrand –evita la generazione di insiemi di istanze ground

49 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 prosegui con –S"={ {...,,...},...} Regola del letterale puro Se un letterale L non compare mai come ~L è puro, 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 iff lo è S 1 S 2

50 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' linsieme ottenuto aggiungendo allinsieme di clausole S le clausole derivabili da S con il principio di risoluzione se S è insoddisfacibile, anche S' è insoddisfacibile lalbero semantico (chiuso) di S' è strettamente più piccolo di quello di S iterando lapplicazione 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 []

51 IL PRINCIPIO DI RISOLUZIONE NEL CALCOLO PROPOSIZIONALE estensione della regola del letterale unico di Davis&Putnam siano c 1 e c 2 due clausole qualunque c 1 = a 1 1 a 2 1 … a n 1 c 2 = a 1 2 a 2 2 … a m 2 tali che i letterali a i 1 e a j 2 sono complementari il risolvente di c 1 e c 2 è la clausola a 1 1 … a i-1 1 a i+1 1 … a n 1 a 1 2 … a j-1 2 a j+1 2 … a n 2 disgiunzione delle clausole ottenute eliminando i letterali complementari esempi c 1 = p r c 2 = ~p q c 1,2 =r q c 1 = ~p q r c 2 = ~q s c 1,2 = ~p r s c 1 = ~p q c 2 = ~p r c 1,2 non esiste il risolvente, se esiste, di due clausole unitarie è la clausola vuota []

52 CORRETTEZZA DEL PRINCIPIO DI RISOLUZIONE NEL CALCOLO PROPOSIZIONALE Teorema Date due clausole c 1 e c 2, un risolvente c di c 1 e c 2 è conseguenza logica di c 1 e c 2 Prova siano c 1 = a c 1 ', c 2 = ~a c 2 ' e c = c 1 ' c 2 ', con c 1 ' e c 2 ' disgiunzioni di letterali sia I un modello di c 1 e c 2 in I è falso a oppure ~a supponiamo sia falso a c 1 ' non può essere vuoto e deve essere vero in I (altrimenti I non sarebbe un modello di c 1 ) è vero in I anche c = c 1 ' c 2 ' analogamente, se ~a è falso, c 1 ' (e quindi c) vero in I quindi, in ogni caso, c è vero in I come vedremo nel contesto dei linguaggi del primordine, il principio di risoluzione è una regola di inferenza completa per la dimostrazione dellinsoddisfacibilità 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

53 PRINCIPIO DI RISOLUZIONE NEI LINGUAGGI DEL PRIMORDINE c 1 = p(X) q(X)c 2 = ~p(f(Y)) r(Y) servono letterali complementari, che esistono se consideriamo opportune istanze di c 1 e c 2 –c 1 ' = p(f(a)) q(f(a))c 2 ' = ~p(f(a)) r(a) c 1,2 ' = q(f(a)) r(a) –c 1 " = p(f(Y)) q(f(Y))c 2 " = ~p(f(Y)) r(Y) c 1,2 " = q(f(Y)) r(Y) c 1,2 " è più generale di c 1,2 ', ed è anzi la più generale fra le clausole ottenibili da c 1 e c 2 mediante il procedimento istanziazione + risoluzione proposizionale ogni altra clausola è una istanza di c 1,2 " c 1,2 " è il risolvente di c 1 e c 2 deduzione di c da S: c 1,...,c n tale che ogni c i è una clausola di S o un risolvente di clausole precedenti e c n = c refutazione: deduzione di [] da S

54 SOSTITUZIONI una sostituzione è un insieme finito della forma {v 1 t 1,…, v n t n } v i è una variabile t i è un termine diverso da v i le variabili v i, 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 t i, i=1,…,n sono ground siano = {v 1 t 1,…, v n t n } una sostituzione ed E una espressione (termine, atomo, insieme di termini, etc.) lapplicazione di ad E è lespressione ottenuta da E sostituendo simultaneamente ogni occorrenza di v i, i=1,…,n con il termine t i il risultato dellapplicazione (denotato da E ) è una istanza di E la sostituzione è grounding per l'espressione E se E è una istanza ground di E

55 SOSTITUZIONI siano = {X 1 t 1,…, X n t n } e = {Y 1 u 1,…, Y m u m } due sostituzioni la composizione di e (denotata da ) è la sostituzione così definita i) costruiamo linsieme {X 1 t 1,…, X n t n, Y 1 u 1,…, Y m u m } ii) eliminiamo dallinsieme gli elementi X i t i tali che t i = X i iii) eliminiamo dallinsieme gli elementi Y j u j tali che Y j occorre in {X 1,…, X n } Alcune delle proprietà delle sostituzioni: –la composizione di sostituzioni è associativa ( ) = ( ) –la sostituzione vuota è identità sia sinistra che destra = =

56 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}

57 UNIFICAZIONE DI INSIEMI DI ESPRESSIONI sia dato un insieme di espressioni (termini, atomi, etc.) {E 1,…, E k } una sostituzione è un unificatore per {E 1,…, E k } iff E 1 = E 2 = …= E k un insieme {E 1,…, E k } è unificabile iff esiste una sostituzione tale che è un unificatore per {E 1,…, E k } linsieme {p(a,Y), p(X,f(b))} è unificabile dato che la sostituzione = {X a, Y f(b)} è un unificatore per linsieme un unificatore per linsieme {E 1,…, E k } è lunificatore più generale (most general unifier, mgu) iff per ogni unificatore dellinsieme {E 1,…, E k } esiste una sostituzione tale che = esiste un algoritmo (algoritmo di unificazione), che, dato un insieme di espressioni E = {E 1,…, E k }, –rivela la sua non unificabilità, oppure –calcola un unificatore più generale per E

58 MGU DI DUE ESPRESSIONI: UN ALGORITMO NAïF inizia con t 1, t 2 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 {t 1, t 2 }) altrimenti, siano t 1,i and t 2,i le prime due sottoespressioni diverse se nè t 1,i nè t 2,i sono una variabile, termina con fallimento altrimenti, supponiamo che t 1,i sia la variable V se t 2,i contiene V, termina con fallimento altrimenti, applica la sostituzione {V t 2,i } a t 1 e t 2 µ i = µ i-1 {V t 2,i } riprendi la scansione delle espressioni dove era stata sospesa da notare che le sostituzioni cicliche causano fallimento (loccur check è necessario!)

59 MGU DI DUE ESPRESSIONI: UN ESEMPIO E = {p(a,X,f(g(Y))), p(Z,f(Z),f(U))} –µ 0 = t 1,1 = a t 2,1 = Z –µ 1 = {Z a} = {Z a} E 1 = {p(a,X,f(g(Y))), p(a,f(a),f(U))} t 1,2 = X t 2,2 = f(a) –µ 2 = {Z a} {X f(a)} = {Z a, X f(a)} E 2 = {p(a,f(a),f(g(Y))), p(a,f(a),f(U))} t 1,3 = g(Y) t 2,3 = U –µ 3 = {Z a, X f(a)} {U g(Y)} = {Z a, X f(a), U g(Y)} E 3 = {p(a,f(a),f(g(Y)))} –µ 3 è un mgu per E

60 Teorema di Unificazione 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; altrimenti terminerà con fallimento.

61 PRINCIPIO DI RISOLUZIONE NEI LINGUAGGI DEL PRIMORDINE Se la clausola c = L 1 … L n contiene un insieme di letterali unificabile, con unificatore più generale, la clausola [L 1 … L n ] viene detta fattore unitario di c c = p(X) p(f(Y)) q(X) i primi due letterali sono unificabili con mgu {X f(Y)} 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

62 PRINCIPIO DI RISOLUZIONE NEI LINGUAGGI DEL PRIMORDINE L i 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: c 1 = ~p(s(0),s(0),W) ~p(W,s(0),W 1 ) c 2 = ~p(X,Y,Z) p(s(X),Y,s(Z)) = {X 0, Y s(0), W s(Z) } c 1,2 = ~p(s(Z),s(0),W 1 ) ~p(0,s(0),Z)

63 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' linsieme ottenuto aggiungendo allinsieme 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 lalbero semantico (chiuso) di S' è strettamente più piccolo di quello di S iterando lapplicazione 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 []

64 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 unistanza ground di c' deve essere falsa in M unistanza ground di c è falsa in M M non può essere un modello di c

65 IL PRINCIPIO DI RISOLUZIONE É UNA REGOLA DI INFERENZA CORRETTA teorema: se c 1 e c 2 sono clausole e c è un loro risolvente binario, c è conseguenza logica di c 1 e c 2 il risolvente può essere calcolato componendo due regole (listanziazione e la risoluzione proposizionale) che sono state dimostrate essere regole di inferenza corrette

66 TEOREMA DI CORRETTEZZA DEL METODO DI RISOLUZIONE Se dallinsieme di clausole S è possibile derivare con il principio di risoluzione la clausola vuota [], linsieme 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

67 LEMMA DI GENERALIZZAZIONE Siano c' 1 e c' 2 istanze di c 1 e c 2 sia c' un risolvente di c' 1 e c' 2 esiste un risolvente c di c 1 e c 2 tale che c' è una istanza di c dimostrazione c 1 = A 1 1 V…V A 1 n e c 2 = A 2 1 V…V A 2 m non hanno variabili comuni (eventualmente si ridenomina) c' = [ A 1 1 V…V A 1 i-1 V A 1 i+1 V…V A 1 n V A 2 1 V…V A 2 j-1 V A 2 j+1 V…V A 2 m ] = [ A 1 1 V…V A 1 i-1 V A 1 i+1 V…V A 1 n V A 2 1 V…V A 2 j-1 V A 2 j+1 V…V A 2 m ], dove c' 1 = c 1, c' 2 = c 2, è lmgu di A 1 i e ~A 2 j, cioè [A 1 i ] = ~[A 2 j ] A 1 i e ~A 2 j sono unificabili, in quanto è un loro unificatore esiste un loro unificatore più generale tale che per una opportuna sostituzione esiste un risolvente di c 1 e c 2 rispetto ai letterali A 1 i e A 2 j c = [ A 1 1 V…V A 1 i-1 V A 1 i+1 V…V A 1 n V A 2 1 V…V A 2 j-1 V A 2 j+1 V…V A 2 m ] c' = [ A 1 1 V…V A 1 i-1 V A 1 i+1 V…V A 1 n V A 2 1 V…V A 2 j-1 V A 2 j+1 V…V A 2 m ] = c

68 NODI DI INFERENZA consideriamo lalbero semantico chiuso di un insieme di clausole S insoddisfacibile, un nodo di inferenza è un nodo dellalbero semantico, tale che entrambe i suoi successori sono nodi di fallimento se le clausole che falliscono nei successori del nodo di inferenza n sono c k e c j, possiamo inferire da c k e c j una nuova clausola r kj (che è proprio un risolvente) tale che: r kj fallisce nel nodo n o in un nodo antenato di n

69 NODI DI INFERENZA: ESEMPIO C1:P(a,a) C2:~P(X,Y) P(f(X),f(Y)) C3:~P(f(a),X)

70 NODI DI INFERENZA: ESEMPIO le clausole che falliscono sotto il nodo dinferenza 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

71 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 in un nodo n sopra n. Dimostrazione sia n un nodo di inferenza, siano n 1 e n 2 i nodi di fallimento suoi immediati successori, e sia m n+1 latomo assegnato a vero o a falso sotto il nodo n poiché n 1 e n 2 sono nodi di fallimento, mentre n non lo è, devono esistere due istanze ground c' 1 e c' 2 delle clausole c 1 e c 2 tali che c' 1 e c' 2 sono false in n 1 e n 2 rispettivamente e non sono falsificate da n c' 1 e c' 2 devono contenere ~m n+1 e m n+1 rispettivamente il risolvente rispetto a questi due letterali c' = (c' 1 - ~m n+1 ) (c' 2 - m n+1 ) fallisce in un nodo n sopra n poiché sia (c' 1 - ~m n+1 ) che (c' 2 - m n+1 ) sono falsificati da n (lunico letterale che non falliva è stato tolto!) per il lemma di generalizzazione, esiste un risolvente c di c 1 e c 2, tale che c' è una istanza ground di c (anche c fallisce in n)

72 TEOREMA DI COMPLETEZZA DEL METODO DI RISOLUZIONE Se linsieme 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 lipotesi di finitezza) per il lemma dei nodi di inferenza, esiste un risolvente c di clausole in S, che fallisce almeno in n sia T' lalbero 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 (lalbero iniziale è finito!) si raggiunge la clausola vuota [] e si ottiene un albero semantico chiuso formato dalla sola radice

73 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)

74 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)

75 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

76 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 lastuzia principale sta nellunificazione –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 linteresse 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 )

77 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

78 STRATEGIE DI RISOLUZIONE 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 indice minore di ogni clausola (non si può mescolare con altre strategie).

79 Esempio S= {~q ~ p r, r p, r q, ~r} S= {~q r, ~p r, ~q ~ p, p, q} S= {~q, ~p, r} S= {[]} ---- I= {~q, ~p, ~r} S 1 = {~q ~ p r, ~r} {~q r, ~ p r} S 2 = {r p, r q} {p, q} {r} ---- p>q>r: ~q r r []

80 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 c i e c j, con c i antenato di c j teorema Se una teoria è insoddisfacibile, possiede almeno un albero di rifiuto ancestry-filtered E simile alla strategia lineare, su cui si basa la programmazione logica

81 RISOLUZIONE LINEARE unaltra strategia completa dallinsieme S viene prelevata una clausola c 0 (clausola iniziale) un albero di rifiuto lineare ha la seguente proprietà: –per i=1,…,n-1 c i+1 è un risolvente di c i (clausola centrale) e b i (clausola laterale) –ogni b i appartiene a S oppure è un c j per j

82 RISOLUZIONE LINEARE

83 teorema di completezza se S è insoddisfacibile e S- c 0 è soddisfacibile, esiste un albero di rifiuto lineare con clausola iniziale c 0

84 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 clausola unitaria (come la input non completa) SL ed SLD resolution

85 UN ESEMPIO La teoria ~q pq p~p q La formula da dimostrare ~p ~q Risoluzione lineare

86 UN ESEMPIO Input resolution

87 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.

88 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

89 Esempio di derivazione SLD una refutazione è una sequenza di goal che termina con il goal vuoto. una derivazione finita che non termina con la clausola vuota è detta fallita.


Scaricare ppt "Appunti del corso: Intelligenza Artificiale II Dimostrazione automatica di Teoremi Prof. Maurizio Martelli DISI Università di Genova."

Presentazioni simili


Annunci Google