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