Dalla Logica alla Programmazione logica 1222022 1 Sommario

  • Slides: 67
Download presentation
Dalla Logica alla Programmazione logica 1/22/2022 1

Dalla Logica alla Programmazione logica 1/22/2022 1

Sommario • Introduzione – AI e programmazione logica: obiettivi • Logica Proposizionale (LP): –

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 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 2

Sommario • Introduzione – AI e programmazione logica: obiettivi • Logica Proposizionale (LP): –

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 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 3

Introduzione • Obiettivo principale della Intelligenza Artificiale: Costruzione di sistemi di ragionamento automatico •

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. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 4

Sommario • Introduzione – AI e programmazione logica: obiettivi • Logica Proposizionale (LP): –

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 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 5

Logica proposizionale: sintassi • Alfabeto della logica proposizionale: – Simboli proposizionali (o costanti proposizionali)

Logica proposizionale: sintassi • Alfabeto della logica proposizionale: – Simboli proposizionali (o costanti proposizionali) • Rappresentati con lettere minuscole, talvolta indicizzate: p 1, p 2, q, r … – Connettivi logici: • (congiunzione), (negazione), (equivalenza logica), ( ) e ( ) (implicazione) e (disgiunzione) – Simboli ausiliari: • Parentesi e virgole Connettivi logici nome 1/22/2022 simbolo arità simboli alternativi negazione monadica – , ~, not congiunzione diadica & , , and disgiunzione diadica | , or implicazione diadica , equivalenza = diadica , , ~ Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 6

Logica proposizionale: linguaggio • Formule: – Proposizioni e connettivi, opportunamente collegati attraverso delle regole

Logica proposizionale: linguaggio • Formule: – Proposizioni e connettivi, opportunamente collegati attraverso delle regole di costruzione, danno origine a delle combinazioni, dette formule, che costituiscono il linguaggio del calcolo proposizionale. • Regole di costruzione: – Base: ogni proposizione è una formula – Induzione: se X e Y sono formule, allora X, (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: – 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: – 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 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 7

Rappresentazione ad albero di una formula • Data la formula: (p (q r)) la

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 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 8

Logica proposizionale: linguaggio • Letterale – proposizioni (letterale positivo) e proposizioni negate dal simbolo

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 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 9

Logica proposizionale: semantica • Scopo della semantica è l’assegnare un significato a delle formule.

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. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 10

Tabelle di verità • Se una formula contiene n proposizioni distinte, allora ammette 2

Tabelle di verità • Se una formula contiene n proposizioni distinte, allora ammette 2 n 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à: 1/22/2022 Elenco delle variabili Formule considerate Qui vi sono tante colonne quante sono le 2 n 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 stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 11

Logica proposizionale: semantica • Tabella di verità di : 1/22/2022 X X T F

Logica proposizionale: semantica • Tabella di verità di : 1/22/2022 X X T F F T Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 12

Logica proposizionale: semantica • Tabella di verità di : 1/22/2022 X Y T T

Logica proposizionale: semantica • Tabella di verità di : 1/22/2022 X Y T T F F F T F F Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 13

Logica proposizionale: semantica • Tabella di verità di : – La disgiunzione è non

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. 1/22/2022 X Y T T F F F Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 14

Logica proposizionale: semantica • Tabella di verità di : – Se l’antecendente è T,

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 1/22/2022 X Y T T F F F T T F F T Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 15

Logica proposizionale: semantica • Tabella di verità di : – La formula è vera

Logica proposizionale: semantica • Tabella di verità di : – La formula è vera quando i valori di verità dei due operandi sono eguali 1/22/2022 X Y T T F F F T Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 16

Logica proposizionale: semantica • Riassumendo: 1/22/2022 X Y X Y X Y T T

Logica proposizionale: semantica • Riassumendo: 1/22/2022 X Y X Y X Y T T T T F F F T T Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 17

Esercizio: la fiera dell’est • • Abbiamo una serie di eventi nel mondo reale,

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 • 1/22/2022 Sono esse equivalenti? Come possiamo dimostrarlo? Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 18

Logica proposizionale: semantica • Metodo delle tabelle di verità per osservare la veridicità di

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 1/22/2022 p q r p ( q r) p q (p q) r F T T T T T F F F T T T F F T T F T T F F T T T F F F T T Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 19

Soundness • Consistenza di una formula: – Una formula è consistente, sound o soddisfacibile,

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) 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 20

