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