C1: L C1 C2: L C2 C: C1 C2

Documenti analoghi
Intelligenza Artificiale. Logica proposizionale: calcolo automatico

Logica proposizionale

Esercitazioni per il corso di Logica Matematica

Logica e risoluzione: esercizi

RISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine

UNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE

Introduzione alla logica

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Logica: materiale didattico

Logica per la Programmazione

CALCOLO PROPOSIZIONALE

Un po di logica. Christian Ferrari. Laboratorio di matematica

Maiuscole e minuscole

LOGICA DEL PRIMO ORDINE: PROOF SYSTEM. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

Semantica proposizionale. Unit 2, Lez 3 e 4 Corso di Logica

Logica per la Programmazione

CALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini

Logica per la Programmazione

Logica. introduzione. Ringraziamenti

Fondamenti di Informatica 2

Logica proposizionale classica. Studia il comportamento dei connettivi proposizionali quali ( And ) e ( Or )

sempre vere sempre false

Logica per la Programmazione

LA LOGICA DEI PREDICATI DEL PRIMO ORDINE

Intelligenza Artificiale I

Introduzione ad alcuni sistemi di logica modale

DIMOSTRAZIONI DI EQUIVALENZE, SUI CONNETTIVI E SULL'AMBIGUITA' DELLA SINTASSI. Corso di Logica per la Programmazione

DIMOSTRAZIONI E TAUTOLOGIE, IPOTESI NON TAUTOLOGICHE. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini

Proposizioni e verità

e Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità

DIMOSTRAZIONE DI IMPLICAZIONI TAUTOLOGICHE. Corso di Logica per la Programmazione A.A. 2010/11 Andrea Corradini

Logica per la Programmazione

Logica proposizionale

Calcoli dei sequenti classici e lineare

Intelligenza Artificiale. Breve introduzione alle logiche non classiche

Inferenza nella logica del primo ordine

LOGICA MATEMATICA PER INFORMATICA

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/17

Università degli Studi di Milano

Logica e fondamenti di matematica

Corso di Logica I. Modulo sul Calcolo dei Sequenti. Dispensa Lezione III.

04 - Logica delle dimostrazioni

Elementi di logica. SCOPO: introdurre nozioni di logica & vocabolario per una corretta interpretazione delle dimostrazioni.

Operatori di relazione

Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. Bob Kowalski: "Algoritmo = Logica + Controllo"

Logica per la Programmazione

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

Logica: nozioni di base

Logica proposizionale

La matematica non è un opinione, lo è oppure...?

Introduzione alla Programmazione Logica ed al linguaggio PROLOG

Ragionamento Automatico Calcolo dei Sequenti. Lezione 5 Ragionamento Automatico Carlucci Aiello, 2004/05 Lezione 5 0. Il calcolo dei sequenti

Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati;

02 - Logica delle dimostrazioni

Procedura di Inferenza/deduzione

Che cosa abbiamo fatto fin ora

1 Richiami di logica matematica

DIMOSTRAZIONI DI TAUTOLOGIE. Corso di Logica per la Programmazione A.A. 2010/11 Andrea Corradini, Paolo Mancarella

LOGICA MATEMATICA. Sonia L Innocente. Corso di Laurea. Informatica e Tecnologie/Informatica Industriale. Argomento 1. Logica proposizionale

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

Appunti di informatica. Lezione 7 anno accademico Mario Verdicchio

Elementi di Logica Le forme del ragionamento

Intelligenza Artificiale II. Logiche modali e temporali

DI CHE COSA SI OCCUPA LA LOGICA

Rappresentazione della Conoscenza. Lezione 2. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 2 0

Algoritmo per A. !(x) Istanza di B

Esercizi di logica. Ivan Valbusa 5 dicembre 2012

PROGRAMMA CONSUNTIVO

Proprietà dei linguaggi non contestuali

Appunti di geometria euclidea

METODI MATEMATICI PER L INFORMATICA

Una Breve Introduzione alla Logica

Derivazioni SLD. Passo di derivazione SLD. Derivazione SLD. Notazione

CALCOLO DEL PRIMO ORDINE

LOGICA PER LA PROGRAMMAZIONE

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:

Logica per la Programmazione

CALCOLO DEI PREDICATI DEL I ORDINE

Cenni di logica. Hynek Kovarik. Università di Brescia. Analisi Matematica A

Prerequisiti Matematici

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni.

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n

Teoremi di Incompletezza di Gödel

Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela

LOGICA MATEMATICA PER INFORMATICA

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Informatica. Logica e Algebra di Boole

