APPENDICE. Sintassi e semantica FOL (Firts Order Logic)

Slides:



Advertisements
Presentazioni simili
Algebra Relazionale 3 Università degli Studi del Sannio
Advertisements

Definitezza Vogliamo poter richiedere la “definitezza” delle funzioni
Calcolo Relazionale.
Algebra e calcolo relazionale (parte 2)
Vincoli sulle basi di dati
Sommario Nelle lezioni precedenti abbiamo introdotto tutti gli elementi che formano un particolare tipo di linguaggio logico, denominato linguaggio predicativo.
Algebra parziale con predicati
Specifiche Algebriche Modello Iniziale Versione 1.0 Gianna Reggio
Intelligenza Artificiale
Agenti logici: la logica del prim’ordine
Linguaggi di Programmazione (AA 2002/2003)
Semantica, inferenza e logica
Risoluzione e Programmazione Logica (Prolog)
Il ragionamento classico
Introduzione alla Logica Modale.
Slide 1 [GMJ91, Sez. 5.5] [G87] u Condition-Event nets u Place-Transition nets u Time Petri Nets [Merlin] u Priorità u Token con valore u Richiami di logica.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 7 Prof. M.T. PAZIENZA a.a
Maria Teresa PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
11/10/2001Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3 1 Viste (relazioni derivate) Rappresentazioni diverse per gli stessi dati (schema esterno)schema.
Intelligenza Artificiale II Dimostrazione automatica di Teoremi
Specifiche Specifiche = descrizione delle caratteristiche di un prodotto Esempio non informatico: la specifica di un detersivo è data da quale quantità.
Formule (linguaggi elementari). PRIMA Occorre sapere che cosè un termine.
Linguaggi elementari p. 14.
Semantica di Tarski.
Qualche esempio di tableaux
Semantica per formule di un linguaggio proposizionale p.9 della dispensa.
Intelligenza Artificiale
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Conoscenza e ragionamento Logica dei predicati del primo ordine.
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Logica dei predicati del primo ordine.
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Inferenza nella logica dei predicati del primo ordine.
Logica proposizionale Sintassi vs Semantica
Lezione III Laboratorio di Programmazione. while e do while do S1; while(E); //S1 e eseguita almeno 1 volta E = vero? SI NO S1 while (E) S1; E = vero?
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Intelligenza Artificiale
Verità in un Modello Herbrandt Per costruire il mondo corrente, con Universo U e interpretazione di herbandt H: makeUniverso(U) asserisce individuo(I)
Linguaggi e Modelli Computazionali LS - Prof E.Denti
Riassunto delle puntate precedenti:
Esercitazione di Logica
Esecuzione dei programmi Prolog Liste ed operatori aritmetici
Agenti logici: calcolo proposizionale Maria Simi a.a. 2008/2009.
Definire operatori Strutture dati Fabio Massimo Zanzotto (slides di Andrea Turbati)
Corso di logica matematica
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Controllare Tipi Dati Decomporre fatti Controllare il database Fabio Massimo Zanzotto (slides di Andrea Turbati)
La logica è lo studio del ragionamento.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 19 Prof. M.T. PAZIENZA a.a
Logica Lezione ESAME FINALE Si svolgerà dalle 10 alle 11 Mercoledì 18 Dicembre in AULA A Si raccomanda di venire con il libretto.
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
ALGEBRA E CALCOLO RELAZIONALE
Lezz. 4-6 Filosofia del linguaggio Semestre II Prof. F. Orilia.
La logica Dare un significato preciso alle affermazioni matematiche
FIRST-ORDER LOGIC (FOL)
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Logica Lezz Nov Reiterazione (RE) P |- P 1 P A 2 P & P 1,1, &I 3 P 2, & E.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale – M. Ornaghi 1 Lezione 18 Rappresentazione della conoscenza II.
Intelligenza Artificiale – M. Ornaghi 1 Lezione 17 Rappresentazione della conoscenza.
Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini VI. La dimostrazione e il general.
Intensione/estensione. senso e riferimento: schema nomi propri predicati enunciati sensomodo di presentazione di...pensiero   (condizioni verità) riferimentooggetticoncettiValori.
Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini V. La logica dei predicati. Sintassi.
Fil Ling Lezioni 11-12, 9/3/15. Annunci Non si terranno le lezioni di Lunedì 16 Marzo Non si terrà la lezione di Mercoledì 1 Aprile.
Fil Ling Lez. 7, 19 Ott (sulla logica tenuta da Michele Paolini Paoletti)
Logica Lez. 28, 27 aprile AVVISI ultimo compito per casa: Consegnarlo entro lunedì 4 maggio. Le soluzioni saranno nel sito il 5 maggio esame finale.
Logica Lezione 19, Distribuire compito 3 DATA esame in classe intermedio: Lunedì 20 aprile.
INSIEMI E LOGICA PARTE QUARTA.
Transcript della presentazione:

