Esercizio - Conversione in CNF e risoluzione proposizionale (slide del corso)
Testo (dalle slide "Logical agents" del corso di Intelligenza Artificiale, Ing. dell'Informazione UniPD, esempio del mondo del Wumpus; teoria in Agenti logici e logica proposizionale - inferenza e risoluzioneAgenti basati sulla conoscenza (KB, Tell e Ask), mondo del Wumpus come banco di prova, sintassi e semantica della logica proposizionale, conseguenza logica, equivalenze, inferenza per model checking (7 simboli, 128 modelli, 3 modelli della KB) e per risoluzione (CNF, regola di risoluzione, dimostrazione per assurdo). Limite: poca espressività, da cui la logica del primo ordine.Agenti logici e logica proposizionale - inferenza e risoluzione →).
- Convertire in CNF .
- L'agente è passato da (nessun pozzo, ) a , dove sente brezza (), e poi in dove non sente brezza (). La regola di è . Dimostrare per risoluzione che c'è un pozzo in , cioè , con . Dimostrare anche che segue.
Punto 1: CNF di
Si applicano i passi della nota.
- Eliminare : diventa con e :
- Eliminare ():
- De Morgan: :
- Distribuire su : con :
Risultato: quattro clausole (una lunga più una per ogni pozzo adiacente: "un pozzo adiacente implica brezza"). Il controllo con sympy (to_cnf) dà le stesse quattro clausole. Con la stessa tecnica dà .
Punto 2:
Clausole.
| clausola | origine | |
|---|---|---|
| (clausola lunga) | ||
| percezione | ||
| (da ) | ||
| negazione della tesi |
(Delle altre clausole di e non serve nessuna: nella risoluzione si usano solo quelle necessarie.)
Derivazione.
- e su : .
- e su : (almeno uno tra e ha il pozzo).
- e su : .
- e su : .
- e su : .
La clausola vuota mostra che è insoddisfacibile: , c'è un pozzo in .
. Si aggiunge la negazione, . Con su : ; con su : . Quindi . Con in mano, il passo 2 () dà direttamente : è lo stesso ragionamento della slide "Exploring a wumpus world".
Controllo con Python. Un risolutore a saturazione sulle clausole conferma: è refutabile, no; e sono refutabili. Per model checking sui simboli ( modelli) la KB ha un solo modello: vero e tutti gli altri falsi tranne . Rispetto ai modelli della nota, il nuovo dato ha eliminato e quindi l'ambiguità.
Versione ripasso
- CNF di : . Eliminare e , De Morgan sul , distribuire. Risultato: . analogo con , .
- Dati: , , = clausola lunga di , , , ().
- Prova di : ; con ; con ; con ; con . Prova di : con , con .
- Verifica: model checking su simboli, modelli: ne resta uno ( vero). Il dato passa da modelli a .
- Errore tipico: dimenticare di aggiungere , oppure risolvere su due letterali complementari insieme (si risolve su un letterale per volta).