Sie sind auf Seite 1von 15

LOGICA PROPOSIZIONALE

Corso di Intelligenza Artificiale


A.A. 2009/2010
Prof. Ing. Fabio Roli

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 2
Introduzione
La logica proposizionale (LP) prende in considerazione schemi
proposizionali composti da
simboli di proposizioni (variabili proposizionali)
connettivi, cio operatori che agiscono su intere proposizioni e
producono proposizioni pi complesse
In questo capitolo si descriveranno
la sintassi della LP, cio le regole che definiscono le sue formule ben
formate (quelle a cui possibile attribuire un significato)
la semantica della LP, cio il significato delle sue formule
i principali algoritmi di inferenza della LP

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 3
Connettivi estensionali
I principali connettivi considerati nella logica classica sono di tipo
estensionale: il valore di verit delle proposizioni da essi prodotte
dipende solo dai valori di verit delle proposizioni su cui agiscono
I principali connettivi estensionali sono i seguenti
non (negazione), indicata con il simbolo !
o (disgiunzione), indicata con il simbolo "
e (congiunzione) , indicata con il simbolo #
se... allora... (implicazione) , indicata con il simbolo $
Si dimostra che i connettivi #, !, oppure ", !% consentono di definire tutti
gli altri possibili connettivi estensionali. Da questo punto di vista i
quattro connettivi precedenti sono ridondanti, ma comodo usarli tutti
per ridurre la complessit delle formule

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 4
Connettivi non estensionali: esempio
La congiunzione perch un connettivo: infatti se P e Q sono
proposizioni, lo anche P perch Q
Si considerino le tre proposizioni seguenti, tutte vere:
P
1
: I pesci non sopravvivono fuori dellacqua
P
2
: I pesci respirano con branchie
P
3
: I pesci sono animali a sangue freddo
facile vedere che P
1
perch P
2
vera, mentre P
1
perch P
3
falsa.
Quindi il valore di verit di una proposizione della forma P perch Q
non dipende solo dai valori di verit di P e Q

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 5
Connettivi estensionali: osservazioni
Nel linguaggio naturale lunico connettivo propriamente estensionale
non, mentre gli altri possono produrre enuciati che possono non essere
considerati proposizioni, dei quali cio non abbia senso chiedersi se siano
veri o falsi. Esempi:
Il treno arrivato in ritardo e tutti gli uomini sono mortali
Se 5 pari, allora Tokio la capitale del Giappone
Gli enunciati componenti non sono pertinenti tra loro
In alcuni casi il connettivo se... allora... non estensionale. Es.:
P: Se la terra fosse pi lontana dal Sole, allora sarebbe pi fredda
Q: Se la terra fosse pi lontana dal Sole, allora sarebbe pi calda
Le proposizioni componenti sono tutte false, ma mentre P vera, Q falsa
Quindi in realt i connettivi e, o e se... allora... considerati nella
logica sono unastrazione dei corrispondenti connettivi del linguaggio
naturale, dei quali si trascurano gli aspetti non estensionali

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 6
Sintassi della logica proposizionale
Indicando con lettere maiuscole (P, Q, R, ...) le variabili proposizionali, le
formule ben formate (fbf) della LP sono definite ricorsivamente dalle
regole seguenti
le variabili P, Q, R, ... sono fbf (atomiche)
se ! una fbf qualsiasi, ! ! una fbf (non atomica)
se ! e " sono fbf qualsiasi, ! # ", ! " " e ! $ " sono fbf (non
atomiche)
nientaltro una fbf
Si noti che lultima regola ha la funzione di escludere esplicitamente
qualsiasi formula che non sia ottenuta secondo le tre regole precedenti
utile includere tra le fbf atomiche anche i simboli True e False, i cui
valori di verit sono sempre, per definizione, rispettivamente vero e falso

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 7
Precedenza dei connettivi e profondit di una fbf
Lordine di precedenza dei connettivi (a partire da quello con precedenza
maggiore) per convenzione !% #% "% $
Per specificare un ordine diverso (oppure per rendere pi semplice la
comprensione di una formula) si usano le parentesi tonde
Esempio: !P " Q # R $ S equivalente a !((P " (Q # R)) $ S)
Si dice sottoformula di una fbf non atomica ogni fbf in essa contenuta
Es.: (P # Q) "(R$S) contiene le sottoformule (P # Q) e (R$S), che a loro
volta contengono le sottoformule (atomiche) P, Q, R e S
Si pu quindi vedere una qualsiasi fbf non atomica come composta
ricorsivamente da insiemi di sottoformule a diversa profondit
La fbf dellesempio precedente composta dalle sottoformule (P#Q) e
&R$S) che hanno per definizione profondit 1, e a loro volta sono
composte dalle fbf atomiche P, Q, R e S che hanno profondit 2

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 8
Formalismo di Backus-Naur (BNF)
La sintassi (o grammatica) di ogni linguaggio formale pu essere definita
in modo rigoroso per mezzo del formalismo di Backus-Naur
In tale formlismo le formule di un linguaggio sono definite come un
insieme di stringhe costituite da una sequenza di simboli
I componenti di una grammatica nel formalismo BNF sono:
un insieme di simboli terminali, con i quali si costruiscono le formule
un insieme di simboli non terminali che identificano parti delle
formule
un simbolo iniziale che identifica una formula completa
un insieme di regole di riscrittura della forma LHS ' RHS, che
definiscono le fbf attraverso la definizione ricorsiva di simboli non
terminali in funzione di altri simboli qualsiasi
LHS un simbolo non terminale
RHS una sequenza di zero o pi simboli qualsiasi

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 9
Esempio: sintassi BNF per espressioni aritmetiche
Si considerino espressioni aritmetiche composte da numeri interi e dalle
quattro operazioni fondamentali, come per es. (4 + 5) ( 8
La sintassi delle espressioni di tale linguaggio la seguente
Expr ' Expr Operator Expr | ( Expr ) | Number
Number ' Digit | Number Digit
Digit ' 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Operator ' + | | | (
Gli elementi di tale sintassi sono i seguenti
Expr il simbolo iniziale, e rappresenta una qualsiasi formula del
linguaggio
Number, Digit e Operator sono i simboli non terminali
Le dieci cifre decimali e i simboli +, ), , ( sono i simboli terminali
Si noti che il simbolo | usato per indicare pi definizioni alternative
della LHS di una regola di riscrittura

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 10
Esempio: sintassi BNF per espressioni aritmetiche
Le regole di riscrittura di una grammatica BNF possono essere usate per
costruire fbf del linguaggio
verificare se una data formula composta da simboli terminali una fbf
del linguaggio
Per es., seguendo le regole precedenti facile verificare che 12, 3+7,
e (4 + 5) (2 ( 8) sono fbf, mentre non lo sono 4+, 9 = 7, () 5
NOTA: i simboli usati nella sintassi di un linguaggio non ne determinano
la semantica. Nel linguaggio appena definito si sono usati simboli di uso
comune in aritmetica, ai quali si associa un significato convenzionale ben
noto. Tuttavia a tale linguaggio sarebbe possibile associare una semantica
completamente diversa da quella usuale!

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 11
Sintassi BNF della logica proposizionale
Le regole che definiscono le fbf della LP possono essere ridefinite nel
formalismo BNF nel modo seguente
Sentence ' AtomicSentence | ComplexSentence
AtomicSentence ' True | False | P | Q | R | ...
ComplexSentence ' ( Sentence ) |
Sentence Connective Sentence |
! Sentence
Connective ' | | # " $

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 12
Semantica della logica proposizionale
La semantica di un linguaggio formale specifica il significato delle sue
formule ben formate
Nel caso della LP con connettivi estensionali, la semantica definisce il
valore di verit delle sue fbf, in funzione dei due elementi del linguaggio
(variabili proposizionali e connettivi)
variabili proposizionali: rappresentano proposizioni che possono
essere vere oppure false
connettivi: il valore di verit di una fbf composta ottenuta per mezzo
di un connettivo estensionale dipende in modo funzionale dai valori di
verit delle formule componenti (e dallo stesso connettivo). Ogni
connettivo pu cio essere visto come una funzione di verit

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 13
Semantica dei connettivi
La semantica dei connettivi estensionali della LP pu essere descritta per
mezzo delle tavole di verit
La semantica dei quattro connettivi principali definita come segue (P e
Q indicano fbf qualsiasi, non necessariamente atomiche)
P !P
False True
False True
True False
True False
P Q P $ Q
False False True
False True True
True False False
True True True
P Q P # Q
False False False
False True False
True False False
True True True
P Q P " Q
False False False
False True True
True False True
True True True

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 14
Semantica dei connettivi: osservazioni
Come anticipato in precedenza, la semantica dei connettivi della LP (a
parte la negazione) unastrazione della semantica dei corrispondenti
connettivi del linguaggio naturale
Dopo la definizione formale della loro semantica nella LP, sono
opportune le seguenti ulteriori osservazioni
il connettivo # per definizione simmetrico (P#Q equivale a Q#P). Ma
nel linguaggio naturale il connettivo e viene usato anche con altri
significati. Per es., in Si sposarono e ebbero un figlio, e ha
significato temporale, e quindi non simmetrico (il significato di
Ebbero un figlio e si sposarono diverso)
il connettivo o viene usato in LP con significato inclusivo (P"Q
vera se P o Q, oppure entrambe, sono vere), mentre in linguaggio
naturale pu avere significato esclusivo (In una partita di tennis si
pu vincere o perdere) (cont.)

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 15
Semantica dei connettivi: osservazioni
Per definizione, la formula P $ Q falsa solo se P vera e Q falsa
Questa semantica spesso in contrasto con quella del linguaggio naturale
Esempi
Se 5 dispari, allora Tokyo la capitale del Giappone vera in LP
perch le due proposizioni componenti sono vere. Ma poich tra i fatti
che esse rappresentano non c rapporto di causa-effetto, in
linguaggio naturale si tenderebbe a considerarla falsa. Tuttavia i
connettivi estensionali considerano solo il valore di verit delle
singole proposizioni componenti, non i rapporti tra i fatti rappresentati
Se P falsa, in LP P $ Q vera indipendentemente dal valore di
verit di Q (es.: Se 5 pari, allora Parigi la capitale del Giappone)
Se P e Q sono false, in LP P $ Q vera. Questo rispecchia casi come
Se la Terra fosse pi lontana dal Sole, sarebbe pi fredda, ma non
Se la Terra fosse pi lontana dal Sole, sarebbe pi calda

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 16
Determinazione del valore di verit di formule composte
Ogni assegnazione di valori di verit ai simboli proposizionali di una fbf
detta interpretazione. Una formula con n simboli ha 2
n
interpretazioni
Il valore di verit di una qualsiasi fbf composta pu essere calcolato
ricorsivamente in funzione di quello delle sue variabili proposizionali
si costruisce una tavola di verit con una riga per ogni intepretazione
delle variabili proposizionali della fbf
si determina il valore di verit di ciascuna sottoformula composta, a
partire da quelle a profondit maggiore, risalendo passo passo fino
alla fbf originaria, per mezzo delle tavola di verit dei connettivi
Si noti che la tavola di verit di una fbf in cui compaiano n variabili
proposizionali sar composta da 2
n
righe

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 17
Valore di verit di formule composte: esempio
Si consideri la fbf ((P#Q) " (R$(!P))) che contiene 3 variabili
proposizionali e ha profondit 2
Il suo valore di verit si pu determinare per mezzo della tavola seguente,
in cui per ogni sottoformula composta
il valore di verit indicato sotto il corrispondente connettivo
la profondit indicata sotto lultima riga
variabili proposizionali sottoformule
P Q R ((P#Q) " (R $( ! P)))
F F F F T T T
F F T F T T T
F T F F T T T
F T T F T T T
T F F F T T F
T F T F F F F
T T F T T T F
T T T T T F F
1 0 1 2

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 18
Il connettivo di equivalenza
Per comodit utile introdurre un nuovo connettivo, detto equivalenza
e indicato con *, definito dalla tavola seguente (in parole, P*Q vera se
e solo se P e Q hanno lo stesso valore di verit)
facile verificare che P*Q pu essere riscritta come (P$Q)#(Q$P)
P Q P * Q
False False True
False True False
True False False
True True True

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 19
Validit e soddisfacibilit
Sono due concetti legati alle relazioni di conseguenza e contraddizione, e
quindi agli algoritmi di inferenza
Una formula valida (o tautologica) se vera per tutte le possibili
interpretazioni
Es.: evidente che True, !False, e (P " !P) sono valide (P denota in
questo esempio una fbf qualsiasi)
Una formula soddisfacibile se vera per almeno una (ma non tutte)
le interpretazioni. Es.: P, P"Q (P e Q denotano in questo caso
proposizioni atomiche, non fbf qualsiasi)
facile vedere che, se una fbf qualsiasi P valida, !P contraddittoria

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 20
Un algoritmo di inferenza per la logica proposizionale
ora possibile definire un algoritmo di inferenza che consenta di
verificare se una data formula A (conclusione) conseguenza di un dato
insieme ! di formule (premesse)
Lalgoritmo si basa sulla definizione di conseguenza e sulle tavole di
verit dei connettivi:
costruire una tavola di verit che comprenda tutte le 2
n
interpretazioni
delle n variabili proposizionali che compaiono nelle premesse e nella
conclusione
verificare che A sia vera in tutte le interpretazioni in cui siano vere
tutte le premesse
Si dimostra che tale algoritmo, detto model-checking, corretto e
completo. In particolare si osservi che, per ogni ! e A, lalgoritmo
termina sempre in un numero finito di passi

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 21
Algoritmo model-checking: esempio
Dato linsieme di fbf ! = {P"Q, P$R, Q$R}, verificare se le fbf P"R e Q
#R siano conseguenza logica di !
La tavola di verit delle premesse la seguente
variabili proposizionali premesse
P Q R P"Q P$R Q$R
F F F F T T
F F T F T T
F T F T T F
F T T T T T
T F F T F T
T F T T T T
T T F T F F
T T T T T T

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 22
Algoritmo model-checking: esempio
Dato linsieme di fbf ! = {P"Q, P$R, Q$R}, verificare se le fbf P"R e Q
#R siano conseguenza logica di !
La tavola di verit delle premesse la seguente
Le righe in cui tutte le premesse sono vere sono evidenziate in grigio
variabili proposizionali premesse
P Q R P"Q P$R Q$R
F F F F T T
F F T F T T
F T F T T F
F T T T T T
T F F T F T
T F T T T T
T T F T F F
T T T T T T

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 23
Algoritmo model-checking: esempio
Dato linsieme di fbf ! = {P"Q, P$R, Q$R}, verificare se le fbf P"R e Q
#R siano conseguenza logica di !
La tavola di verit delle cinque fbf la seguente
Le righe in cui tutte le premesse sono vere sono evidenziate in grigio
Come si vede, in tutti questi casi P"R vera, mentre Q#R pu essere falsa.
Quindi P"R conseguenza di !, mentre Q#R non lo
variabili proposizionali premesse conclusioni
P Q R P"Q P$R Q$R P"R Q#R
F F F F T T F F
F F T F T T T F
F T F T T F F F
F T T T T T T T
T F F T F T T F
T F T T T T T F
T T F T F F T F
T T T T T T T T

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 24
Esempio: il gioco del Wumpus
Come esempio di applicazione dei concetti visti finora, si consideri il
gioco del Wumpus. Si consideri per semplicit la codifica della sola
conoscenza riguardante i pozzi. Una possibile codifica fa uso delle
seguenti variabili proposizionali
P
i,j
: c un pozzo nella casella (i,j)
B
i,j
: c una corrente daria nella casella (i,j)
NOTA: necessaria una diversa variabile proposizionale per ogni
casella... (le conseguenze verranno discusse pi avanti)
Le regole del gioco riguardanti i pozzi (per semplicit, solo in alcune
caselle) possono allora essere codificate dalle seguenti formule
R
1
: !P
1,1
R
2
: B
1,1
* (P
1,2
" P
2,1
)
R
3
: B
2,1
* (P
1,1
" P
2,2
" P
3,1
)

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 25
Esempio: il gioco del Wumpus
Si assuma che la configurazione della caverna sia quella indicata in
figura, e che lagente si sposti dalla casella di partenza alla (2,1)
La conoscenza corrispondente alle percezioni nelle due caselle (e
riguardante solo i pozzi) allora codificata dalle formule
R
4
: !B
1,1
R
5
: B
2,1
In definitiva, la base di conoscenza (KB)
dellagente dopo la prima mossa conterr
(tra le altre) le seguenti formule
R
1
: !P
1,1
R
2
: B
1,1
* (P
1,2
" P
2,1
)
R
3
: B
2,1
* (P
1,1
" P
2,2
" P
3,1
)
R
4
: !B
1,1
R
5
: B
2,1

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 26
Esempio di inferenza nel gioco del Wumpus
Si supponga ora che lagente sia interessato alla presenza di pozzi nelle
caselle (1,2) e (2,2), cio, per es., al valore di verit delle fbf !P
1,2
e P
2,2
Dovrebbe allora verificare se tali fbf sono conseguenza delle formule
presenti nella sua KB. Tale verifica pu essere eseguita con lalgoritmo
model-checking
Considerando per semplicit il sottoinsieme di fbf della KB ! = {R
1
, ...,
R
5
}, contenenti 7 simboli proposizionali, ci comporta la costruzione di
una tavola di verit con 2
7
= 128 righe
Dalla figura facile verificare che {R
1
, ..., R
5
} sono tutte vere solo nei tre
casi corrispondenti alla presenza di un pozzo in (2,2) o in (3,1) o in
entrambe, e allassenza di pozzi in (1,1), (1,2) e (2,1), e che in tali casi
+!P
1,2
sempre vera
P
2,2
invece vera solo nel caso in cui in (2,2) non ci sia un pozzo
Quindi ! |= !P
1,2
, ! |, P
2,2
. Allora lagente pu concludere che nella
casella (1,2) non c un pozzo, ma non che ce ne sia uno in (2,2)

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 27
Limiti dellalgoritmo model-checking
Lalgoritmo model-checking completo nel senso che pu dire se una
qualsiasi fbf data sia o no implicata da un dato insieme di fbf !, ma non
pu essere usato per derivare automaticamente le fbf implicate da un dato
insieme !
Inoltre, se le premesse ! e la conclusione A contengono n simboli di
proposizione, la tavola di verit corrispondente contiene 2
n
righe:
lalgoritmo model-checking quindi estremamente inefficiente, dato che
la sua complessit O(2
n
) (lalgoritmo NP-completo)
Questi limiti rendono necessarie
la definizione di algoritmi di inferenza che consentano di derivare le
fbf implicate da una data !
la definizione di algoritmi di inferenza pi efficienti del model-
checking per la verifica della relazione !|=A (per una data A)
Entrambi gli obbiettivi richiedono la definizione di regole dinferenza

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 28
Regole di inferenza
Le tavole di verit dei connettivi consentono di definire alcune regole di
inferenza, cio regole che, da un insieme di formule (premesse) vere,
consentono di ricavare una formula che segua da esse (conclusione)
Le regole di inferenza si rappresentano con la notazione
Di seguito si riportano alcune delle principali regole di inferenza della LP.
La loro correttezza pu facilmente essere verificata attraverso le tavole di
verit, controllando che le conclusioni siano vere ogni volta che le
premesse sono vere (si noti che le variabili che compaiono in ciascuna
regola denotano fbf qualsiasi, non necessariamente atomiche)
premesse
conclusione

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 29
Regole di inferenza
! $ ", !
"
(Modus ponens)
!
1
,!
2
,...,!
n
!
1
# !
2
# ... # !
n
(Introduzione di # )
!!!
!
(Eliminazione della doppia negazione)
! * "
! $ " & -# " $ ! & -
(Eliminazione dell'equivalenza)
! ! # " & -
!! " !"
(Prima legge di De Morgan)
! ! " " & -
!! # !"
(Seconda legge di De Morgan)
! $ "
!" $ !!
(Contrapposizione)

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 30
Regole di inferenza
Dato un insieme di premesse !, le regole dinferenza (come quelle
appena viste) possono essere usate per due scopi
per derivare fbf logicamente implicate da !
per verificare se una data fbf A segua da !
Informalmente, ci avviene attraverso unopportuna sequenza di passi
che consistono nellapplicazione di regole di inferenza in cui si usino
come premesse sia le fbf contenute in ! che quelle gi derivate nei passi
precedenti. Tale sequenza di passi detta dimostrazione
Di seguito si mostrer un esempio informale di dimostrazione per mezzo
di regole dinferenza, nel caso del gioco del Wumpus

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 31
Regole di inferenza: esempio
Si consideri la stessa configurazione della caverna mostrata nellesempio
precedente (riportata in figura), e le formule ! = {R
1
, ..., R
5
} che faranno
parte della KB dellagente dopo il suo primo spostamento nella casella
(2,1)
R
1
: !P
1,1
R
2
: B
1,1
* (P
1,2
" P
2,1
)
R
3
: B
2,1
* (P
1,1
" P
2,2
" P
3,1
)
R
4
: !B
1,1
R
5
: B
2,1

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 32
Regole di inferenza: esempio
In precedenza si ottenuto con lalgoritmo model-checking ! |= !P
1,2
Vediamo ora come !P
1,2
possa essere derivata attraverso una sequenza di
applicazioni di regole di inferenza
R
1
: !P
1,1
R
2
: B
1,1
* (P
1,2
" P
2,1
)
R
3
: B
2,1
* (P
1,1
" P
2,2
" P
3,1
)
R
4
: !B
1,1
R
5
: B
2,1
R
6
: (B
1,1
$ (P
1,2
" P
2,1
)) # ((P
1,2
" P
2,1
) $ B
1,1
) R
2
, elimin. dellequivalenza
R
7
: (P
1,2
" P
2,1
) $ B
1,1
R
6
,

eliminazione di #
R
8
: !B
1,1
$ !(P
1,2
" P
2,1
) R
7
, contrapposizione
R
9
: !(P
1,2
" P
2,1
) R
8
e R
4
, modus ponens
R
10
: !P
1,2
# !P
2,1
R
9
, II legge di De Morgan
R
11
: !P
1,2
R
10
, eliminazione di #

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 33
Regole di inferenza: esempio
In precedenza si ottenuto con lalgoritmo model-checking ! |= !P
1,2
Vediamo ora come !P
1,2
possa essere derivata attraverso una sequenza di
applicazioni di regole di inferenza
Le formule derivate ad ogni passo verranno indicate con R
6
, R
7
, ..., e
potranno essere usate come premesse nelle applicazioni di regole
dinferenza nei passi successivi. Per ogni passo si indica la regola usata e
le formule usate come premesse
R
6
: (B
1,1
$ (P
1,2
" P
2,1
)) # ((P
1,2
" P
2,1
) $ B
1,1
) R
2
, elimin. dellequivalenza
R
7
: (P
1,2
" P
2,1
) $ B
1,1
R
6
,

eliminazione di #
R
8
: !B
1,1
$ !(P
1,2
" P
2,1
) R
7
, contrapposizione
R
9
: !(P
1,2
" P
2,1
) R
8
e R
4
, modus ponens
R
10
: !P
1,2
# !P
2,1
R
9
, II legge di De Morgan
R
11
: !P
1,2
R
10
, eliminazione di #

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 34
Un algoritmo basato su regole di inferenza
Formalmente, lalgoritmo basato su regole dinferenza per derivare formule
implicate da un dato insieme di premesse ! il seguente
applicare tutte le possibili regole dinferenza a tutte le possibili premesse
ottenibili da formule di !, e aggiungere a ! tutte le formule derivate che non
si trovino gi in !
ripetere il passo precedente finch sia possibile derivare formule che non
facciano gi parte di !
Si noti che i possibili insiemi di formule composti da un dato insieme di
premesse e da fbf implicate sono rappresentabili come uno spazio degli stati:
ogni stato corrisponde a un possibile insieme !
lo stato iniziale corrisponde allinsieme delle premesse
la funzione successore applica in ogni modo possibile tutte le regole
dinferenza alle formule ! di uno stato. Ogni singola formula derivata A
genera un nuovo stato ! . {A}
(cont.)

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 35
Un algoritmo basato su regole di inferenza
Ricavare le formule implicate corrisponde allora a costruire lintero grafo
degli stati a partire dallo stato iniziale (le premesse)
Problemi:
lo spazio degli stati finito?
anche se lo spazio degli stati fosse finito, esiste un insieme di regole
di inferenza che consente di ottenere un algoritmo completo? (cio,
che consenta di costruire lintero spazio degli stati)
ammesso che lo spazio degli stati sia finito, qual la complessit
computazionale di un tale algoritmo?

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 36
Un algoritmo basato su regole di inferenza
Se invece si volesse realizzare un algoritmo basato su regole dinferenza per
verificare se una data conclusione A conseguenza di un dato insieme di
premesse, si potrebbe formulare il problema come un problema di ricerca nello
spazio degli stati definito in precedenza. Ogni stato il cui insieme di formule
contiene A uno stato obbiettivo
Problemi:
il branching factor pu essere molto elevato
quale euristica si pu usare per scegliere ad ogni passo il nodo da espandere?
(si noti che nellesempio di dimostrazione dato in precedenza, la formula
!P
1,2
stata derivata in sei passi, scegliendo per ad ogni passo in modo
accorto, rispetto allobbiettivo, la regola di inferenza e le premesse
corrispondenti)
esiste un insieme di regole di inferenza che consenta di ottenere un algoritmo
completo? (cio che garantisca di trovare una dimostrazione di A, se ne
esiste almeno una)

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 37
Algoritmi basati su regole di inferenza
Si vedr ora come, attraverso luso di regole di inferenza, sia possibile
definire algoritmi completi e pi efficienti, e in particolare
un algoritmo di inferenza completo basato sul modus ponens, che
consente sia di derivare tutte le fbf che seguono da un dato insieme di
premesse, sia di verificare se una data conclusione conseguenza di
un dato insieme di premesse, limitatamente a un sottoinsieme di fbf
della LP (dette clausole di Horn)
un algoritmo di inferenza completo per lintera LP (algoritmo di
risoluzione), che consente di verificare se una data conclusione
conseguenza di un dato insieme di premesse
La maggiore efficienza di tali algoritmi in parte dovuta al fatto che sono
basati su una sola regola di inferenza

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 38
Clausole di Horn
In molti problemi di interesse pratico possibile esprimere tutte le formule in
forma di clausole di Horn, cio implicazioni della forma
P
1
# ... # P
n
$ Q
in cui
lantecedente una congiunzione di simboli proposizionali non negati
il conseguente un singolo simbolo proposizionale non negato
Attraverso lequivalenza (P $ Q) * (!P " Q) (che vale sia per qualsiasi fbf P e
Q, e pu essere facilente verificata per mezzo delle tavole di verit), si ha che
anche ogni simbolo proposizionale affermato o negato (detto letterale), pu
essere espresso in forma di clausola di Horn, sfruttando le seguenti equivalenze:
P * (!True " P) * (True $ P)
+!P * (!P " False) * (P $ False)

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 39
Lalgoritmo forward chaining
Usando il modus ponens (MP) come unica regola dinferenza, possibile
realizzare un algoritmo che derivi tutte le formule atomiche non negate
implicate da un insieme di premesse ! in forma di clausole di Horn:
si applica MP in ogni modo possibile alle formule di !
se non possibile derivare formule che non facciano gi parte di !,
lalgoritmo termina
si aggiungono a ! tutte le nuove formule derivate (si noti che tali
formule possono essere solo simboli proposizionali non negati), e si
ripetono i passi precedenti
Si dimostra che questo algoritmo di inferenza, detto forward chaining
completo per simboli proposizionali non negati e premesse in forma
di clausole di Horn
ha complessit lineare rispetto alla dimensione della KB

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 40
Lalgoritmo backward chaining
Il MP consente anche di realizzare un algoritmo completo per verificare
se una qualsiasi formula atomica e non negata A sia implicata da un
insieme di premesse ! in forma di clausole di Horn
Date ! e A:
se A fa parte di !, allora si pu concludere che KB |= !: la verifica ha
successo e lalgoritmo termina
si consideri il sottoinsieme ! di clausole di ! che abbiano A come
conseguente; per ogni clausola di ! si verifichi ricorsivamente se ogni
proposizione nellantecedente implicata da !
se la verifica ha successo per almeno una clausola di !, allora si pu
concludere che !|=A, altrimenti si pu concludere che !|,A
La formula da dimostrare anche detta query (interrogazione)
Lalgoritmo detto backward-chaining, poich consiste nellapplicare a
ritroso la regola MP
La sua complessit inferiore rispetto al forward chaining

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 41
Forward chaining e backward chaining: osservazioni
Lalgoritmo forward chaining non ha lo scopo di dimostrare una data
formula, ma di derivare tutte le conseguenze di un dato insieme di
formule: in questo senso un algoritmo di inferenza di tipo data-driven
In unapplicazione come il gioco del Wumpus pu essere utile per
derivare dopo ogni azione dellagente tutte le conseguenze delle nuove
percezioni e della conoscenza gi acquisita (si riveda lesempio di
ragionamento informale del capitolo precedente)
Si noti che pu anche essere usato per dimostrare una data formula A
(basta verificare se al termine A si trovi tra le fbf derivate), ma non
efficiente per questo scopo (da questo punto di vista analogo ad un
algoritmo di ricerca non informata)
Lalgoritmo backward chaining ha invece lo scopo di dimostrare una data
formula, e in questo senso una forma di ragionamento goal-directed,
pi efficiente del forward chaining

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 42
Lalgoritmo di risoluzione
Si presenter ora lalgoritmo di risoluzione, un algoritmo di inferenza
completo per la LP nel senso che in grado di verificare se una qualsiasi
fbf data sia conseguenza di un qualsiasi insieme di premesse. Tale
algoritmo basato su
la riscrittura di ogni fbf in forma normale congiuntiva
una nuova regola di inferenza, detta di risoluzione

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 43
Conversione di formule in forma normale congiuntiva
Una fbf m
1
"..."m
k
formata dalla disgiunzione di letterali (simboli
proposizionali affermati o negati) detta clausola
Si dimostra facilmente che qualsiasi fbf della LP pu essere riscritta in
forma di congiunzione di clausole (forma normale congiuntiva, CNF)
attraverso i passi seguenti (nel seguito, p, q e r indicano letterali):
eliminazione delle implicazioni: (p $ q) * (!p " q)
spostamento di ! verso linterno, attraverso le leggi di De Morgan e
leliminazione della doppia negazione:
!(p " q) * (!p # !q), !(p # q) * (!p " !q), !!p * p
distribuzione degli # sugli ": ((p # q) " r) * ((p " r) # (q " r))
Esempio: B
1,1
* (P
1,2
" P
2,1
) diventa
(!B
1,1
" P
1,2
" P
2,1
) # (B
1,1
" !P
1,2
) # (B
1,1
" !P
2,1
)

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 44
La regola di inferenza di risoluzione
Si considerino due clausole !: p
1
"..."p
m
e ": q
1
"..."q
n
, tali che per qualche i e j p
i
e
q
j
siano letterali complementari (uno la negazione dellaltro, come P e !P)
La regola di risoluzione la seguente:
La correttezza della regola si verifica facilmente: se p
i
falso, allora q
j
vero, e
viceversa. Quindi o la disgiunzione degli m1 letterali (escluso p
i
) di !, o la
disgiunzione degli n1 letterali (escluso q
j
) di ", o entrambe, sono vere. Ma
allora vera anche la disgiunzione dei m+n2 letterali di ! e ", esclusi p
i
e q
j
La conclusione della regola di risoluzione detta risolvente
Come caso particolare, la risoluzione di due letterali complementari porta alla
cosiddetta clausola vuota, indicata con []

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 45
Lalgoritmo di risoluzione
Lalgoritmo di risoluzione consiste nel costruire una dimostrazione per
refutazione (o per assurdo) di una data fbf A, a partire da un dato insieme di
premesse !
Si ricordi che la dimostrazione per assurdo si basa sul fatto che ! |= A se e solo
se ! . {!A} contraddittorio
Lalgoritmo richiede prima di tutto la riscrittura in CNF di !A e delle formule in
!, e la separazione di tutti i congiunti
es.: (!P

" Q " R) # (Q

" !R) # (R

" !S) viene separata nelle tre formule distinte
(!P

" Q " R), (Q

" !R) e (R

" !S)
Lalgoritmo consiste nella ripetizione del seguente passo a partire dallinsieme
iniziale " = ! . {!A}:
applicare la regola di risoluzione in ogni modo possibile alle formule di ", e
inserire in " le formule derivate (se non ne fanno gi parte)

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 46
Lalgoritmo di risoluzione
Si dimostra che, dopo un numero finito di passi
se ! . {!A} contraddittorio (cio se ! |= A), dopo un numero finito di
passi si trover in " almeno una coppia di letterali complementari (per es. P e
!P)
se invece ! . {!A} non contraddittorio (cio se ! |, A), allora dopo un
numero finito di passi non sar pi possibile ottenere nuove formule, e non ci
sar in " nessuna coppia di letterali complementari
Le condizioni precedenti costituiscono dunque le condizioni di terminazione
dellalgoritmo di risoluzione. Dopo ogni applicazione della regola di risoluzione:
se " contiene almeno una coppia di letterali complementari, allora si pu
concludere che ! |= A, e lalgoritmo termina
se " non contiene coppie di letterali complementari, e non pi possibile
ottenere nuove formule, allora si pu concludere che ! |, A, e lalgoritmo
termina

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 47
Lalgoritmo di risoluzione
Si noti che se un insieme di fbf contiene due letterali complementari, la
sua contraddittoriet evidente (e viene subito rilevata dallalgoritmo di
risoluzione, senza eseguire nessun passo dinferenza)
Esistono per anche insiemi contraddittori che non contengono coppie di
letterali complementari (si vedano gli esempi del cap. precedente), la cui
contraddittoriet non quindi evidente
Limportanza dellalgoritmo di risoluzione consiste nel far emergere in
modo esplicito la contraddittoriet di un insieme di fbf, attraverso la
derivazione della forma pi semplice di contraddizione, cio una coppia
di letterali complementari

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 48
Algoritmo di risoluzione: esempio
Si consideri il seguente insieme di fbf, chiaramente contraddittorio (poich
contiene tutte le combinazioni di tre variabili in clausole di tre disgiunti, in
ciascuna delle quali ogni variabile compare una volta sola: quindi ognuna delle
2
3
=8 clausole falsa per una delle 2
3
=8 possibili interpretazioni):
P"Q"R, !P"Q"R, P"!Q"R, P"Q"!R, !P"!Q"R, !P"Q"!R, P"!Q"!R,
!P"!Q"!R
Nella pagina seguente si mostra lapplicazione dellalgoritmo di risoluzione a
tale insieme
ogni clausola sar scritta in una riga distinta e numerata
si scriveranno prima le otto clausole dellinsieme iniziale
poi si scriveranno le clausole ottenute come risolventi di coppie di clausole
precedenti (delle quali saranno indicati i numeri di riga)
Si noti che ad ogni passo possono esistere pi coppie di clausole da risolvere:
quindi necessaria una scelta che pu influenzare il numero di passi
dellalgoritmo

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 49
Algoritmo di risoluzione: esempio
1 P"Q"R
2 !P"Q"R
3 P"!Q"R
4 P"Q"!R
5 !P"!Q"R
6 !P"Q"!R
7 P"!Q"!R
8 !P"!Q"!R
9 Q"R 1,2
10 !Q"R 3,5
11 Q"!R 4,6
12 !Q"!R 7,8
13 R 9,10
14 !R 11,12
15 [] 13,14

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 50
Algoritmo di risoluzione: esempio
Si consideri ora un insieme di clausole
non contraddittorio, ottenuto per es.
eliminando una qualsiasi clausola
(diciamo !P " !Q " !R) da quello
dellesempio precedente
Lapplicazione dellalgoritmo di
risoluzione mostrata a lato
Si osservi che lalgoritmo si arresta al
passo 12 poich non pi possibile
ottenere nuove fbf applicando la regola
di risoluzione alle fbf 1-12
Lassenza di letterali complementari
nelle fbf 1-12 indica che linsieme di
partenza 1-7 non contraddittorio
1 P"Q"R
2 !P"Q"R
3 P"!Q"R
4 P"Q"!R
5 !P"!Q"R
6 !P"Q"!R
7 P"!Q"!R
8 Q"R 1,2
9 !Q"R 3,5
10 Q"!R 4,6
11 R 8,9
12 Q 10,11

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 51
Algoritmo di risoluzione: esempio
Si consideri ancora lesempio del gioco del Wumpus
Quando lagente si trova nella casella (1,1) (vedi figura) percepisce
lassenza di correnti daria: la sua KB conterr tra le altre le formule
B
1,1
* (P
1,2
" P
2,1
) e !B
1,1
Con un semplice ragionamento informale si pu concludere che le due
formule precedenti implicano !P
1,2

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 52
Algoritmo di risoluzione: esempio
Per dimostrarlo attraverso la regola di
risoluzione, si effettuano prima i
seguenti passi preliminari
si trasforma B
1,1
* (P
1,2
" P
2,1
) in
CNF, ottenendo le tre clausole
(!B
1,1
" P
1,2
" P
2,1
), (B
1,1
" !P
1,2
) e
(B
1,1
" !P
2,1
)
si aggiunge la negazione della
query !P
1,2
, cio P
1,2
, alle premesse,
ottenendo linsieme di clausole
{(!B
1,1
" P
1,2
" P
2,1
), (B
1,1
" !P
1,2
),
(B
1,1
" !P
2,1
), !B
1,1
, P
1,2
}
Una possibile applicazione
dellalgoritmo di risoluzione a tale
insieme mostrata a lato
1 !B
1,1
" P
1,2
" P
2,1
2 B
1,1
" !P
1,2
3 B
1,1
" !P
2,1
4 !B
1,1
5 P
1,2
6 !B
1,1
" B
1,1
" P
1,2
1,3
7 P
1,2
" P
2,1
" !P
1,2
1,3
8 !B
1,1
" B
1,1
" P
2,1
1,2
9 P
1,2
" P
2,1
" !P
2,1
1,2
10 !P
2,1
3,4
11 !P
1,2
2,4
12 [] 5,11

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 53
Un agente per il mondo del Wumpus
basato sulla logica proposizionale
Negli esempi visti finora si considerata la rappresentazione e
lelaborazione della conoscenza sulle caratteristiche statiche
dellambiente (pozzi senza fondo e percezioni)
Si accenner ora a come sia possibile rappresentare ed elaborare la
conoscenza dellagente con lo scopo di
determinare lazione da eseguire ad ogni passo
tener traccia della propria posizione
aggiornare la propria conoscenza in base alle percezioni ricevute dopo
lesecuzione di ogni azione

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 54
Un agente per il mondo del Wumpus
basato sulla logica proposizionale
La strategia per determinare lazione da eseguire ad ogni passo potrebbe essere
espressa da formule come la seguente:
W
1,2
# L
2,2
$ !Left
dove L
i,j
e W
i,j
indicano la posizione dellagente e del Wumpus, mentre Left
indica che lazione da eseguire uno spostamento verso sinistra
Per decidere lazione da eseguire ad ogni passo, lagente potrebbe interrogare la
KB con le query corrispondenti alle quattro azioni possibili, eseguendo una delle
azioni corrispondenti alle query che risultassero vere
Per es., per sapere se, dato lo stato di conoscenza attuale sullambiente, la
strategia codificata nella KB iniziale consiglia di spostarsi verso sinistra, lagente
deve verificare se la formula Left sia implicata dalla KB attuale
Questo potrebbe essere ottenuto in due modi
con lalgoritmo di risoluzione per refutazione
se la KB espressa in forma di clausole di Horn, si pu usare lalgoritmo
backward chaining

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 55
Un agente per il mondo del Wumpus
basato sulla logica proposizionale (cont.)
Per tener traccia della posizione dellagente si pu pensare di usare
formule come la seguente:
L
1,1
# Right $ L
2,1
Si noti che tali formule (come quelle che codificano la strategia
dellagente) fanno parte della conoscenza a priori (background
knowledge) sullambiente, e devono perci essere inserite nella KB
iniziale dellagente
Se la KB fosse espressa in forma di clausole di Horn, per aggiornarla in
base alle percezioni ricevute dopo lesecuzione di ogni azione:
si inseriscono le formule corrispondenti alle percezioni nella KB (per
esempio, !B
1,1
)
si esegue lalgoritmo forward chaining

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 56
Un agente per il mondo del Wumpus
basato sulla logica proposizionale (cont.)
Il programma dellagente pu essere schematizzato come segue
function KB-AGENT(percept) returns an action
static: KB, a knowledge base
t, a counter, initially 0, indicating time
TELL(KB, MAKE-PERCEPT-SENTENCE(percept,t))
action / ASK(KB, MAKE-ACTION-QUERY(t))
TELL(KB, MAKE-ACTION-SENTENCE(action,t))
t / t + 1
return action
TELL(KB, !) inserisce la formula ! nella KB
ASK (KB, !) interroga la KB per dimostrare la formula !
Si noti che il meccanismo di inferenza nascosto nelle due funzioni precedenti
Per es., se la KB espressa in forma di clausole di Horn:
TELL pu attivare lalgoritmo forward chaining per determinare tutte le
conseguenze della formula inserita
ASK pu dimostrare la query con lalgoritmo backward chaining

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 57
Limiti della logica proposizionale
In teoria possibile progettare un agente per il mondo del Wumpus basato sulla
LP. Tuttavia, facile accorgersi che questo comporta seri problemi dal punto di
vista pratico. Per esempio:
per rappresentare la posizione dellagente necessario un simbolo
proposizionale diverso per ogni casella
per rappresentare il fatto che nelle caselle adiacenti un pozzo c una
corrente daria, necessaria una formula diversa per ogni casella
per descrivere la posizione dellagente dopo uno spostamento, servirebbero
quattro formule per ogni casella
in realt ne servono di pi: infatti se lagente si trova in (1,1), la KB
contiene L
1,1
; se lagente si sposta a destra, dopo L
1,1
# Right $ L
2,1
la KB
conterrebbe anche L
2,1
!
bisogna allora usare proposizioni come L
t
i,j
, dove lapice indica listante
di tempo, e regole come L
1
1,1
# Right $ L
2
2,1

evidente che il numero di simboli proposizionali e di formule necessarie per


descrivere nel linguaggio della LP anche un problema semplice come quello del
Wumpus troppo elevato

Corso di Intelligenza Artificiale A.A. 2009/2010 Logica proposizionale

Prof. Ing. F. Roli 58
Limiti della logica proposizionale
Lesempio precedente suggerisce che la capacit espressiva della LP sia
troppo limitata per problemi reali
Nel capitolo seguente si descriver la logica dei predicati, caratterizzata
da una capacit espressiva molto maggiore della LP, e adatta alla
descrizione di molti problemi reali

Das könnte Ihnen auch gefallen