Validità • Una formula è detta valida (è una tautologia) – se per tutte

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 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 21

Equivalenza • Due formule sono dette equivalenti sse i loro valori di verità coincidono

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 – Legge della contro-implicazione: (p q) ( q p) • Se p e q sono equivalenti, allora vale: (p q) (q p) 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 22

Set di formule • Soddisfacibilità di un set di formule: – Un set di

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. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 23

Conseguenza Logica • • • Se una formula F è vera per ognuna delle

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: S A ( S A ) • Qualche esempio: – {P} P – {P, P Q} Q – P Q P 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” 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 24

Il problema della deduzione • Problema della deduzione: – Capire se C è una

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. {H 1, …, 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: {H 1, …, Hn} C 1/22/2022 (H 1 … Hn) C Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 25

Principio di deduzione • Principio di deduzione: – Un metodo più efficiente per dimostrare

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: {H 1, …, Hn} C (H 1 … Hn, C) F – Tale metodo è noto come principio di deduzione. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 26

Regole di inferenza • Basandoci sulle tabelle di verità precedentemente riportate, possiamo affermare le

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 ). 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 27

Soundness e Completezza di un set di regole di inferenza • Dati un set

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. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 28

Aspetti algoritmici della logica proposizionale 1/22/2022 29

Aspetti algoritmici della logica proposizionale 1/22/2022 29

Dimostrazione della validità di una formula – Decidibilità della consistenza e validità di una

Dimostrazione della validità di una formula – Decidibilità della consistenza e validità di una formula: • L’uso di tabelle di verità per determinare la validità o la consistenza di una formula F richiede un tempo esponenziale nel numero di proposizioni presenti in F. • Diversi algoritmi forniscono metodi decisionali più efficienti del verificare tutte le possibili interpretazioni. Molti di essi sono basati sul concetto di albero semantico – Albero semantico: • Dato un set di proposizioni P = {p 1, p 2, …pn} un albero semantico per P è un albero binario che soddisfa i seguenti vincoli: – – Ogni arco è etichettato con un letterale (pos o neg) relativo ad un elemento di P Due archi originati dallo stesso nodo sono etichettati con letterali opposti Nessun ramo contiene più di una occorrenza di ogni letterale Nessun ramo contiene contemporaneamente un letterale e il suo opposto • Es di albero semantico: P = { p, q } p p q 1/22/2022 q Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 30

Alberi semantici • Proprietà degli alberi semantici – Alberi finiti e infiniti • Se

Alberi semantici • Proprietà degli alberi semantici – Alberi finiti e infiniti • Se P è un insieme finito, allora ogni albero per p è finito • Se P è un insieme infinito, allora esistono per p sia alberi finiti che alberi infiniti – Interpretazione: • Ad ogni nodo N corrisponde una interpretazione parziale di P • Es: il nodo completamente a sinistra dell’albero nella slide precedente fornisce l’interpretazione T per p e F per q – Alberi semantici completi e incompleti: • Completi: se l’interpretazione su ogni nodo foglia è totale • un albero semantico completo di un set P infinito è necessariamente infinito 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 31

Consistenza e Validità di formule • Algoritmo triviale: – È possibile dimostrare la consistenza

Consistenza e Validità di formule • Algoritmo triviale: – È possibile dimostrare la consistenza di una formula in modo triviale, esplorando tutto l’albero semantico completo relativo ad un set di formule P finché non si trova almeno una foglia con una interpretazione di P pari a T. – Allo stesso modo, per dimostrarne la validità, occorre esplorare necessariamente tutto l’albero e verificare che l’interpretazione associata ad ogni ramo sia T. • Alternative – Evitare la costruzione di alberi semantici completi – Giudicare in anticipo la veridicità di una formula sulla base di interpretazioni incomplete 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 32

Algoritmo di Quine • Principio: – Se una formula è vera sia per p

