Logica Proposizionale ESERCITAZIONE Dipertimento di Elettronica per l Automazione Università degli Studi di Brescia Alessandro Saetti saetti@ing.unibs.it Materiale per il Corso di Intelligenza Artificiale A (Prof. Alfonso Gerevini) Regole di Inferenza Eliminazione dell implicazione (modus ponens): a b, a b Eliminazione degli and: a 1 a 2 a i a n a i Introduzione di and: a 1,a 2,...,a n a 1 a 2 a n Introduzione di or: a i a 1 a 2 a i a n Risoluzione unitaria: a b, b a Risoluzione: a b, b c a c
Refutazione Refutazione: ((KB P ) = Falso) (KB = P ) La risoluzione è una procedura di inferenza completa Procedendo per refutazione, se la base di conoscenza implica P, la risoluzione deriva la clausola vuota Strategie di Risoluzione Preferenza dell unità: Si applica la risoluzione, dove una delle formule è costituita da un singolo letterale (clausola unitaria) Risoluzione di Input: Si applica la risoluzione, dove una delle formule è una formula di input (KB+query). Insieme di Supporto : Si applica la risoluzione tra una delle formule di sos e un altra formula il risultato dell inferenza è aggiunto a sos. NOTA: Se si sceglie il sos in modo tale che le restanti formule siano contemporaneamente soddisfacibili la risoluzione basata su sos è completa.
Esercizio 7.9 R&N Se l unicorno è un animale mitico, è immortale, ma se non è mitico, allora è un mammifero mortale. Se è immortale o un mammifero, allora ha un corno. L unicorno èmagicosehauncorno. Scrivere le rappresentazioni logiche delle precedenti formule in modo tale che siano utilizzabili con la risoluzione unitaria. Dimostrare per refutazione e tramite la strategia basata su insieme di supporto quanto segue. L unicorno è mitico? L unicorno èmagico? L unicorno ha un corno? Esercizio 7.9 R&N (Soluzione) Se l unicorno e un animale mitico e immortale mitico immortale Se non e mitico allora e un mammifero mortale mitico immortale mammifero Se e immortale o e un mammifero allora ha un corno immortale mammifero cornuto L unico e magico se ha un corno cornuto magico
Esercizio 7.9 R&N (Soluzione) Se l unicorno e un animale mitico e immortale mitico immortale Se non e mitico allora e un mammifero mortale mitico immortale mitico mammifero Se e immortale o e un mammifero allora ha un corno immortale cornuto mammifero cornuto L unico e magico se ha un corno cornuto magico Esercizio 7.9 R&N (Soluzione) KB={ mitico immortale, mitico immortale, mitico mammifero, immortale cornuto, mammifero cornuto, cornuto magico} 1. S = { mitico} mitico mammifero, mitico mammifero 2. S = { mitico, mammifero} mitico immortale, mitico immortale 3. S = { mitico, mammifero, immortale} mammifero cornuto, mammifero cornuto 4. S = { mitico, mammifero, immortale, cornuto} cornuto magico, cornuto magico 5. S = { mitico, mammifero, immortale, cornuto, magico}? La dimostrazione non ha portato ad alcuna contraddizione!
Esercizio 7.9 R&N (Soluzione) KB={ mitico immortale, mitico immortale, mitico mammifero, immortale cornuto, mammifero cornuto, cornuto magico} 1. S = {mitico} mitico immortale, mitico immortale 2. S = {mitico, immortale} immortale cornuto, immortale cornuto 3. S = {mitico, immortale, cornuto} cornuto magico, cornuto magico 4. S = {mitico, immortale, cornuto, magico}? La dimostrazione non ha portato ad alcuna contraddizione! Esercizio 7.9 R&N (Soluzione) KB={ mitico immortale, mitico immortale, mitico mammifero, immortale cornuto, mammifero cornuto, cornuto magico} 1. S = { cornuto} mammifero cornuto, cornuto mammifero 2. S = { cornuto, mammifero} immortale cornuto, cornuto immortale 3. S = { cornuto, mammifero, immortale} mitico mammifero, mammifero mitico 4. S = { cornuto, mammifero, immortale, mitico} mitico immortale, immortale mitico 5. S = { cornuto, mammifero, immortale, mitico, mitico} mitico, mitico F La dimostrazione ha generato la clausola vuota!
Esercizio 7.9 R&N (Soluzione) KB={ mitico immortale, mitico immortale, mitico mammifero, immortale cornuto, mammifero cornuto, cornuto magico} 1. S = { magico} cornuto magico, magico cornuto 2. S = { magico, cornuto} mammifero cornuto, cornuto mammifero 3. S = { magico, cornuto, mammifero} immortale cornuto, cornuto immortale 4. S = { magico, cornuto, mammifero, immortale} mitico mammifero, mammifero mitico 5. S = { magico, cornuto, mammifero, immortale, mitico} mitico immortale, immortale mitico 6. S = { magico, cornuto, mammifero, immortale, mitico, mitico} mitico, mitico F La dimostrazione ha generato la clausola vuota! Esercizio Logica Proposizionale John lo sfregiato, Bill lo squartatore e Jack il duro vengono interrogati con l accusa di aver rubato la cassetta delle elemosina della parrocchia. Jack dice che il furto e stato commesso da Bill Bill si professa innocente e John afferma di non aver compiuto il furto. Sapendo che solo uno dei tre dice la verità, chi èilladro. Scrivere le rappresentazioni logiche delle precedenti formule in modo tale che siano utilizzabili con la risoluzione unitaria. Scoprire per refutazione e tramite la strategia di risoluzione basata su insieme di supporto chi tra John, Jack e Bill ha commesso il furto. Suggerimento: Usare i predicati FurtoBill, FurtoJack, FurtoJohn, VeritaBill, VeritaJack, VeritaJohn
Esercizio Logica Proposizionale (Sol.) Le testimonianze dei tre ceffi FurtoBill VeritaJack FurtoBill VeritaBill FurtoJohn VeritaJohn Solo uno dei tre ceffi dice la verita VeritaJack VeritaBill VeritaJohn VeritaJohn VeritaBill VeritaJack VeritaBill VeritaJack VeritaJohn Esercizio Logica Proposizionale (Sol.) A B B A A B A B B A B A Dal testo si ricava FurtoBill VeritaJack Il problema è risolvibile introducendo in KB solo: FurtoBill VeritaJack Il problema non è risolvibile introducendo in KB solo: VeritaJack FurtoBill
Esercizio Logica Proposizionale (Sol.) Le testimonianze dei tre ceffi FurtoBill VeritaJack FurtoBill VeritaBill FurtoJohn VeritaJohn Solo uno dei tre ceffi dice la verita VeritaJack VeritaBill VeritaJack VeritaJohn VeritaJohn VeritaBill Esercizio Logica Proposizionale (Sol.) KB={ FurtoBill VeritaJack, FurtoBill VeritaBill, FurtoJohn VeritaJohn, VeritaJack VeritaBill, VeritaJack VeritaJohn, VeritaJohn VeritaBill} 1. S = { FurtoJohn} FurtoJohn VeritaJohn, FurtoJohn VeritaJohn 2. S = { FurtoJohn, VeritaJohn} VeritaJohn VeritaBill, VeritaJohn VeritaBill 3. S = { FurtoJohn, VeritaJohn, VeritaBill} 4. S = { FurtoJohn, VeritaJohn, VeritaBill, VeritaJack} VeritaJack VeritaJohn, VeritaJohn VeritaJack FurtoBill VeritaBill, VeritaBill FurtoBill 5. S = { FurtoJohn, VeritaJohn, VeritaBill VeritaJack, FurtoBill} FurtoBill VeritaJack, VeritaJack FurtoBill 6. S = { FurtoJohn, VeritaJohn, VeritaBill VeritaJack, FurtoBill, FurtoBill} FurtoBill, FurtoBill F La dimostrazione ha generato la clausola vuota!