Rappresentazione della conoscenza in Logica Proposizionale

Intelligenza Artificiale
Lezione 4
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
0
Un agente basato su conoscenza
♦ base di conoscenza
♦ Tell inserimento di conoscenze
♦ Ask interrogazione della base delle conoscenze
Rappresentazione dichiarativa delle conoscenze
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
1
Schema di funzionamento
function Agente-KB( percezione) returns un’azione
static: KB, una base di conoscenza
t, un contatore, inizalmente a zero, indicante
il tempo
Tell(KB, Costruisci-Formula-Percezione( percezione, t))
azione ← Ask(KB, Costruisci-Interrogazione-Azione(t))
Tell(KB, Costruisci-Formula-Azione(azione, t))
t←t + 1
return azione
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
2
Livelli di rappresentazione della conoscenza
• livello di conoscenza o livello epistemologico (Tell ed Ask)
• livello logico Es la formula logica Collega(P onteGG, SF, M arin)
• livello di implementazione Es. la stringa o il DAG per
memorizzare Collega(P onteGG, SF, M arin)
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
3
Il mondo del wumpus: percezioni
• Nel quadrato contenente il wumpus e nei quadrati direttamente adiacenti (non diagonalmente) l’agente percepirà
del fetore (stench).
• Nei quadrati direttamente adiacenti una buca (pit), l’agente
percepirà della brezza (breeze).
• Nel quadrato dove si trova l’oro (oro), l’agente percepirà
del luccichio.
• Quando un agente urta un muro, percepirà una botta.
• Quando il wumpus viene ucciso, emette un terribile grido
che può essere udito ovunque all’interno dei sotterranei.
Le percezioni sotto forma di lista:
[F etore, Brezza, Luccichio, N ulla, N ulla]
L’agente non può percepire la propria posizione.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
4
Il mondo del wumpus: azioni
• azioni per andare avanti, girare a sinistra di 90◦ e girare
a destra di 90◦.
• Afferra, può essere utilizzata per prendere un oggetto che
è nello stesso quadrato in cui si trova l’agente.
• Spara, può lanciare una freccia (una sola!) nella stessa
direzione in cui guarda l’agente. La freccia continua dritta
fino ad incontrare un muro o il wumpus, uccidendolo.
• Risali viene usata per abbandonare i sotterranei; ha effetto solo quando l’agente si trova nel quadrato di partenza.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
5
Il mondo del wumpus: rischi e obiettivi
• L’agente muore miseramente se entra in un quadrato che
contiene una buca o un wumpus vivo. È sicuro (ma puzzolente) entrare in un quadrato con un wumpus morto.
• L’obiettivo dell’agente è quello di trovare l’oro e portarlo
al quadrato di partenza il più velocemente possibile, senza
rimanere ucciso.
Misura delle prestazioni:
• 1000 punti se si esce dal sotterraneo con l’oro,
• penalità di un punto per ogni azione intrapresa
• penalità di 10.000 punti se si rimane uccisi.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
6
Il mondo del wumpus: visualizzazione
4
Breeze
Stench
Breeze
3
Stench
PIT
Breeze
PIT
Gold
2
Breeze
Stench
Breeze
1
Breeze
PIT
START
1
2
3
Intelligenza Artificiale – Daniele Nardi, 2003
4
Lezione 4
7
Il mondo del wumpus: passo 1
1,4
2,4
3,4
4,4
1,3
2,3
3,3
4,3
1,2
2,2
3,2
4,2
= Agente
1,4
= Brezza
= Luccichio, Oro
= Quadrato
sicuro
1,3
P = Buca
S = Fetore
V = Visitato
W = Wumpus
1,2
A
B
G
OK
2,1
3,1
4,1
4,4
2,3
3,3
4,3
3,2
4,2
2,2
1,1
A
OK
3,4
P?
OK
OK
1,1
2,4
2,1
V
OK
OK
(a)
A
B
OK
3,1
P?
4,1
(b)
(a) percezione [N ulla, N ulla, N ulla, N ulla, N ulla].
(b) percezione [N ulla, Brezza, N ulla, N ulla, N ulla].
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
8
Il mondo del wumpus: passi successivi
1,4
1,3
1,2
2,4
W!
A
3,3
4,3
2,2
3,2
4,2
OK
2,1
V
OK
4,4
2,3
S
OK
1,1
3,4
B
V
OK
3,1
P!
4,1
= Agente
1,4
= Brezza
= Luccichio, Oro
= Quadrato
sicuro
1,3 W!
P = Buca
S = Fetore
V = Visitato
W = Wumpus
1,2
S
V
OK
A
B
G
OK
1,1
3,4
4,4
P?
2,3
3,3
2,2
3,2
A
S G
B
P?
4,3
4,2
V
OK
2,1
V
OK
(a)
2,4
B
V
OK
3,1
P!
4,1
(b)
(a) percezione [F etore, N ulla, N ulla, N ulla, N ulla].
(b) percezione [F etore, Brezza, Luccichio, N ulla, N ulla].
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
9
Logica proposizionale
♦ Alfabeto
• I connettivi proposizionali ¬ (unario) e ∧, ∨, → e ↔ (binari);
• Le costanti proposizionali >, ⊥ (per denotare il vero e il
falso);
• Un insieme non vuoto (finito o numerabile) di simboli
proposizionali ¶ = {A, B, . . . , P, Q, . . .};
• I simboli separatori ‘(’ e ‘)’.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
10
Logica proposizionale(sintassi)
♦
Formule
L’insieme Prop delle formule ben formate o formule del linguaggio proposizionale L è l’insieme definito induttivamente
come segue:
1. Le costanti e i simboli proposizionali sono formule;
2. Se A è una formula (¬A) è una formula;
3. Se ◦ è un connettivo binario (cioè ◦ ∈ {∨, ∧, →, ↔})e se A
e B sono due formule, (A ◦ B) è una formula.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
11
Precedenza operatori
♦ massima precedenza a ¬, poi ∧,∨, → e infine ↔.
La formula ¬A ∧ ¬B
viene parentetizzata come ((¬A) ∧ (¬B)).
La formula A ∧ B ∨ C
viene parentetizzata come ((A ∧ B) ∨ C).
La formula A → B → C
viene parentetizzata come (A → (B → C)).
La formula ¬A ∧ ¬B → C ∧ D ∧ E
viene parentetizzata come (((¬A)∧(¬B)) → (C∧(D∧E))).
La formula ¬A ∧ (¬B → C) ∧ D ∧ E
viene parentetizzata come ((¬A) ∧ ((¬B) → C) ∧ (D ∧ E)).
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
12
Semantica
♦ Il sistema di valutazione S = hB, T , Opi della logica proposizionale è definito da:
1. B= {0, 1};
2. T = {1};
3. Op= {Op¬, Op∧, Op∨, Op→, Op↔} uno per ogni connettivo
del linguaggio {¬, ∧, ∨, →, ↔}, con Op¬ : B 7→ B e Op◦ :
B × B 7→ B, ◦ ∈ {∧, ∨, →, ↔}.
Op¬(1) = 0 e Op¬(0) = 1
Op∧, Op∨, Op→, Op↔:
1
1
0
0
1
0
1
0
∧
1
0
0
0
∨
1
1
1
0
→
1
0
1
1
Intelligenza Artificiale – Daniele Nardi, 2003
↔
1
0
0
1
Lezione 4
13
Valutazione booleana
♦ Un’assegnazione booleana V ai simboli proposizionali ¶ è
una funzione totale:V : ¶ → {1, 0}.
♦ Una valutazione booleana IV : Prop 7→ {1, 0} è l’estensione
a Prop di un’assegnazione booleana, cioè
IV (A) = V(A) se A ∈ ¶;
IV (>) = 1;
IV (⊥) = 0;
IV (¬A) = Op¬(IV (A));
IV (A ◦ B) = Op◦(IV (A), IV (B)), ◦ ∈ {∧, ∨, →, ↔}.
Se V 1 e V 2 coincidono su simb(A) allora IV (A) = IV (A).
1
2
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
14
Tautologie e contraddizioni
Definizioni:
♦ Una formula proposizionale A è soddisfatta da una valutazione booleana IV se IV (A) = 1.
♦ Una formula proposizionale A è soddisfacibile se è soddisfatta da una qualche valutazione booleana IV .
♦ Una formula proposizionale A è una tautologia se è soddisfatta da ogni valutazione booleana IV .
♦ Una formula proposizionale A è una contraddizione non è
soddisfatta da nessuna valutazione booleana IV .
Proprietà :
A è una tautologia sse l’ultima colonna della tabella di verità
contiene solo 1, è soddisfacibile sse essa contiene almeno un
1, è contraddittoria sse essa contiene tutti 0.
Una formula A è una tautologia sse ¬A è una contraddizione.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
15
Tabelle di verità ridotte
Il valore di verità dell’intera formula è leggibile nella colonna
sottostante al suo connettivo principale.
Esempio: la tabella di verità ridotta per P → (Q → P )
P
1
1
0
0
→
1
1
1
1
Q
1
0
1
0
→
1
1
0
1
Intelligenza Artificiale – Daniele Nardi, 2003
P
1
1
0
0
Lezione 4
16
Leggi 1
Idempotenza:
A∧A ≡ A
A∨A ≡ A
Associatività:
A ∧ (B ∧ C) ≡ (A ∧ B) ∧ C
A ∨ (B ∨ C) ≡ (A ∨ B) ∨ C
A ↔ (B ↔ C) ≡ (A ↔ B) ↔ C
Commutatività:
A∧B ≡ B∧A
A∨B ≡ B∨A
A↔B ≡ B↔A
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
17
Leggi 2
Distributività:
A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C)
A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C)
Assorbimento:
A ∧ (A ∨ B) ≡ A
A ∨ (A ∧ B) ≡ A
Doppia negazione:
¬¬A ≡ A
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
18
Leggi di De Morgan:
¬(A ∧ B) ≡ ¬A ∨ ¬B
¬(A ∨ B) ≡ ¬A ∧ ¬B
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
19
Leggi 3
Terzo escluso:
A ∨ ¬A ≡ >
Contrapposizione:
A → B ≡ ¬B → ¬A
Contraddizione:
A ∧ ¬A ≡ ⊥.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
20
Completezza di insiemi di connettivi
Un insieme di connettivi logici C si dice completo sse, data
una qualunque f : {0, 1}n 7→ {0, 1} esiste una formula proposizionale A costruita mediante i connettivi dell’insieme C tale
che f ≡ fA.
Esempi:
Gli insiemi {¬, ∧}, {¬, ∨} , {nand} e {nor} sono completi.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
21
Strutture e modelli
Sia M un insieme di simboli proposizionali, definiamo
|= ⊆ (M × L)
ricorsivamente come segue:
1.
2.
3.
4.
5.
6.
7.
M |= A sse A ∈ M;
M |= > e M 6|= ⊥;
M |= ¬A sse non (M |= A) sse M 6|= A;
M |= A ∧ B sse M |= A e M |= B;
M |= A ∨ B sse M |= A oppure M |= B;
M |= A → B sse M 6|= A oppure M |= B;
M |= A ↔ B sse M |= A e M |= B, oppure M 6|= A e
M 6|= B.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
22
Modelli-definizioni
Sia A una formula, se M |= A diciamo che M è un modello
di A, ovvero che M rende vera A.
Se M rende vere tutte le formule di un insieme Γ, cioè se
M |= A, per ogni formula A in Γ, diciamo che M è un modello
per Γ e indichiamo questo con M |= Γ.
Se A è una tautologia, possiamo scrivere |= A.
Se M |= A per qualche M, allora diciamo che A è soddisfacibile.
Se per nessun insieme di simboli proposizionali M è verificato
che M |= A allora diciamo che A è insoddisfacibile.
Quindi una formula è insoddisfacibile sse per essa non esiste
un modello.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
23
Implicazione Logica
Dato un insieme di proposizioni Γ e una proposizione A, se Γ
implica logicamente A scriviamo Γ |= A.
Il seguente importante teorema lega le nozioni di implicazione
logica e di insoddisfacibilità:
Γ |= A sse Γ ∪ {¬A}è insoddisfacibile.
Compattezza: Se Γ |= A allora esiste un sottoinsieme finito
Γ0 di Γ, tale che Γ0 |= A.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
24
Decidibilità
La logica proposizionale è decidibile:
T AU T decidere se una formula A del calcolo proposizionale è
una tautologia o meno
SAT decidere se una formula A del calcolo proposizionale è
soddisfacibile o meno
Proprietà
Se Γ è effettivamente enumerabile, allora l’insieme delle conseguenze tautologiche di Γ, ovvero l’insieme {A | Γ |= A} è
effettivamente enumerabile.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
25
Complessità
I problemi di decisione della logica proposizionale T AU T e
SAT sono esponenziali nella dimensione della formula (cioè il
numero dei simboli di proposizione distinti).
Data una formula A con n simboli proposizionali distinti, per
verificare se la formula è una tautologia o se è soddisfacibile
basta costruire una tabella di verità per A, che conterrà 2n
righe.
Si può fare di meglio?
È possibile trovare algoritmi polinomiali per T AU T e SAT ?
SAT è NP-Completo e T AU T è CONP-completo.
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
26
Il ritorno del wumpus
1,4
1,3
1,2
W!
A
S
OK
1,1
2,4
3,4
4,4
2,3
3,3
4,3
2,2
3,2
4,2
= Agente
= Brezza
= Luccichio, Oro
= Quadrato sicuro
= Buca
= Fetore
= Visitato
= Wumpus
OK
2,1
V
OK
A
B
G
OK
P
S
V
W
B
V
OK
3,1
P!
4,1
(a) percezione [F etore, N ulla, N ulla, N ulla, N ulla].
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
27
La base di conoscenza
¬S1,1
¬S2,1
S1,2
R1 :
R2 :
R3 :
R4 :
¬B1,1
B2,1
¬B1,2
¬S1,1 ⇒ ¬W1,1 ∧ ¬W1,2 ∧ ¬W2,1
¬S2,1 ⇒ ¬W1,1 ∧ ¬W2,1 ∧ ¬W2,2 ∧ ¬W3,1
¬S1,2 ⇒ ¬W1,1 ∧ ¬W1,2 ∧ ¬W2,2 ∧ ¬W1,3
S1,2 ⇒ W1,3 ∨ W1,2 ∨ W2,2 ∨ W1,1
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
28
La ricerca del Wumpus
Per concludere W1,3 l’agente deve verificare
KB ⇒ W1,3
1. costruendo la tabellina (4096 righe)
2. tramite regole di inferenza
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
29
La traduzione della conoscenza in azione
function Agente-KB-Proposizionale( percezione) returns un’azione
static: KB, una base di conoscenza
t, un contatore, inizialmente a zero, indicante il tempo
Tell(KB, Costruisci-Formula-Percezione( percezione, t))
for each azione in la lista delle possibili azioni do
if Ask(KB, Costruisci-Formula-Azione(t, azione)) then
t←t + 1
return azione
end
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 4
30