11. Misure con segno.

Istituto Tecnico Nautico San Giorgio - Genova - Anno scolastico PROGRAMMA SVOLTO DI MATEMATICA

Marta Capiluppi Dipartimento di Informatica Università di Verona

ISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI A. MARTINI Castelfranco Veneto (TV) Elementi di Logica

GIOVANNI FUSCHINO COMPLETEZZA E RAGIONAMENTO PER DEFAULT

Verifica di programmi

LEZIONE 4. { x + y + z = 1 x y + 2z = 3

Logica. 7: Conseguenza ed equivalenza logica in logica classica proposizionale. Claudio Sacerdoti Coen. Universitá di Bologna

BREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia le condizioni in base alle quali un ragionamento risulta

ESERCIZI DI ANALISI MATEMATICA 1 FOGLIO 1

LOGICA DEL PRIMO ORDINE: MOTIVAZIONI, SINTASSI E INTERPRETAZIONI. Corso di Logica per la Programmazione A.A Andrea Corradini

Transcript:

Abbiamo visto Gli agenti logici applicano inferenze a una base di conoscenza per derivare nuove informazioni. Concetti base della logica: sintassi: struttura formale delle sentenze semantica: verita` di sentenze rispetto ad interpretazioni/modelli conseguenza logica (entailment): sentenza necessariamente vera data un altra sentenza inferenza: derivare (sintatticamente) sentenze da altre sentenze correttezza (soundness): la derivazione produce solo sentenze che sono conseguenza logica. Completezza (completeness): la derivazione puo prdurre tutte le conseguenze logiche. 1 Logica Proposizionale: E la logica più semplice, ma non molto espressiva. Non possiamo esprimere variabili (solo enumerazione di tutti gli elementi) Se S, S 1, S 2 sono sentenze allora sono anche sentenze: S S (negazione) S 1 S 2 (congiunzione) S 1 S 2 (disgiunzione) S 1 S 2 (implicazione) S 1 S 2 (bicondizionale bicondizionale) 2

Dimostrazioni in logica proposizionale Vedremo la dimostrazione basata su Risoluzione (corretta e completa per clausole generali) Forward chaining (corretta e completa per clausole Horn) Backward chaining (corretta e completa per clausole Horn) Una qualunque fbf della logica proposizionale si può trasformare in un equivalente insieme di clausole generali (formule SP o PS vedi reti logiche ed algebra di Boole). 3 IL PRINCIPIO DI RISOLUZIONE Sistema di deduzione per la logica a clausole per il quale valgono interessanti proprietà. Regola di inferenza: : Principio di Risoluzione [Robinson 65], che si applica a teorie del primo ordine in forma a clausole. l È la regola di inferenza base utilizzata nella programmazione logica. 4

CLAUSOLE Una clausola è una disgiunzione di letterali (cioè formule atomiche negate e non negate), in cui tutte le variabili sono quantificate universalmente in modo implicito. Una clausola generica può essere rappresentata come la disgiunzione: A 1 A 2...... A n ~B B 1...... ~B m dove A i (i=1,..,n) e B j (j=1,..,m) sono atomi. Una clausola nella quale non compare alcun letterale, sia positivo sia negativo, è detta clausola vuota e verrà indicata con. interpretato come contraddizione: disgiunzione falso ~vero Un sottoinsieme delle clausole è costituito dalle clausole definite, nelle quali si ha sempre un solo letterale positivo: A 1 ~B 1 ~B m 5 IL PRINCIPIO DI RISOLUZIONE Il principio di risoluzione, che si applica a formule in forma a clausole, è utilizzato dalla maggior parte dei risolutori automatici di teoremi. Logica Proposizionale: clausole prive di variabili. Siano C 1 e C 2 due clausole prive di variabili: C 1 = A 1..... A n C 2 = B 1..... B m Se esistono in C 1 e C 2 due letterali opposti,, A i e B j, ossia tali che A i = ~ B j, allora da C 1 ec 2, (clausole parent) ) si può derivare una nuova clausola C 3, denominata risolvente,, della forma: C 3 =A 1.... A i-1 A i+1.... A n B 1.... B j-1 B j+1..... B m C 3 è conseguenza logica di C 1 C 2. C1: L C1 C2: L C2 C: C1 C2 6

ESEMPI C 1 = p(0,0) C 2 = ~p(0,0) p(0,s(0)) C 3 = p(0,s(0)) C 1 = p q ~a ~b C 2 = f a C 3 = p q ~b f 7 DIMOSTRAZIONE PER CONTRADDIZIONE ATTRAVERSO LA RISOLUZIONE (1) Dati gli assiomi propri H di una teoria e una formula F, derivando da H { {~F} la contraddizione logica si dimostra che F è un teorema della teoria. 1) Ridurre H e il teorema negato ~F in forma a clausole. H trasformato t nell'insieme i di clausole l H C : H H C F negata e trasformata nell'insieme di clausole F C : ~F F C 2) All'insieme H C F C si applica la risoluzione Se F è un teorema della teoria, allora la risoluzione deriva la contraddizione logica (clausola vuota) in un numero finito di passi. Contraddizione: Nella derivazione compariranno due clausole del tipo A e ~B con A e B formule atomiche unificabili. 8

DIMOSTRAZIONE PER CONTRADDIZIONE ATTRAVERSO LA RISOLUZIONE (2) Per dimostrare F, il metodo originario (Robinson) procede generando i risolventi per tutte le coppie di clausole dell'insieme di partenza C 0 = H C F C che sono aggiunti a C 0. Procedimento iterato, fino a derivare, se è possibile, la clausola vuota. 1. C i+1 = C i {risolventi delle clausole di C i } 2. Se C i+1 contiene la clausola vuota, termina. Altrimenti ripeti il passo 1. 0 9 ESEMPIO H = {(a c d) (a d e) (a ~c)} F = {d e} La trasformazione in clausole di H e ~F produce: H C = {~a c d, a d e, ~a ~c} ~c} F C = {~d, ~e} (cioe ~(d e)) Si vuole dimostrare che H C F C : {~a c d, (1) a d e, (2) ~a ~c, (3) ~d, (4) ~e} (5) è contraddittorio. 10

ESEMPIO Tutti i possibili risolventi al passo 1 sono: {c d e, (6) da (1) e (2) d e ~c, (7) da (2) e (3) ~a c, (8) da (1) e (4) a e, (9) da (2) e (4) a d, (10) da (2) e (5) ~a d} (11) da (1) e (3) Al passo 2, da (10) e (11) viene derivato il risolvente: d (12) e al passo 3, da (4) e (12) viene derivata anche la clausola vuota. 11 Algoritmo di Risoluzione per PL (Logica Proposizionale) Per contraddizione, i.e., KB α α e insoddisfacibile 12

Esempio di Risoluzione KB = (B 1,1 (P 1,2 P 2,1 )) B 1,1 α = P 1,2 13 Forward e backward chaining Horn Form (sootinsieme della logica proposizionale) KB = congiunzione di clausole di Horn Clausole di Horn = Proposizioni atomiche; o (congiunzione di proposizioni atomiche) proposizione atomica E.g. KB = C (B A) (C D B) Modus Ponens (per Horn): completo per Horn KB α 1,,αα n, α 1 α n β β Puo essere usato sia per forward chaining o backward chaining. Algoritmi molto naturali e con compessita` lineare in tempo. 14

Forward chaining Idea: applica tutte le regole le cui premesse sono soddisfatte nella KB, Aggiungi le conclusioni alla KB,, fino a trovare la query 15 Forward chaining: esempio 16

Forward chaining : esempio 17 Forward chaining : esempio 18

Forward chaining : esempio 19 Forward chaining : esempio 20

Forward chaining : esempio 21 Forward chaining : esempio 22

Forward chaining : esempio 23 Backward chaining (BC) Idea: lavora backwards dalla query (goal) q: Per dimostrare q Conrolla se q e gia noto, oppure, Dimostra attraverso BC tutte le premesse di una qualche regola che conclude q Per evitare loops: controlla se i nuovi sottogoals sono gia nello stack dei goals Evita di ripetere lavoro controllando se I nuovi sottogoal sono gia stati ti dimostrati ti veri o falsi. 24

Backward chaining : esempio 25 Backward chaining : esempio 26

Backward chaining : esempio 27 Backward chaining : esempio 28

Backward chaining : esempio 29 Backward chaining : esempio 30

Backward chaining : esempio 31 Backward chaining : esempio 32

Backward chaining : esempio 33 Backward chaining : esempio 34

Forward vs. backward chaining FC è data-driven, e.g., monitoring, configurazione, interpretazione Non si concentra sull obiettivo BC è goal-driven, quindi in generale più appropriato per il problem- solving 35 Sommario La risoluzione è completa per la logica proposizionale Forward, backward chaining sono complete per le clausole di Horn La logica proposizionale è troppo povera dal punto di vista espressivo. 36