X - Informatica
Transcript
X - Informatica
Logica dei Predicati: 1 Sintassi Corso di Logica e Reti Logiche, a.a. 2015-16 Roberto Basili (Università di Roma Tor Vergata) Roberto Basili 4/11/2016 2 Outline Motivazioni Espressività Deduzione in FOL Calcolo dei Predicati: Outline dei Temi Elementi del Linguaggio Sintassi delle formule Esempi ed esercizi proposti Roberto Basili 4/11/2016 3 Limiti dei Linguaggi Proposizionali Cosa (non) posso dire? (1) I banchieri sono ricchi. Aldo è povero. Quindi Aldo non è un banchiere. (2) I banchieri sono ricchi. Aldo è ricco. Quindi Aldo è un banchiere. (3) I banchieri sono biondi. I biondi sono ricchi. Quindi i banchieri sono ricchi. (4) I banchieri sono ricchi. I ricchi sono sempre felici. Quindi i banchieri sono sempre felici. Roberto Basili 4/11/2016 4 Limiti dei Linguaggi Proposizionali Cosa (non) posso dire? YES! (1) I banchieri sono ricchi. Aldo è povero. Quindi Aldo non è un banchiere. NO (2) I banchieri sono ricchi. Aldo è ricco. Quindi Aldo è un banchiere. Vera anche se premessa è falsa YES? (3) I banchieri sono biondi. I biondi sono ricchi. Quindi i banchieri sono ricchi. Falsa ma giustificata dalle premesse YES? (4) I banchieri sono ricchi. I ricchi sono sempre felici. Quindi i banchieri sono sempre felici. Roberto Basili 4/11/2016 5 Limiti dei Linguaggi Proposizionali Ma ciò che veramente è problematico con le frasi seguenti è che non si possano esprimere molte proprietà che ci aiutano a decidere: (1) I banchieri sono ricchi. Aldo è povero. Quindi Aldo non è un banchiere. ricchi vs. povero (2) I banchieri sono ricchi. Aldo è ricco. Quindi Aldo è un banchiere. essere un banchiere per chiunque non sia Aldo … (3) I banchieri sono biondi. I biondi sono ricchi. Quindi i banchieri sono ricchi. (4) I banchieri sono ricchi. I ricchi sono sempre felici. Quindi i banchieri sono sempre felici. Perché 3 e 4 sono vera/falsa? Roberto Basili 4/11/2016 6 Limiti dei Linguaggi Proposizionali Cosa posso dedurre da fatti noti e meccanismi di inferenza consistenti? MP: p1: «Tutti gli uomini sono mortali» p2: «Socrate è un uomo» t: «Socrate è mortale» Perché se ( p1 p2 ) t non è valida, questo ragionamento ci appare consistente? Roberto Basili 4/11/2016 7 Scopo Definire come un linguaggio formale più espressivo della logica proposizionale vista sinora, utile a descrivere e validare (cioè garantirne la correttezza) di argomentazioni, cioè successioni di enunciati linguistici di tipo descrittivo (ovvero, frasi di una lingua naturale che descrivono stati di cose, e che sono o veri o falsi). Roberto Basili 4/11/2016 8 Le Argomentazioni Un insieme di enunciati, , sono assunti come premesse (perché “evidenti”, o perché già condivisi dalle parti interessate all’argomentazione, o semplicemente per analizzarne le conseguenze); un enunciato, A, è invece derivato come conclusione. L’argomentazione è valida se la conclusione (A) è certamente vera sotto l’ipotesi che lo siano le premesse (). In tal caso, si dice anche che la conclusione è conseguenza logica delle premesse o che le premesse comportano (in inglese: entail) la conclusione e si scrive: A. Roberto Basili 4/11/2016 9 Un esempio motivante Ci interessano i blocchi e alcune loro relazioni spaziali Dominio: {a, b, c, d, e} Le funzioni: si individuano le funzioni rilevanti che servono anch’esse per identificare oggetti. Es. Hat la funzione unaria che dato un blocco identifica il blocco che ci sta sopra; Hat(b)=a Le relazioni: si individuano le relazioni interessanti. Es. On= {<a, b>, <b, c>, <d, e>} Clear= {a, d} Table= {c, e} Block= {a, b, c, d, e} Roberto Basili 4/11/2016 10 Gli Elementi del linguaggio: Come sono fatti gli elementi di tale linguaggio? Gli elementi di un linguaggio predicativo debbono almeno contenere i seguenti elementi Le Relazioni sussistenti tra elementi del dominio che sono oggetto di descrizione (affermazione o negazione) Le Costanti del discorso Nomi di individui Funzioni operanti sugli individui del dominio Le denotazioni di variabili Roberto Basili 4/11/2016 11 Elementi del linguaggio: le Relazioni Alcuni esempi Su/2 come «posto di sopra» PadreDi/2 come espressione di una «direzione» che determina una gerarchia SottoinsiemeDI/2 che è simile ad una gerarchia e che vale negli insiemi, ma che non è sempre unidirezionale (è una specie di relazione uno-a-molti tra figli e padri) Roberto Basili 4/11/2016 12 Elementi del Linguaggio: costanti e variabili I simboli di costanti e variabili sono rigidamente separati: La proprietà comune è che essi costituiscono nomi per rappresentare entità individuali Se in una espressione si ripete l’uso di una costante o di una variabile si intende sempre lo stesso individuo perché il suo nome non è cambiato … Le costanti sono denotazioni di singoli individui che non variano tra formule diverse: è rigida la associazione tra nome ed individuo Le variabili sono denotazioni di un individuo non rigide In formule diverse le variabili possono rappresentare individui diversi Sono diversi gli individui interessati da una espressione che contiene una variabile, ad es. pari(X) con X aperto a denotare diversi numeri (anche se uno per volta ….) Roberto Basili 4/11/2016 13 Calcolo dei Predicati: verso la sintassi Il linguaggio predicativo del primo ordine è detto anche linguaggio predicativo elementare perché consente di predicare proprietà e relazioni concernenti gli elementi di un “universo del discorso”, detto comunemente dominio. Questo linguaggio può essere visto come l’idealizzazione di un frammento del linguaggio umano. Come nelle lingue naturali, esistono due tipi di espressioni: i termini, utilizzati per fare riferimento a individui del dominio; le formule, e più in particolare gli enunciati, utilizzate per descrivere stati di cose riguardanti gli individui del dominio. Roberto Basili 4/11/2016 14 Calcolo Predicativo: i termini Il modo più semplice definire gli elementi di un dominio è l’uso di un “identificatore”, che funzioni proprio come un nome proprio. A questo scopo il linguaggio del primo ordine prevede l’uso di un insieme (eventualmente vuoto) di identificatori, chiamati costanti individuali o più semplicemente costanti. Essi fanno individualmente riferimento ad una entità (individuo) del dominio Roberto Basili 4/11/2016 15 Calcolo Predicativo: i termini (2) Inoltre ad un individuo si può fare riferimento anche con un’espressione di tipo funzionale, come “il padre di ...”, dove “padre di” è vista come una funzione agente sugli individui del dominio. Il linguaggio prevede un insieme (eventualmente vuoto, al più numerabile) di funtori (o simboli di funzione). Per i funtori adotteremo le lettere f, g, h, ..., Ogni funtore f ha un numero prefissato n di argomenti; questo numero è detto l’arità del funtore. E’ possibile ammettere anche funtori con arità zero, che corrispondono alle espressioni costani Roberto Basili 4/11/2016 16 Calcolo Predicativo: i termini (3) La definizione formale di termine è dunque ricorsiva: ogni costante individuale, denotata dalle prime lettere dell’alfabeto quali a, b, c, …, è un termine; ogni variabile individuale denotata dalle ultime lettere dell’alfabeto quali x, y, z, t, u, …, è un termine; ogni espressione della forma f(t1,...,tn) è un termine se f è un funtore di arità n e tutti i tk sono termini. Roberto Basili 4/11/2016 17 Esempi di termini Se assumiamo che f e g siano funtori di arità uno e h sia un funtore di arità due, allora i seguenti sono tutti termini ben formati: a X f(a) g(x) h(a,b) h(f(a),g(f(x)) Roberto Basili 4/11/2016 18 Calcolo Predicativo: le Relazioni Il modo più immediato di descrivere uno stato di cose consiste nel dire che fra certi individui sussiste una data relazione. I simboli di relazione costituiscono un insieme (non vuoto, al più numerabile) di predicati, per i quali adotteremo le lettere P, Q, R, ..., Ogni predicato P ha un numero prefissato n di argomenti; questo numero è detto l’arità del predicato. Roberto Basili 4/11/2016 19 Calcolo Predicativo: le Relazioni (2) I predicati di arità due (o “a due posti”) sono utilizzati per rappresentare relazioni binarie. Così, se a Antonio e Bruno si fa riferimento rispettivamente con le costanti a e b, e la relazione “fratello” è rappresentata dal predicato P, la frase “Antonio è il fratello di Bruno” si rappresenta come P(a,b). Utilizzando predicati di arità adeguata, è possibile rappresentare relazioni anche fra terne, quaterne, … o n-ple di individui. I predicati a un posto rappresentano le proprietà di individui. Ad esempio, se il predicato G rappresenta la proprietà “giovane”, la frase “Abel è giovane” si rappresenta come G(a). Roberto Basili 4/11/2016 Calcolo dei Predicati: le Formule atomiche (ATOMI) Simboli costanti e variabili, termini ed espressioni funzionali in generale e predicati ci consentono di definire il tipo più semplice di formule, ovvero le formule atomiche DEF (Formule Atomiche): e 20 sono formule atomiche Ogni espressione della forma P(t1,...,tn) è una formula atomica se P è un predicato di arità n e tutti i tk sono termini. Roberto Basili 4/11/2016 21 Calcolo dei Predicati: Formule complesse A partire dalle formule atomiche si possono costruire formule più complesse utilizzando i simboli logici, ovvero i connettivi booleani e i quantificatori. I connettivi e i quantificatori normalmente utilizzati sono i seguenti: un connettivo unario (ovvero, con un solo argomento): la negazione (); quattro connettivi binari: la congiunzione (), la disgiunzione (), il condizionale () e il bicondizionale (); due quantificatori: universale () ed esistenziale (). Roberto Basili 4/11/2016 22 Calcolo dei Predicati: Formule Ben Formate (FBF) Ogni formula atomica è una formula; Ogni espressione della forma j, se j è una formula; Ogni espressione della forma (j y), (j y), (j y) (j y) è una formula, se j e y sono formule; Ogni espressione della forma xj e xj è una formula, se x è una variabile e j è una formula. Roberto Basili 4/11/2016 23 Precedenze e parentesi Si possono tralasciare le eventuali parentesi esterne di una formula; (((P Q) R) S) ((P Q) R) S; Il raggruppamento di sottoformule da sinistra verso destra per uno stesso connettivo binario non richiede le parentesi: ((P Q) R) S (P Q R) S; Tra i simboli logici (connettivi e quantificatori) esiste la seguente gerarchia di precedenza: {, , } > {} > {} > {} > {} Ad esempio: (P Q R) S P Q R S, ((P Q) (Q P)) (P Q) (Q P) P Q Q P, (xP(x) Q(x)) Roberto Basili xP(x) Q(x). 4/11/2016 24 Il trattamento delle Variabili Una formula che non contenga variabili si dice fondamentale (o, dall’inglese, ground). Se una formula contiene variabili ne può contenere più d’una, ognuna con una o più occorrenze. Ad esempio, la formula xP(x,y) Q(x) contiene tre occorrenze della variabile x (compresa l’occorrenza che segue immediatamente il quantificatore) ed una occorrenza della variabile y. Roberto Basili 4/11/2016 25 Il trattamento delle Variabili (2) Ogni quantificatore applicato ad una formula j ha un ambito o campo di applicazione (dall’inglese scope) che corrisponde alla sottoformula di j sulle cui variabili agisce. Ad esempio, nella formula xP(x,y) Q(x) l’ambito di x è la formula P(x,y); Nella formula x(P(x,y) Q(x)), invece, l’ambito di x è la formula P(x,y) Q(x). Roberto Basili 4/11/2016 26 Il trattamento delle Variabili (3) Un’occorrenza di una variabile x si dice vincolata se 1. è l’occorrenza che segue immediatamente il simbolo del quantificatore oppure 2. appartiene all’ambito di un quantificatore x o x; Ogni altra occorrenza di una variabile si dice invece libera. Ad esempio, nella formula xP(x,y) Q(x) le prime due occorrenze di x sono vincolate, la terza è libera, e l’unica occorrenza di y è libera. Roberto Basili 4/11/2016 27 Trattamento delle Variabili: problematicità xP(x,y) e zP(z,y) sono sostanzialmente la stessa formula, e si dicono variante alfabetica l’una dell’altra Esistono formule in cui le variabili sono libere che non hanno una chiara interpretazione: cfr. P(a), xP(x) e P(x) La ultima costituisce una formula aperta, cioè che presenta occorrenze libere di variabili (la cui interpretazione è in qualche modo incompleta), Le prime due sono formule chiuse, che non contengono occorrenze libere di variabili e sono quindi completamente interpretate. Roberto Basili 4/11/2016 28 Trattamento delle Variabili: gli Enunciati Esistono infine formule iperquantificate, ad es. xyP(a,x) Il quantificatore y, infatti, è ridondante perché non ci sono nel suo ambito occorrenze libere (e quindi quantificabili) di y. Si dicono “enunciati” il sottoinsieme delle formule ben formate che non contiene tali problematicità. Chiameremo enunciato ogni formula che sia chiusa (e quindi non abbia occorrenze libere di variabili) e priva di quantificatori ridondanti (ovvero, ogni quantificatore applicato a una variabile x deve avere nel suo ambito almeno un’occorrenza libera di x) Roberto Basili 4/11/2016 29 Variabili e Costanti: la sostituzione Se j è una formula, x è una variabile e t un termine qualsiasi, con j(t/x) indicheremo la formula che si ottiene partendo da j e sostituendo ogni occorrenza libera di x con il termine t. Ad esempio, se j è la formula P(x) xQ(x), allora j(a/x) è la formula P(a) xQ(x). Roberto Basili 4/11/2016 30 Ancora sulla sostituzione Nel Calcolo Proposizionale visto a lezione: Roberto Basili 4/11/2016 31 L’uguaglianza Nel linguaggio del primo ordine introdotto sin qui, i simboli logici si usano sempre, qualsiasi sia il linguaggio specifico definito, cioè quello che dipende dalla applicazione: quest’ultimo infatti dipende **solo** dalla scelta dei simboli costanti, dei funtori e dei simboli predicativi. C’è però un predicato binario particolarmente significativo, che può essere introdotto indipendentemente dall’applicazione: si tratta del predicato di uguaglianza, =. Qualora uno speciale predicato di arità 2 viene introdotta che corrisponde alla uguaglianza, si parla allora di linguaggio del primo ordine con l’uguaglianza. Roberto Basili 4/11/2016 FOL con uguaglianza: ATOMI (revised) DEF (Formule Atomiche): e 32 sono formule atomiche Ogni espressione della forma t1 = t2 è un a formula atomica se t11 se t12 sono termini. Ogni espressione della forma P(t1,...,tn) è una formula atomica se P è un predicato di arità n e tutti i tk sono termini. Roberto Basili 4/11/2016 33 FOL con uguaglianza: FBF (revised) Ogni formula atomica è una formula; Ogni espressione della forma j, se j è una formula; Ogni espressione della forma (j y), (j y), (j y) (j y) è una formula, se j e y sono formule; Ogni espressione della forma xj e xj è una formula, se x è una variabile e j è una formula. Roberto Basili 4/11/2016 34 Il significato: il problema e la prospettiva Cosa significa assegnare significato ad una formula? Problemi Applicazioni: Verificare le proprietà di affermazioni/teoremi utili ad una disciplina Verificare le proprietà dei programmi Fornire regole di deduzione a sistemi di ragionamento automatico Roberto Basili 4/11/2016 35 Esercizio Roberto Basili 4/11/2016 36 Esercizi (1) Determinare gli atomi delle seguenti formule xH(x) (x G(x, f(y)) H(y)) x H(a) G(b) L(x,g(b,x)) Determinare le variabili delle seguenti formule x H(x) G(b) x L(x,b) x (H(x) G(b) P(x,y)) x L(x,b) x (H(x) G(b) P(x,y)) x L(x,b) Determinare le variabili libere nelle formule di sopra Roberto Basili 4/11/2016 37 Esercizi (1) Determinare la traduzione in FOL senza uguaglianza delle seguenti frasi Gianni corre sempre con ogni tempo (meteorologico) Gianni mangia tutti i tipi di carne Ogni giorno piove Tutti gli interi sono positivi o nulli Determinare la traduzione in FOL con uguaglianza delle seguenti frasi Lo zero tra gli interi è unico Determinare l’albero sintattico delle formule scritte Roberto Basili 4/11/2016 Esercizi (2) Dimostrare le seguenti uguaglianze x P(x) P(x) = 38 x P(x) P(x) = x P(x) P(x) x P(x) Q(x) = x P(x) Q(x) Roberto Basili 4/11/2016 39 Riferimenti [2] C.L. Chang and Lee R.C.T. Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1973. trad. it. Tecniche Nuove. [5] E. Mendelson. Introduction to Mathematical Logic. Van Nostrand, 1964. Trad. it. Boringhieri. Carlucci Aiello Luigia, Pirri Fiora, Strutture, logica, linguaggi, 2005, 336 p., Editore Pearson (collana Accademica). McCarthy, J., and P. Hayes (1969). Some philosophical problems from the standpoint of artificial intelligence. In B. Meltzer and D. Michie, eds., Machine Intelligence 4, Edinburgh University Press, Edinburgh, UK. Nilsson, N. J. (1998). Artificial intelligence: A new synthesis, Morgan Kaufmann, San Francisco, CA. Anche: dispense M. Cialdea Mayer. Logica (Home page) Roberto Basili 4/11/2016