APPENDICE. Sintassi e semantica FOL (Firts Order Logic) Comp(P) e’ una formula del primo ordine pieno. Richiamiamo sintassi e semantica per chi non avesse seguito logica. Ci limitiamo alle interpretazioni di Herbrandt. Intelligenza Artificiale – M. Ornaghi

Intelligenza Artificiale – M. Ornaghi LA SINTASSI di FOL: Termine ::= Variabile | Costante | SimboloF(Termine,…,Termine) Atomica ::= SimboloP(Termine,…,Termine) Formula ::= Atomica | (not Formula) | (Formula  Formula) | (Formula  Formula) | (Formula  Formula) | (Formula  Formula) | (Formula  Formula) | (x Formula) | (x Formula). Intelligenza Artificiale – M. Ornaghi

Intelligenza Artificiale – M. Ornaghi Esempio Nei cortili ci sono solo cani e gatti, cioè se X è in un cortile è un cane o un gatto. Nel cortile corte3 ci sono un gatto e un cane. x,c (incortile(x,c)  cane(x)  gatto(x))  a,b (cane(a)  gatto(b)  incortile(a,corte3)  incortile(b,corte3)) Solite precedenze; i quantificatori hanno la precedenza di not Intelligenza Artificiale – M. Ornaghi

In prolog: le segnature % Segnatura corrente definita da una base dati con: % aconst(X) : X è una costante % avar(X) : X è una variabile % afunc(F,N) : F simbolo funzione N-ario % apred(P,N) : P simbolo predicato N-ario avar(X) :- member(X,[a,b,c,x]). aconst(X) :- member(X,[felix,pluto,corte3]). apred(cane,1). apred(gatto,1). apred(incortile,2). Intelligenza Artificiale – M. Ornaghi

In prolog: le atomiche in una segnatura aterm(X) :- aconst(X); avar(X); ( X =.. [F|Terms], afunc(F,N), terms(Terms,N) ). anAtom(X) :- X =.. [P|Terms], apred(P,N), terms(Terms,N). terms([],0). terms([T|TT],N) :- N > 0, M is N-1, aterm(T), terms(TT,M). Intelligenza Artificiale – M. Ornaghi

Intelligenza Artificiale – M. Ornaghi In prolog: le formule % uso operatori infissi :- op(200,xfy,&). :- op(220,xfy,v). :- op(150,fy,non). :- op(250,xfx,imp). :- op(250,xfx, se). :- op(250,xfx,sse). aformula(X) :- anAtom(X); X = non A, aformula(A); X = A & B, aformula(A), aformula(B); X = A v B, aformula(A), aformula(B); X = A imp B, ….. X = exi(V,A), avar(V), aformula(A); X = for(V,A), avar(V), aformula(A). Intelligenza Artificiale – M. Ornaghi

Intelligenza Artificiale – M. Ornaghi Variabili libere  è detto quantificatore universale ed  è detto quantificatore esistenziale In (Qx A), dove Q è un quantificatore, A è detta scopo di Qx Una variabile x occorre vincolata in una formula se occorre nello scopo di un quantificatore Qx; occorre libera se non occorre vincolata; può occorrere sia libera, sia vincolata. Una formula è chiusa se nessuna variabile occorre libera Le sostituzioni sostituiscono SOLO le occorrenze libere Le istanze chiuse o ground si ottengono sostituendo con termini ground tutte le occorrenze libere di variabili Intelligenza Artificiale – M. Ornaghi

