Logica del primo ordine



Похожие документы
Linguaggi. Claudio Sacerdoti Coen 11/04/ : Semantica della logica del prim ordine. Universitá di Bologna

(anno accademico )

Alcune nozioni di base di Logica Matematica

Algebra di Boole ed Elementi di Logica

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

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

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

LOGICA PER LA PROGRAMMAZIONE. Franco Turini

Lezione 8. La macchina universale

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

Appunti di Logica Matematica

LE FUNZIONI A DUE VARIABILI

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

Trasformazione in clausole

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

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Predicati e Quantificatori

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

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

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

logica dei predicati

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Corso di Informatica

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

Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Errori più comuni. nelle prove scritte

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Teoria degli insiemi

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

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

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

Lezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme:

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

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Algoritmi e Complessità

Calcolatori: Algebra Booleana e Reti Logiche

Logica proposizionale

Nozione di algoritmo. Gabriella Trucco

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI

Logica del primo ordine

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Ricorsione in SQL-99. Introduzione. Idea di base

Appunti sulla Macchina di Turing. Macchina di Turing

2. Semantica proposizionale classica

Lezione 9: Cambio di base

ALGEBRA DELLE PROPOSIZIONI

LOGICA MATEMATICA E CONCETTUALIZZAZIONE

Anno 1. Definizione di Logica e operazioni logiche

Tipologie di pianificatori. Pianificazione. Partial Order Planning. E compiti diversi. Pianificazione gerarchica. Approcci integrati

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Semantica Assiomatica

Elementi di Informatica e Programmazione

Fasi di creazione di un programma

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

1. PRIME PROPRIETÀ 2

Programmazione I - Laboratorio

Ottimizzazione Multi Obiettivo

Lezioni di Matematica 1 - I modulo

Sudoku: ancora un esercizio

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

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

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

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni.

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Analizzatore lessicale o scanner

1 Giochi a due, con informazione perfetta e somma zero

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

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

La programmazione con vincoli in breve. La programmazione con vincoli in breve

I.I.S. Primo Levi Badia Polesine A.S

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

Parte 6. Applicazioni lineari

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

APPLICAZIONI LINEARI

Logica dei predicati

Il Modello Relazionale

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

3 GRAFICI DI FUNZIONI

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Dall italiano al linguaggio della logica proposizionale

Il Metodo Branch and Bound

RETTE, PIANI, SFERE, CIRCONFERENZE

Capitolo 7: Teoria generale della calcolabilitá

Corso di Matematica per la Chimica

Транскрипт:

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 1 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 prim ordine 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 l applicazione 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 p P 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 Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 5 Esempio D dominio dei numeri naturali, interpretazione I definita in modo ovvio pari(2) è vera in I pari(1) è falsa in I X pari(x) è vera in I Xpari(X) è falsain I X (pari(x) dispari(x)) è vera in I X (pari(x) dispari(x)) è vera in I X (pari(x) dispari(x)) è falsa 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). Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 6

Conseguenza logica una formula G è conseguenza logica di una formula F (indicato con F = G) sse ogni modello di F è anche un modello di G Esempi p(a) p(b) = p(a) p(a) p(b) = p(a) p(b) p(a) = X p(x) ma X p(x) =/= p(a) X p(x) = X p(x) X p(x) = p(a1) p(an) Teorema di dimostrazione: Se F è soddisfacibile, allora G è conseguenza logica di F sse F G è insoddidfacibile Dimostrazione se G è conseguenza logica di F allora ogni modello di F soddisfa G, quindi non soddisfa G e quindi F G è insoddisfacibile se F G è insoddisfacibile allora poiché F è soddisfacibile si deve avere che ogni modello di F non soddisfa G, ossia ogni modello di F soddisfa G e quindi G è conseguenza logica di F Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 7 Esempio p(a) p(b) = p(a) I = { a=2, b=4, p=pari } p(a) p(b) è soddisfacibile (I la rende vera) p(a) è conseguenza logica perché p(a) p(b) p(a) è insoddisfacibile Infatti p(a) non può essere contemporaneamente vera e falsa a Console, Botta - Dip. Informatica, Univ. Torino First Order Logic 8

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 l analisi 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, l universo 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 l universo di Herbrand H(S) per S, la base di Herbrand B(S) è l insieme delle istanze ground delle formule atomiche (atomi) che occorrono in S Esempio dati S e H(S) come nell esempio 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 è l universo 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 nell interpretazione 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 A B 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

Caso della logica proposizionale La regola di risoluzione Due letterali si dicono opposti se uno è la negazione dell altro 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 P Q P R P Q P R S Q R 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 è l espressione 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 = {t 1/Y1,, t m/ym} la sostituzione composta s1 s2 (o s1s2) è definita come s1s2 = {t1s2/x1,, tns2/xn, t 1/Y1,, t m/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} è l unificatore 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 l unificatore 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 Esempi C: (C1 C2 )s 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 prim ordine 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 l insieme 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) s(a) p(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 dell albero effettuando la ricerca della clausola vuota spazio di ricerca ampio: strategie di risoluzione strategia dell insieme 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 è nell insieme 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