Dalla Logica alla
Programmazione logica
Sommario
• Introduzione
– AI e programmazione logica: obiettivi
• Logica Proposizionale (LP):
– Introduzione alla logica proposizionale:
• Sintassi
• Semantica
– aspetti algoritmici della LP
• Logica del primo ordine
– vantaggi e svantaggi della LP
– Interpretazioni e modelli
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
2
Sommario
• Introduzione
– AI e programmazione logica: obiettivi
• Logica Proposizionale (LP):
– Introduzione alla logica proposizionale:
• Sintassi
• Semantica
– aspetti algoritmici della LP
• Logica del primo ordine
– vantaggi e svantaggi della LP
– Interpretazioni e modelli
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
3
Introduzione
• Obiettivo principale della Intelligenza
Artificiale: Costruzione di sistemi di
ragionamento automatico
• Intuizione della programmazione logica:
usare una macchina per inferire conclusioni da
una descrizione formale del mondo.
• Queste descrizioni possono essere inserite in
forma di programmi logici, ovvero di insiemi finiti
di (particolari) formule logiche.
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
4
Sommario
• Introduzione
– AI e programmazione logica: obiettivi
• Logica Proposizionale (LP):
– Introduzione alla logica proposizionale:
• Sintassi
• Semantica
– aspetti algoritmici della LP
• Logica del primo ordine
– vantaggi e svantaggi della LP
– Interpretazioni e modelli
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
5
Logica proposizionale: sintassi
•
Alfabeto della logica proposizionale:
– Simboli proposizionali (o costanti proposizionali)
• Rappresentati con lettere minuscole, talvolta indicizzate:
p1, p2, q, r …
– Connettivi logici:
• ∧ (congiunzione), ¬ (negazione), ↔ (equivalenza logica), ⊃ (→) e ⊂ (←)
(implicazione) e ∨ (disgiunzione)
– Simboli ausiliari:
• Parentesi e virgole
Connettivi logici
nome
14/01/2005
simbolo
arità
simboli alternativi
negazione
¬
monadica
– , ~, not
congiunzione
∧
diadica
& , . , and
disgiunzione
∨
diadica
| , or
implicazione
⊃
diadica
⇒,→
equivalenza
=
diadica
⇔, ↔,~
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
6
Logica proposizionale: linguaggio
•
Formule:
–
•
Regole di costruzione:
–
–
–
•
Base: ogni proposizione è una formula
Induzione: se X e Y sono formule, allora ¬X, (X ∧ Y), (X ∨ Y), (X ⊃ Y) (X ≡ Y)
Chiusura: tutte le formule sono ottenibili dall’applicazione delle regole base e di induzione
un numero finito di volte
Metasimboli di formula:
–
•
Proposizioni e connettivi, opportunamente collegati attraverso delle regole di costruzione,
danno origine a delle combinazioni, dette formule, che costituiscono il linguaggio del calcolo
proposizionale.
simboli come X e Y, usati in questo contesto per rappresentare le formule, sono dei
metasimboli, dei simboli cioè esterni al linguaggio e utili per introdurre nozioni e proprietà del
linguaggio stesso.
Sottoformule:
–
Se una formula Y è utilizzata come argomento della regola di induzione per ottenere una
regola X, allora Y è una sottoformula di X.
•
•
Es: data la formula (p ∧ (q ∨ r))
{p, q, r, (q ∨ r) } è l’insieme delle sue sottoformula
Decidibilità della ben formatezza di una formula:
–
–
14/01/2005
L’insieme delle formule è un sottoinsieme dell’insieme delle possibili combinazioni di simboli,
che è una infinità numerabile. L’insieme delle formule è pertanto una infinità numerabile.
Tale insieme è recursive, è cioè sempre possibile in un tempo finito decidere se una data
combinazione è una formula o meno
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
7
Rappresentazione ad albero di una
formula
•
Data la formula:
(p∧(q∨r))
la sua rappresentazione ad albero è la seguente:
∧
∨
p
q
•
r
La radice dell’albero corrispondente ad una formula è un connettivo,
chiamato connettivo principale della formula
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
8
Logica proposizionale: linguaggio
• Letterale
– proposizioni (letterale positivo) e proposizioni negate
dal simbolo ¬ (letterale negativo).
– I letterali positivo e negativo della stessa proposizione
sono detti letterali opposti.
• Condizionale, Antecedente e Conseguente
– Una formula il cui connettivo principale sia una
implicazione (equivalenza) è talvolta chiamato
condizionale (bicondizionale).
– In p ⊃ q, p è detto l’antecendente dell’implicazione
– q è invece detto il conseguente dell’implicazione
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
9
Logica proposizionale: semantica
•
•
•
•
Scopo della semantica è l’assegnare un significato a delle formule.
Il dominio semantico del calcolo proposizionale è costituito dai valori
vero/falso { T, F }.
L’interpretazione di una formula consiste nell’assegnazione di un
valore di verità (un valore cioè appartenente all’insieme { T, F } ) ad
essa.
La semantica, ovvero l’insieme di leggi di interpretazione di una
formula, è, nella LP, composizionale (denotazionale): il significato di
una formula deve essere funzione dei significati dei suoi
componenti.
– In altre parole, il valore di verità assegnato ad una formula deve
dipendere esclusivamente dalla struttura della formula stessa e dalle
singole interpretazioni delle proposizioni in essa contenute.
•
I connettivi della LP sono quindi detti vero-funzionali.
– Dato un connettivo, non appena so i valori di verità dei suoi argomenti,
sono anche in grado di fornire il valore della formula da esso
determinata.
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
10
Tabelle di verità
• Se una formula contiene n proposizioni distinte, allora
ammette 2n possibili interpretazioni
• Assegnati valori di verità alle n proposizioni, è possibile
determinare il significato della formula tramite le tabelle
di verità
• Lettura delle tabelle di verità:
14/01/2005
Elenco delle variabili
Formule considerate
Qui vi sono tante colonne quante
sono le 2n combinazioni di valori: T
e F sulle n variabili considerate
Qui sono espressi i valori di verità
per le formule considerate in
corrispondenza dei valori di verità
delle proposizioni riportati nella
colonna di sinistra
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
11
Logica proposizionale: semantica
• Tabella di verità di ¬ :
14/01/2005
X
¬X
T
F
F
T
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
12
Logica proposizionale: semantica
• Tabella di verità di ∧ :
14/01/2005
X
Y
X∧Y
T
T
T
T
F
F
F
T
F
F
F
F
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
13
Logica proposizionale: semantica
• Tabella di verità di ∨ :
– La disgiunzione è non esclusiva, la formula è cioè vera se
X o Y o entrambe le proposizioni sono vere.
14/01/2005
X
Y
X∨Y
T
T
T
T
F
T
F
T
T
F
F
F
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
14
Logica proposizionale: semantica
•
Tabella di verità di ⊃ :
– Se l’antecendente è T, il condizionale prende il valore di verità del conseguente
– ⊃ è talvolta indicato come implicazione materiale (per distinguerlo dalla naturale),
ed è alla base del ragionamento matematico che connette una ipotesi ed una
conclusione di un teorema
14/01/2005
X
Y
X⊃Y
T
T
T
T
F
F
F
T
T
F
F
T
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
15
Logica proposizionale: semantica
• Tabella di verità di ≡ :
– La formula è vera quando i valori di verità dei due
operandi sono eguali
14/01/2005
X
Y
X≡Y
T
T
T
T
F
F
F
T
F
F
F
T
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
16
Logica proposizionale: semantica
• Riassumendo:
14/01/2005
X
Y
X∧Y
X∨Y
X⊃Y
X≡Y
T
T
T
T
T
T
T
F
F
T
F
F
F
T
F
T
T
F
F
F
F
F
T
T
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
17
Esercizio: la fiera dell’est
•
•
Abbiamo una serie di eventi nel mondo reale, e vogliamo rappresentarli in
logica proposizionale. Possiamo associare ad ogni evento una proposizione
e stabilire delle relazioni tra gli eventi applicando i connettivi logici alle
proposizioni.
Esempio: la fiera dell’est
– “Alla fiera dell'est, per due soldi, un topolino mio padre
comprò
E venne il gatto, che si mangiò il topo, che al mercato mio
padre comprò”
– p: mio padre compra un topolino
– q: viene il gatto
– r: il gatto “si” mangia il topo
•
Possiamo esprimere l’idea che la presenza del gatto e del topo generi
l’evento associato alla proposizione r con una delle due seguenti
espressioni:
p ⊃ ( q ⊃ r)
(p∧q)⊃r
•
Sono esse equivalenti? Come possiamo dimostrarlo?
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
18
Logica proposizionale: semantica
•
Metodo delle tabelle di verità per osservare la veridicità di una
formula:
– Verificare la validità della seguente formula
F : p ⊃ ( q ⊃ r) ≡ ( p ∧ q ) ⊃ r
14/01/2005
p
q
r
q⊃r
p ⊃ ( q ⊃ r)
p∧q
(p∧q)⊃r
F
T
T
T
T
T
T
T
T
T
T
F
F
F
T
F
T
T
F
T
T
T
F
T
T
T
F
F
T
T
F
T
T
F
T
T
T
T
F
T
T
F
T
F
F
T
F
T
T
F
F
T
T
T
F
T
T
F
F
F
T
T
F
T
T
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
19
Soundness
• Consistenza di una formula:
– Una formula è consistente, sound o soddisfacibile, se ha un
modello, ovvero se può essere interpretata con il valore T
• Tutti i letterali sono consistenti
• Modello di una formula:
– Una interpretazione che soddisfa una formula
• Formula inconsistente (o insoddisfacibile)
– Tale che non esiste una interpretazione che la soddisfi
– Esempi:
• F
• p∧¬p
• F∨(p∧¬p)
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
20
Validità
•
Una formula è detta valida (è una tautologia)
– se per tutte le possibili interpretazioni delle proposizioni in essa
contenute, la formula è vera
– e.g.
•
•
•
•
•
•
•
p⊃p
T
¬ ( p ∧ ¬p )
q∨T
[(p ⊃ q) ⊃ p] ⊃ p
p ⊃ (q ⊃ p)
Una formula è detta contingente
– se è consistente ma non valida
– Nota: tutti i letterali sono contingenti
•
Note:
– La negazione di una formula valida è una formula inconsistente
– La negazione di una formula contingente è ancora una formula
contingente
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
21
Equivalenza
• Due formule sono dette equivalenti sse i loro
valori di verità coincidono per ogni
interpretazione.
• E.g.
– le leggi di De Morgan:
¬(p ∨ q) ≡ ¬p ∧ ¬ q
¬(p ∧ q) ≡ ¬p ∨ ¬ q
– Legge della contro-implicazione:
(p ⊃ q) ≡ (¬q ⊃ ¬ p)
• Se p e q sono equivalenti, allora vale:
(p ⊃ q) ∧ (q ⊃ p)
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
22
Set di formule
• Soddisfacibilità di un set di formule:
– Un set di formule S è (semanticamente) consistente,
sound o soddisfacibile, se tutti i suoi elementi
ammettono un modello comune, in caso contrario S è
detto inconsistente o insoddisfacibile.
– Un set di formule è quindi considerato,
semanticamente, come la congiunzione dei suoi
elementi.
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
23
Conseguenza Logica
•
•
•
Se una formula F è vera per ognuna delle interpretazioni per le quali un determinato
set di formule S è vero, diciamo che:
F è una conseguenza logica (entailment) di S e lo scriviamo con:
S A.
In particolare, una tautologia è una conseguenza logica dell’insieme vuoto
Una formula F è una conseguenza logica di un insieme di formule S sse la
implicazione materiale (sintattica): (S ⊃ A ) è una tautologia, ovvero:
SA ⇔ (S⊃A)
•
Qualche esempio:
–
{P} P
–
{P, P ⊃ Q} Q
–
P∧QP
Nota: usiamo qui il simbolo ⇔ al di fuori del formalismo della logica, per indicare il comune “se e solo se” o
“sse” che useremmo nella nostra spiegazione, allo stesso con modo cui scriviamo ⇒ al posto di “se allora”
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
24
Il problema della deduzione
• Problema della deduzione:
– Capire se C è una conseguenza logica di un set di formule è un
problema fondamentale della logica, conosciuto come problema
della deduzione.
{H1,…,Hn} C
– In questo esempio, le formule Hi sono dette le ipotesi, e la
formula C conclusione.
– Possiamo applicare quanto visto precedentemente al problema
della deduzione ed ottenere la seguente formula:
{H1,…,Hn} C
14/01/2005
⇔
(H1 ∧ … ∧ Hn) ⊃ C
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
25
Principio di deduzione
• Principio di deduzione:
– Un metodo più efficiente per dimostrare la
conseguenza logica di una formula C da un insieme
di ipotesi H consiste nel dimostrare che S ∪ {¬C} è
inconsistente
– Formalmente:
{H1,…,Hn} C ⇔
(H1 ∧ … ∧ Hn, ¬C) F
– Tale metodo è noto come principio di deduzione.
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
26
Regole di inferenza
•
•
Basandoci sulle tabelle di verità precedentemente riportate,
possiamo affermare le seguenti regole di inferenza, ovvero delle
regole che permettono di ricavare delle formule a partire da altre
note. Tali regole sono quindi valide.
Regole di inferenza:
– modus ponens: date le due formule: p e p ⊃ q
possiamo derivare la formula: q
– introduzione di ∧: p ∧ q può essere inferita da p e q
– commutatività di ∧: q ∧ p possono essere derivati da p ∧ q
– eliminazione degli ∧ : p può essere inferito da p ∧ q
– introduzione degli ∨ : p ∨ q può essere inferita o da p o da q.
– eliminazione dei ¬: p può essere inferita da ¬ (¬ p ).
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
27
Soundness e Completezza di un
set di regole di inferenza
•
Dati un set di regole di inferenza R, e per ogni set di formule H e
ogni formula C:
– Soundness del set di regole di inferenza R:
• (H ⊃R C) ⇒ (H C)
• Se, quando possiamo provare C a partire dalle formule in H e dal set di
regole R, C è una conseguenza logica di H.
– Completezza del set di regole R:
• (H C) ⇒ (H ⊃R C)
• Se, qualora C sia una conseguenza logica del set H, allora è sempre
possibile dimostrare C tramite le regole R
•
Dimostrazione di una formula:
– Computabilità:
• Se un set di regole è sia sound che completo, allora possiamo utilizzare quel
set di regole per verificare che una formula C sia una conseguenza logica di
una serie di ipotesi H.
– Complessità computazionale:
• Determinare se una formula C è conseguenza logica di un set di formule H è,
in generale, un problema NP-HARD.
14/01/2005
Armando Stellato
[email protected] ai-nlp.info.uniroma2.it/stellato
28