Algoritmo di Quine • Principio: – Se una formula è vera sia per p che per p allora elimino i due letterali e non considero il loro relativo sottoalbero. • Es: validità della formula ((p q) r) (p q)) (p r) – studio di p = T ((q r) q) r studio di q = T r r quindi la formula è T studio di q = F F r quindi la formula è ancora T – studio di p = F in questo caso, trovo sempre F su tutte le implicazioni, quindi la formula si riduce alla tautologia T – La formula è quindi sempre vera, è cioè una tautologia. • A ben guardare, l’interpretazione parziale corrispondente a p = T, è già una tautologia, perché corrisponde al modus ponens, non vi sarebbe quindi stato bisogno dell’ulteriore delle interpretazioni di q. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 33

Reductio ad absurdum • Caratteristiche: – Utile quando sono presenti molti connettivi di implicazione

Reductio ad absurdum • Caratteristiche: – Utile quando sono presenti molti connettivi di implicazione – Principio: l’unico caso in cui un condizionale è falso si verifica quando l’antecedente è T e il conseguente è F. Se è possibile dimostrare che tale situazione è assurda, allora il condizionale è una tautologia • Es: validità della formula ((p q) r) (p (q r)) Per essere falsa la formula, devono quindi verificarsi le seguente condizioni: a) I( ( p q ) r ) = T b) I( p ( q r ) ) = F per verificare l’ipotesi in b, devo quindi avere necessariamente la seguente interpretazione per le tre proposizioni: I(p) = T ; I(q) = T ; I(r) = F ma tale interpretazione rende la formula in a) falsa; non possono quindi mai verificarsi contemporaneamente le due condizioni a) e b). Per tal motivo, la formula è una tautologia. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 34

Forma normale congiuntiva • Gli algoritmi visti precedentemente sono ancora inefficienti per decidere la

Forma normale congiuntiva • Gli algoritmi visti precedentemente sono ancora inefficienti per decidere la validità di una formula. – In particolare, è stato dimostrato che il problema della decidibilità della validità di una formula proposizionale è NP-completo. • Esistono però degli algoritmi che hanno buone proprietà computazionali su casi specifici del problema. • Vediamo quindi una particolare classe di formule che offre buone caratteristiche di trattabilità 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 35

Forma normale congiuntiva (2) • Clausole – Una clausola è una disgiunzione di un

Forma normale congiuntiva (2) • Clausole – Una clausola è una disgiunzione di un numero finito di letterali • Es: ( l 1 l 2 … ln ) rappresentata alternativamente come {l 1 , l 2 , l 3 , … ln} • Nota: La clausola vuota è l’unica clausola inconsistente. • Forma normale congiuntiva (CNF) – La Conjunctive Normal Form (CNF) è la congiunzione di un numero finito di clausole • Teorema: – Ogni formula ammette una forma normale congiuntiva equivalente – È sempre possibile giungere ad una forma normale congiuntiva attraverso le seguenti regole di riscrittura: • • • 1/22/2022 X Y ( X Y ) ( Y X ) ( X Y ) X Y ( X Y ) X X X (Y Z) (X Y) (X Z) Eliminazione dell’equivalenza Eliminazione dell’implicazione De Morgan Eliminazione della doppia negazione Distribuzione Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 36

Forma normale congiuntiva (3) • Esempio di normalizzazione: [p (q r)] [(p s) r]

Forma normale congiuntiva (3) • Esempio di normalizzazione: [p (q r)] [(p s) r] (eliminazione implicazioni) [ p ( q r ) ] [ ( p s ) r ] (ancora eliminazione implicazioni) ( p q r ) [ ( p s ) r ] (De Morgan) ( p q r ) ( p s r ) T (distribuzione) T ( p p s r ) ( q p s r ) ( r p s r ) (Eliminazione delle Tautologie) ( q p s r ) una sola clausola!!! 1/22/2022 È quindi banale verificare la validità di una CNF. È sufficiente che tutte le sue clausole siano una tautologia Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 37

Algoritmo di Quine per CNF (1) • Si basa sulla seguente considerazione: – Definiti:

Algoritmo di Quine per CNF (1) • Si basa sulla seguente considerazione: – Definiti: • una CNF S • una proposizione p S • Una partizione di S in tre insiemi: – Sp ovvero il set di clausole contenenti p – S’’ = S ( Sp S p ) • S’p costituito dalle clausole di Sp dopo la rimozione del letterale p • S’ p costituito dalle clausole di S p dopo la rimozione del letterale p – Abbiamo il seguente Lemma: • Se p è T, S è equivalente a ( S’ p S’’); se p è F, S è equivalente a ( S’p S’’ ) 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 38

