Dalla Logica alla Programmazione logica Sommario • Introduzione – AI e programmazione logica: obiettivi • Logica Proposizionale (LP): – Introduzione alla logica proposizionale: • Sintassi • Semantica – aspetti algoritmici della LP • Logica del primo ordine – vantaggi e svantaggi della LP – Interpretazioni e modelli 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 2 Sommario • Introduzione – AI e programmazione logica: obiettivi • Logica Proposizionale (LP): – Introduzione alla logica proposizionale: • Sintassi • Semantica – aspetti algoritmici della LP • Logica del primo ordine – vantaggi e svantaggi della LP – Interpretazioni e modelli 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 3 Introduzione • Obiettivo principale della Intelligenza Artificiale: Costruzione di sistemi di ragionamento automatico • Intuizione della programmazione logica: usare una macchina per inferire conclusioni da una descrizione formale del mondo. • Queste descrizioni possono essere inserite in forma di programmi logici, ovvero di insiemi finiti di (particolari) formule logiche. 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 4 Sommario • Introduzione – AI e programmazione logica: obiettivi • Logica Proposizionale (LP): – Introduzione alla logica proposizionale: • Sintassi • Semantica – aspetti algoritmici della LP • Logica del primo ordine – vantaggi e svantaggi della LP – Interpretazioni e modelli 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 5 Logica proposizionale: sintassi • Alfabeto della logica proposizionale: – Simboli proposizionali (o costanti proposizionali) • Rappresentati con lettere minuscole, talvolta indicizzate: p1, p2, q, r … – Connettivi logici: • ∧ (congiunzione), ¬ (negazione), ↔ (equivalenza logica), ⊃ (→) e ⊂ (←) (implicazione) e ∨ (disgiunzione) – Simboli ausiliari: • Parentesi e virgole Connettivi logici nome 14/01/2005 simbolo arità simboli alternativi negazione ¬ monadica – , ~, not congiunzione ∧ diadica & , . , and disgiunzione ∨ diadica | , or implicazione ⊃ diadica ⇒,→ equivalenza = diadica ⇔, ↔,~ Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 6 Logica proposizionale: linguaggio • Formule: – • Regole di costruzione: – – – • Base: ogni proposizione è una formula Induzione: se X e Y sono formule, allora ¬X, (X ∧ Y), (X ∨ Y), (X ⊃ Y) (X ≡ Y) Chiusura: tutte le formule sono ottenibili dall’applicazione delle regole base e di induzione un numero finito di volte Metasimboli di formula: – • Proposizioni e connettivi, opportunamente collegati attraverso delle regole di costruzione, danno origine a delle combinazioni, dette formule, che costituiscono il linguaggio del calcolo proposizionale. simboli come X e Y, usati in questo contesto per rappresentare le formule, sono dei metasimboli, dei simboli cioè esterni al linguaggio e utili per introdurre nozioni e proprietà del linguaggio stesso. Sottoformule: – Se una formula Y è utilizzata come argomento della regola di induzione per ottenere una regola X, allora Y è una sottoformula di X. • • Es: data la formula (p ∧ (q ∨ r)) {p, q, r, (q ∨ r) } è l’insieme delle sue sottoformula Decidibilità della ben formatezza di una formula: – – 14/01/2005 L’insieme delle formule è un sottoinsieme dell’insieme delle possibili combinazioni di simboli, che è una infinità numerabile. L’insieme delle formule è pertanto una infinità numerabile. Tale insieme è recursive, è cioè sempre possibile in un tempo finito decidere se una data combinazione è una formula o meno Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 7 Rappresentazione ad albero di una formula • Data la formula: (p∧(q∨r)) la sua rappresentazione ad albero è la seguente: ∧ ∨ p q • r La radice dell’albero corrispondente ad una formula è un connettivo, chiamato connettivo principale della formula 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 8 Logica proposizionale: linguaggio • Letterale – proposizioni (letterale positivo) e proposizioni negate dal simbolo ¬ (letterale negativo). – I letterali positivo e negativo della stessa proposizione sono detti letterali opposti. • Condizionale, Antecedente e Conseguente – Una formula il cui connettivo principale sia una implicazione (equivalenza) è talvolta chiamato condizionale (bicondizionale). – In p ⊃ q, p è detto l’antecendente dell’implicazione – q è invece detto il conseguente dell’implicazione 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 9 Logica proposizionale: semantica • • • • Scopo della semantica è l’assegnare un significato a delle formule. Il dominio semantico del calcolo proposizionale è costituito dai valori vero/falso { T, F }. L’interpretazione di una formula consiste nell’assegnazione di un valore di verità (un valore cioè appartenente all’insieme { T, F } ) ad essa. La semantica, ovvero l’insieme di leggi di interpretazione di una formula, è, nella LP, composizionale (denotazionale): il significato di una formula deve essere funzione dei significati dei suoi componenti. – In altre parole, il valore di verità assegnato ad una formula deve dipendere esclusivamente dalla struttura della formula stessa e dalle singole interpretazioni delle proposizioni in essa contenute. • I connettivi della LP sono quindi detti vero-funzionali. – Dato un connettivo, non appena so i valori di verità dei suoi argomenti, sono anche in grado di fornire il valore della formula da esso determinata. 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 10 Tabelle di verità • Se una formula contiene n proposizioni distinte, allora ammette 2n possibili interpretazioni • Assegnati valori di verità alle n proposizioni, è possibile determinare il significato della formula tramite le tabelle di verità • Lettura delle tabelle di verità: 14/01/2005 Elenco delle variabili Formule considerate Qui vi sono tante colonne quante sono le 2n combinazioni di valori: T e F sulle n variabili considerate Qui sono espressi i valori di verità per le formule considerate in corrispondenza dei valori di verità delle proposizioni riportati nella colonna di sinistra Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 11 Logica proposizionale: semantica • Tabella di verità di ¬ : 14/01/2005 X ¬X T F F T Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 12 Logica proposizionale: semantica • Tabella di verità di ∧ : 14/01/2005 X Y X∧Y T T T T F F F T F F F F Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 13 Logica proposizionale: semantica • Tabella di verità di ∨ : – La disgiunzione è non esclusiva, la formula è cioè vera se X o Y o entrambe le proposizioni sono vere. 14/01/2005 X Y X∨Y T T T T F T F T T F F F Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 14 Logica proposizionale: semantica • Tabella di verità di ⊃ : – Se l’antecendente è T, il condizionale prende il valore di verità del conseguente – ⊃ è talvolta indicato come implicazione materiale (per distinguerlo dalla naturale), ed è alla base del ragionamento matematico che connette una ipotesi ed una conclusione di un teorema 14/01/2005 X Y X⊃Y T T T T F F F T T F F T Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 15 Logica proposizionale: semantica • Tabella di verità di ≡ : – La formula è vera quando i valori di verità dei due operandi sono eguali 14/01/2005 X Y X≡Y T T T T F F F T F F F T Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 16 Logica proposizionale: semantica • Riassumendo: 14/01/2005 X Y X∧Y X∨Y X⊃Y X≡Y T T T T T T T F F T F F F T F T T F F F F F T T Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 17 Esercizio: la fiera dell’est • • Abbiamo una serie di eventi nel mondo reale, e vogliamo rappresentarli in logica proposizionale. Possiamo associare ad ogni evento una proposizione e stabilire delle relazioni tra gli eventi applicando i connettivi logici alle proposizioni. Esempio: la fiera dell’est – “Alla fiera dell'est, per due soldi, un topolino mio padre comprò E venne il gatto, che si mangiò il topo, che al mercato mio padre comprò” – p: mio padre compra un topolino – q: viene il gatto – r: il gatto “si” mangia il topo • Possiamo esprimere l’idea che la presenza del gatto e del topo generi l’evento associato alla proposizione r con una delle due seguenti espressioni: p ⊃ ( q ⊃ r) (p∧q)⊃r • Sono esse equivalenti? Come possiamo dimostrarlo? 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 18 Logica proposizionale: semantica • Metodo delle tabelle di verità per osservare la veridicità di una formula: – Verificare la validità della seguente formula F : p ⊃ ( q ⊃ r) ≡ ( p ∧ q ) ⊃ r 14/01/2005 p q r q⊃r p ⊃ ( q ⊃ r) p∧q (p∧q)⊃r F T T T T T T T T T T F F F T F T T F T T T F T T T F F T T F T T F T T T T F T T F T F F T F T T F F T T T F T T F F F T T F T T Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 19 Soundness • Consistenza di una formula: – Una formula è consistente, sound o soddisfacibile, se ha un modello, ovvero se può essere interpretata con il valore T • Tutti i letterali sono consistenti • Modello di una formula: – Una interpretazione che soddisfa una formula • Formula inconsistente (o insoddisfacibile) – Tale che non esiste una interpretazione che la soddisfi – Esempi: • F • p∧¬p • F∨(p∧¬p) 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 20 Validità • Una formula è detta valida (è una tautologia) – se per tutte le possibili interpretazioni delle proposizioni in essa contenute, la formula è vera – e.g. • • • • • • • p⊃p T ¬ ( p ∧ ¬p ) q∨T [(p ⊃ q) ⊃ p] ⊃ p p ⊃ (q ⊃ p) Una formula è detta contingente – se è consistente ma non valida – Nota: tutti i letterali sono contingenti • Note: – La negazione di una formula valida è una formula inconsistente – La negazione di una formula contingente è ancora una formula contingente 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 21 Equivalenza • Due formule sono dette equivalenti sse i loro valori di verità coincidono per ogni interpretazione. • E.g. – le leggi di De Morgan: ¬(p ∨ q) ≡ ¬p ∧ ¬ q ¬(p ∧ q) ≡ ¬p ∨ ¬ q – Legge della contro-implicazione: (p ⊃ q) ≡ (¬q ⊃ ¬ p) • Se p e q sono equivalenti, allora vale: (p ⊃ q) ∧ (q ⊃ p) 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 22 Set di formule • Soddisfacibilità di un set di formule: – Un set di formule S è (semanticamente) consistente, sound o soddisfacibile, se tutti i suoi elementi ammettono un modello comune, in caso contrario S è detto inconsistente o insoddisfacibile. – Un set di formule è quindi considerato, semanticamente, come la congiunzione dei suoi elementi. 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 23 Conseguenza Logica • • • Se una formula F è vera per ognuna delle interpretazioni per le quali un determinato set di formule S è vero, diciamo che: F è una conseguenza logica (entailment) di S e lo scriviamo con: S A. In particolare, una tautologia è una conseguenza logica dell’insieme vuoto Una formula F è una conseguenza logica di un insieme di formule S sse la implicazione materiale (sintattica): (S ⊃ A ) è una tautologia, ovvero: SA ⇔ (S⊃A) • Qualche esempio: – {P} P – {P, P ⊃ Q} Q – P∧QP Nota: usiamo qui il simbolo ⇔ al di fuori del formalismo della logica, per indicare il comune “se e solo se” o “sse” che useremmo nella nostra spiegazione, allo stesso con modo cui scriviamo ⇒ al posto di “se allora” 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 24 Il problema della deduzione • Problema della deduzione: – Capire se C è una conseguenza logica di un set di formule è un problema fondamentale della logica, conosciuto come problema della deduzione. {H1,…,Hn} C – In questo esempio, le formule Hi sono dette le ipotesi, e la formula C conclusione. – Possiamo applicare quanto visto precedentemente al problema della deduzione ed ottenere la seguente formula: {H1,…,Hn} C 14/01/2005 ⇔ (H1 ∧ … ∧ Hn) ⊃ C Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 25 Principio di deduzione • Principio di deduzione: – Un metodo più efficiente per dimostrare la conseguenza logica di una formula C da un insieme di ipotesi H consiste nel dimostrare che S ∪ {¬C} è inconsistente – Formalmente: {H1,…,Hn} C ⇔ (H1 ∧ … ∧ Hn, ¬C) F – Tale metodo è noto come principio di deduzione. 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 26 Regole di inferenza • • Basandoci sulle tabelle di verità precedentemente riportate, possiamo affermare le seguenti regole di inferenza, ovvero delle regole che permettono di ricavare delle formule a partire da altre note. Tali regole sono quindi valide. Regole di inferenza: – modus ponens: date le due formule: p e p ⊃ q possiamo derivare la formula: q – introduzione di ∧: p ∧ q può essere inferita da p e q – commutatività di ∧: q ∧ p possono essere derivati da p ∧ q – eliminazione degli ∧ : p può essere inferito da p ∧ q – introduzione degli ∨ : p ∨ q può essere inferita o da p o da q. – eliminazione dei ¬: p può essere inferita da ¬ (¬ p ). 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 27 Soundness e Completezza di un set di regole di inferenza • Dati un set di regole di inferenza R, e per ogni set di formule H e ogni formula C: – Soundness del set di regole di inferenza R: • (H ⊃R C) ⇒ (H C) • Se, quando possiamo provare C a partire dalle formule in H e dal set di regole R, C è una conseguenza logica di H. – Completezza del set di regole R: • (H C) ⇒ (H ⊃R C) • Se, qualora C sia una conseguenza logica del set H, allora è sempre possibile dimostrare C tramite le regole R • Dimostrazione di una formula: – Computabilità: • Se un set di regole è sia sound che completo, allora possiamo utilizzare quel set di regole per verificare che una formula C sia una conseguenza logica di una serie di ipotesi H. – Complessità computazionale: • Determinare se una formula C è conseguenza logica di un set di formule H è, in generale, un problema NP-HARD. 14/01/2005 Armando Stellato [email protected] ai-nlp.info.uniroma2.it/stellato 28