Intelligenza Artificiale – M. Ornaghi ESEMPIO X,C (incortile(X,C)  cane(X)  gatto(X))  vede(X,Y) X quantificata X libera (X,C (incortile(X,C)  cane(X)  gatto(X))  vede(X,Y)){X/fido} = (X,C (incortile(X,C)  cane(X)  gatto(X))  vede(fido,Y) Le istanze ground nell’universo {fido,felix} sono 4: (X,C (incortile(X,C)  cane(X)  gatto(X))  vede(fido,fido) (X,C (incortile(X,C)  cane(X)  gatto(X))  vede(fido,felix) (X,C (incortile(X,C)  cane(X)  gatto(X))  vede(felix,fido) (X,C (incortile(X,C)  cane(X)  gatto(X))  vede(felix,felix) Intelligenza Artificiale – M. Ornaghi

Sostituzione in Prolog % La sostituzione distingue fra quantificatori e qualsiasi altro operatore; % conviene introdurre due decomposizioni in sottoespressioni: quantified(QF,Q,V,Sub) :- F = [Q,V|Sub], member(Q,[for,exi]). compound(F,Op,Sub) :- F ..= [Op|Sub], ( afunc(Op,_); apred(Op,_); aPropositrionalOp(Op) ) aPropositionalOp(X) :- member(X,[non, &, v, imp, se, sse]) Intelligenza Artificiale – M. Ornaghi

Sostituzione in Prolog subst(X,S,T,Bounded) :- avar(X), % Bounded -> non sostituita member(X,Bounded) -> T=X; ( member(X/T1,S) -> T = T1; T = X ). subst(C,_,C,_) :- aconst(C). subst(F,S,F1,BoundV) :- compound(F,Op,Sub), substlist(Sub,S,Sub1,BoundV), compound(F,Op,Sub1). subst(QF,S,QF1,BoundV) :- quantified(QF,Q,V,Subf), substlist(Subf,S1,Subf1,[V|BoundV]), quantified(QF1,Q,V,Subf1). substlist([X|L],S,[X1|L1],B) :- subst(X,S,X1,B), substlist(L,S,L1,B). substlist([],_S,[],_B). Intelligenza Artificiale – M. Ornaghi

Modelli di Herbrandt in Prolog Ci limitiamo al caso privo di funzioni; ci sono solo costanti, come in datalog. Usiamo: intp(Interp, [C1,…,Cn], [A1,..,An]) : C1,..,Cn è l’universo di Herbrandt dominio di Interp e A1,…,An sono tutti e soli i fatti veri in Interp Esempio: intp(caniegatti, [felix,fido], [vede(felix,fido), scappa(felix)]). Intelligenza Artificiale – M. Ornaghi

Verità in un modello di Herbrandt Base. A atomica chiusa: H |= A sse A  H Passo. H |= A sse non H |= A H |= A  B sse H |= A e H |= B H |= A  B sse H |= A o H |= B H |= x A sse H |= A per ogni istanza chiusa A H |= x A sse H |= A per almeno un’istanza chiusa A Nota. A  B equivale a  A  B A  B equivale a B  A A  B equivale a (A  B)  (A  B) Intelligenza Artificiale – M. Ornaghi

Intelligenza Artificiale – M. Ornaghi Esercizio Prolog Usando le rappresentazione e i predicati prolog definiti nei lucidi precedenti e messi nel file prolog allegato alla lezione, definire i seguenti predicati, dove V e’ una variabile, A,A1 sono formule chiuse e H e’ un’interpretazione di Herbrandt: istanza(V/C,A,A1,H) : significa “A1 = A{V/C} per un C nel dominio di H” H /= A : significa “A è vera in H” Per la quantificazione universale si puo’ usare il predicato predefinito prolog forall come segue: forall(istanza(V/_,A,A1,H), vera(A1,H)). Intelligenza Artificiale – M. Ornaghi

Intelligenza Artificiale – M. Ornaghi Esempio xy ( cane(x)  incortile(x,y))  x (cane(x)  abbaia(x)) È vera nella seguente interpretazione? cane(pluto). Universo = {pluto,felix,c1} abbaia(pluto). gatto(felix). incortile(pluto,c1). Intelligenza Artificiale – M. Ornaghi

Intelligenza Artificiale – M. Ornaghi cane(pluto). Universo = {pluto,felix,c1} abbaia(pluto). gatto(felix). incortile(pluto,c1). 1. xy ( cane(x)  incortile(x,y)) vero? x (cane(x)  abbaia(x)) vero? Risolviamo 1. Scegliamo l’istanza x=pluto y ( cane(pluto)  incortile(pluto,y)) vero? Scegliamo l’istanza y = c1 cane(pluto)  incortile(pluto,c1) vero? ora come nel proposizionale Intelligenza Artificiale – M. Ornaghi

Intelligenza Artificiale – M. Ornaghi cane(pluto). Universo = {pluto,felix,c1} abbaia(pluto). gatto(felix). incortile(pluto,c1). 1. xy ( cane(x)  incortile(x,y)) vero? x (cane(x)  abbaia(x)) vero? Risolviamo 2. Le istanze sono x=pluto, x=felix, x=c1 cane(pluto)  abbaia(pluto) vero? cane(felix)  abbaia(felix) vero? cane(c1)  abbaia(c1) vero? ora come nel proposizionale Intelligenza Artificiale – M. Ornaghi