Algoritmo di Quine per CNF (2) • Per verificare quindi la consistenza di una

Algoritmo di Quine per CNF (2) • Per verificare quindi la consistenza di una formula, posso applicare il seguente algoritmo: • Algoritimo: – If S = 0 then S è consistente – If S = { F }, then S è inconsistente – Else, • Seleziona una proposizione p occorrente in S; • Computa S’p , S’ p e S’’ – S è inconsistente sse sia ( S’ p S’’) che ( S’ p S’’) sono inconsistenti • Tale algoritmo è ricorsivo, infatti la inconsistenza dei due set ottenuti può essere ottenuta riapplicando l’algoritmo stesso. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 39

Algoritmo di Quine per CNF (3) • Esempio di applicazione dell’algoritmo di Quine, in

Algoritmo di Quine per CNF (3) • Esempio di applicazione dell’algoritmo di Quine, in cui proviamo la inconsistenza del seguente set di formule: S = { p q , p r , q r , p } • Seleziono la proposizione p : Sp = { p q , p r } , S p = { p} , S’’ = { q r } S’p = {q , r } , S’ p = {F} ( S’p S’’ ) = {q , r , q r } , (S’ p S’’) = {F , q r } Il set ( S’ p S’’ ) è ovviamente inconsistente, dobbiamo quindi dimostrare l’inconsistenza di U = ( S’p S’’ ) 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 40

