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