Algoritmo di Quine per CNF (4) • Seleziono la proposizione q: Uq = {

Algoritmo di Quine per CNF (4) • Seleziono la proposizione q: Uq = { q } , U q = { q r } , U’’ = { r } U’q = 0 , U’ q = { r } ( U’q U’’ ) = { F , r } , (U’ q U’’) = { r , r } Gli insiemi { F , r } e { r , r } sono entrambi inconsistenti, dimostrando così la tesi di inconsistenza della formula originale. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 41

Algoritmo di Davis e Putnam (1) • Caratteristiche: – È una versione modificata dell’algoritmo

Algoritmo di Davis e Putnam (1) • Caratteristiche: – È una versione modificata dell’algoritmo di Quine per le CNF – Si basa su una analisi della struttura normale della formula considerata. – Opera quindi una migliore scelta degli elementi basandosi su tale struttura. – In particolare, una proposizione p ha precedenza nel processo di scelta delle proposizioni se: • Una delle clausole di S consiste del singolo letterale p o p – Es: se S contiene solo p, allora ( S’p S’’ ) conterrà la clausola vuota e sarà quindi inconsistente. Dovrò quindi ragionare sul solo set (S’ p S’’) • Solo uno dei letterali p e p occorre in S – Es: se p occorre in S ma non p, allora S’ p è un insieme vuoto; anche in questo caso dovrò quindi ragionare sul solo insieme (S’p S’’) 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 42

Algoritmo di Davis e Putnam (2) • Esempio; vogliamo dimostrare la validità di una

Algoritmo di Davis e Putnam (2) • Esempio; vogliamo dimostrare la validità di una classica tecnica di deduzione, chiamata proving by cases. • L’ipotesi è rappresentata da h, i possibili casi da p e q e la conclusione da c. Dobbiamo quindi provare che: {h, h (p q), p c, q c} c che equivale a provare l’inconsistenza dell’insieme: { h , h ( p q ) , p c , q c , c} • Utilizzando le regole di riscrittura, convertiamo la formula nella seguente CNF: { h , h p q , p c , q c , c} 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 43

Algoritmo di Davis e Putnam (3) • Possiamo quindi, mediante una opportuna selezione dei

Algoritmo di Davis e Putnam (3) • Possiamo quindi, mediante una opportuna selezione dei candidati, seguire la seguente dimostrazione: 1. 2. 3. 4. 5. 1/22/2022 { h , h p q , p c , q c , c} { p q , p , q } { q , q } {F} Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 44

Principio di Risoluzione (1) • Principio: – Sappiamo che un set di clausole è

Principio di Risoluzione (1) • Principio: – Sappiamo che un set di clausole è inconsistente sse la clausola vuota è una conseguenza logica di tale insieme – Possiamo quindi dimostrare l’inconsistenza di un set S di formule generando da esso conseguenza logiche sino a giungere ad F. – Per generare nuove formule, utilizziamo quindi la seguente regola di risoluzione: { A X , B X} A B – Il seguente lemma sancisce quindi la validità della precedente regola di risoluzione: • Siano s 1 e s 2 due clausole appartenenti alla CNF S e sia l un letterale. Se l s 1 e l s 2, allora la clausola r = (s 1{l}) (s 1{ l}) è una conseguenza logica di S. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 45

Principio di Risoluzione (2) • Prova di inconsistenza basata su regola di risoluzione: –

Principio di Risoluzione (2) • Prova di inconsistenza basata su regola di risoluzione: – While F S, seleziona l, s 1, s 2 tali che l s 1 e l s 2; calcola il risolvente r; sostituisci S con S {r} 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 46

Principio di Risoluzione (3) • Esempio: – Dimostrare l’inconsistenza della formula: S = {

Principio di Risoluzione (3) • Esempio: – Dimostrare l’inconsistenza della formula: S = { p q , p r , q r , p } – Numeriamo le clausole, ottenendo la lista seguente: 1. p q 2. p r 3. q r 4. p 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 47

Principio di Risoluzione (4) – generiamo quindi, a partire dalle clausole di S, nuovi

Principio di Risoluzione (4) – generiamo quindi, a partire dalle clausole di S, nuovi risolventi ed aggiungiamoli ad S (i numeri tra parentesi indicano quali formule sono state usate per produrre la risoluzione) 5. p r 6. q 7. p q 8. r 9. p 10. r 11. q 12. r 13. q 14. F 1/22/2022 (1, 3) (1, 4) (2, 3) (2, 4) (2, 5) (3, 6) (3, 8) (4, 5) (4, 7) (4, 9) Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 48

Principio di Risoluzione (5) • Considerazioni – Nell’esempio precedente sono state prodotte delle risoluzioni

Principio di Risoluzione (5) • Considerazioni – Nell’esempio precedente sono state prodotte delle risoluzioni considerando le clausole in rigido ordine lessicografico – Una strategia ottimale nella scelta dei risolventi produce lo stesso risultato in un numero minore di passi: – Esempio: 6. q 8. r 9. q 10. F 1/22/2022 (1, 4) (2, 4) (3, 6) (5, 7) Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 49

Principio di Risoluzione (6) • Soundness e completezza dell’algoritmo di risoluzione – Il lemma

Principio di Risoluzione (6) • Soundness e completezza dell’algoritmo di risoluzione – Il lemma precedente ci assicura la soundness dell’algoritmo: la clausola vuota non può essere dedotta da un set consistente di clausole – Il seguente lemma* [Chang e Lee 73] ci assicura invece la completezza dell’algoritmo • Se un set di clausole S è inconsistente e contiene i risolventi dei suoi elementi, allora necessariamente contiene la clausola vuota. * Omettiamo per semplicità la dimostrazione del lemma 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 50

Clausole di Horn (1) • L’algoritmo di risoluzione risulta efficiente quando viene applicato ad

Clausole di Horn (1) • L’algoritmo di risoluzione risulta efficiente quando viene applicato ad una classe particolare di clausole: le clausole di Horn. – Una clausola di Horn è una clausola contenente al più un letterale positivo. • Es: una clausola di Horn: { p , q , r , s } – Sua forma equivalente: ( p q r ) s – Una clausola di Horn è definita se contiene esattamente un letterale positivo, altrimenti è una clausola di Horn negativa. • Modellazione di regole – Una clausola definita fornisce un modello di una regola • I letterali negativi rappresentano delle ipotesi e il letterale positivo è considerato la conclusione • Una clausola unitaria positiva consiste di un singolo letterale positivo e rappresenta quindi un fatto, cioè una conclusione assoluta, che non necessita di ipotesi. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 51

Clausole di Horn (2) • Dimostrazione automatica di teoremi – Una classe importante di

Clausole di Horn (2) • Dimostrazione automatica di teoremi – Una classe importante di problemi consiste nel dimostrare se una determinata formula, chiamata goal, sia una conseguenza logica di un insieme di fatti e regole. • Risoluzione su clausole di Horn – Una versione dell’algoritmo visto precedentemente, applicato alle clausole di Horn, è la seguente: – While F S, seleziona p e c tali che: • p è una clausola unitaria positiva di S • c è una clausola di S contenente p calcola il risolvente r; sostituisci S con (S {c}) {r} 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 52

Conclusioni • Le tecniche viste precedentemente mostrano come la realizzazione di strumenti di ragionamento

Conclusioni • Le tecniche viste precedentemente mostrano come la realizzazione di strumenti di ragionamento automatico basati su logica debba necessariamente tenere conto di problemi come la trattabilità delle formule considerate e l’efficienza nel poterle verificare • Nelle prossime slide, vedremo un altro modello logico, la logica dei predicati, più complesso del calcolo proposizionale, ma necessario per poter modellare aspetti della realtà altrimenti impossibili da rappresentare con delle semplici proposizioni • Le considerazioni effettuate precedentemente valgono tuttavia anche per la logica dei predicati, per la quale sarà necessario studiare delle opportune restrizioni che ne garantiscano l’applicabilità a strumenti di supporto al ragionamento automatico. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 53

Sommario • Introduzione – AI e programmazione logica: obiettivi • Logica Proposizionale (LP): –

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 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 54

Importante • A differenza delle precedenti, le seguenti slide non costituiscono materiale didattico completo,

Importante • A differenza delle precedenti, le seguenti slide non costituiscono materiale didattico completo, ma sono ad esclusivo supporto di: – Libro di testo – Primi due capitoli (fino a 2. 2 compreso) del Nilsson (scaricabile online dal link riportato nel syllabus) 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 55

Logica proposizionale: vantaggi e svantaggi • PRO – La logica proposizionale (LP) è dichiarativa

Logica proposizionale: vantaggi e svantaggi • PRO – La logica proposizionale (LP) è dichiarativa – La LP è composizionale: • Il significato di: A B è ascrivibile ai significati di A e B – Il significato nella logica proposizionale è indipendente dal contesto (a differenza che nel linguaggio naturale) • CONTRO – La logica proposizionale ha un potere espressivo molto limitato • Non possiamo fare affermazioni di carattere generale sugli oggetti del mondo 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 56

Logica proposizionale: limitazione Es: Possiamo assegnare alle proposizioni p, r, s, rispettivamente, i significati:

Logica proposizionale: limitazione Es: Possiamo assegnare alle proposizioni p, r, s, rispettivamente, i significati: – “Paola è una donna” – “Rosella è una donna” – “Sara è una donna” ma se volessimo successivamente affermare che “tutte le donne vestono di rosa” con la proposizione d, ed affermare di conseguenza che Paola, Rosella e Sara vestono di rosa, dovremmo creare delle nuove proposizioni: – q: Paola veste di rosa – t : Rosella veste di rosa – u: Sara veste di rosa ed inserire le seguenti regole: – p d q – r d t – s d u per ogni donna rappresentata con una proposizione all’interno della descrizione del mondo, sarà quindi necessario provvedere ad aggiungere ulteriori proposizioni per far sì che essa goda delle stesse proprietà che caratterizzano le altre nel sistema 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 57

Logica del primo ordine • La logica proposizionale assume dei fatti sul mondo •

Logica del primo ordine • La logica proposizionale assume dei fatti sul mondo • La logica del primo ordine (o logica dei predicati) prevede l’esistenza di: – Oggetti: persone, case, numeri, colori. • Qualunque cosa si voglia rappresentare, sia essa astratta o concreta. – Relazioni: primo, fratello_di, più_grande_di, situato_in. • Anche le proprietà intrinseche di un oggetto fanno parte di questo insieme – Funzioni: • Hanno per dominio e codominio l’insieme degli oggetti del mondo. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 58

Logica del primo ordine Sintassi • Alfabeto della logica del primo ordine: – variabili

Logica del primo ordine Sintassi • Alfabeto della logica del primo ordine: – variabili • Le rappresenteremo con simboli alfanumerici con lettera maiuscola iniziale, come: X; XS; Y; X 7; … – costanti, • identificatori numerici o alfanumerici come: x; mario ; 4; … – funtori • Identificatori alfanumerici che iniziano con un carattere minuscolo e con arità > 0. l’arità n di un funtore f è talvolta espressa nella forma f / n – Simboli di predicato • Tipicamente identificati con dei simboli alfanumerici con prima lettera minuscola e con arità > 0. La notazione p / n è utilizzata anche per i simboli di predicati. – Connettivi logici • (congiunzione), (negazione), (equivalenza logica), ( ) e ( ) (implicazione) e (disgiunzione) – quantificatori • (universale) e (esistenziale); – simboli ausiliari, come parentesi e virgole. 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 59

Logica del primo ordine Sintassi Ingredienti: Regole di inferenza – Eliminazione del quantificatore universale

Logica del primo ordine Sintassi Ingredienti: Regole di inferenza – Eliminazione del quantificatore universale x. F(…x…) SUBST({x/a}, F(…x…)} – Eliminazione del quantificatore esistenziale x. F(…x…) SUBST({x/a}, F(…x…)} Dove a non appartiene a costanti già introdotte – Introduzione del quantificatore esistenziale F(…a…) x. F(…x…) 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 60

Logica del primo ordine Semantica • Interpretazione – Insieme D per ciascuna costante individuale

Logica del primo ordine Semantica • Interpretazione – Insieme D per ciascuna costante individuale I(ai)=di – Insieme di funzioni I(fi)=fi f i: D n D per ciascuna lettera funzionale fi – Insieme di relazioni I(Pi)=Pi Pi Dn 1/22/2022 per ciascuna lettera predicativa Pi Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 61

Logica del primo ordine Semantica Interpretazione • Interpretazione delle formule atomiche – I (Pi(a

Logica del primo ordine Semantica Interpretazione • Interpretazione delle formule atomiche – I (Pi(a 1, …, an)) – I ( x. Pi(a 1, …, x, …, an)) =T se (I(a 1), …, I(an)) I(Pi) =F altrimenti =T se per tutti gli x D accade che (I(a 1), …, x, …, I(an)) I(Pi) = F altrimenti 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 62

Logica del primo ordine Semantica Interpretazione • Interpretazione delle formule quantificate – I( x.

Logica del primo ordine Semantica Interpretazione • Interpretazione delle formule quantificate – I( x. Pi(a 1, …, x, …, an)) = T =F 1/22/2022 se per tutti gli x D accade che (I(a 1), …, x, …, I(an)) I(Pi) altrimenti se esiste x D tale che (I(a 1), …, x, …, I(an)) I(Pi) altrimenti Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 63

Logica proposizionale vs. Logica del primo ordine “Aggiunte”: • Strutturazione dei letterali • Introduzione

Logica proposizionale vs. Logica del primo ordine “Aggiunte”: • Strutturazione dei letterali • Introduzione delle variabili • Introduzione dei quantificatori 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 64

Logica del primo ordine Socrate è un uomo. Gli uomini sono mortali. Allora Socrate

Logica del primo ordine Socrate è un uomo. Gli uomini sono mortali. Allora Socrate è mortale. • Costanti individuali {Socrate, Pino, Gino, Rino} • Lettere predicative {Uomo, Mortale} 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 65

Logica del primo ordine Socrate è un uomo. Gli uomini sono mortali. Allora Socrate

Logica del primo ordine Socrate è un uomo. Gli uomini sono mortali. Allora Socrate è mortale. • Traduzione affermazioni Uomo(Socrate) x. (Uomo(x) Mortale(x)) • Traduzione goal Mortale(Socrate) 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 66

Logica del primo ordine x. (Uomo(x) Mortale(x)) Universal Elimination (SUBST({x/Socrate}, Uomo(x) Mortale(x)) Uomo(Socrate) Mortale(Socrate)

Logica del primo ordine x. (Uomo(x) Mortale(x)) Universal Elimination (SUBST({x/Socrate}, Uomo(x) Mortale(x)) Uomo(Socrate) Mortale(Socrate) , Uomo(Socrate) MP Mortale(Socrate) 1/22/2022 Armando Stellato stellato@info. uniroma 2. it ai-nlp. info. uniroma 2. it/stellato 67