Intelligenza Artificiale II. Logica del Primo Ordine Parte Teoria

Documenti analoghi
LOGICA DEI PREDICATI. Introduzione. Predicati e termini individuali. Termini individuali semplici e composti

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

Corso di LOGICA II: indagini semantiche su modalità e quantificazione. Uno studio di logica della necessità e della possibilità

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

Linguaggi. Rosario Culmone, Luca Tesei. 20/10/2009 UNICAM - p. 1/32

S::= Aa bb bc A::= 1B 0 B::= 0A 1 C::= Cc d Si scriva un riconoscitore in Prolog del linguaggio generato da G. Suggerimento: si elimini la ricorsione

TEORIA RELAZIONALE: INTRODUZIONE

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Linguaggi Elementari

Linguaggi. Claudio Sacerdoti Coen 11/04/ : Semantica della logica del prim ordine. Universitá di Bologna

Linguaggi del I ordine - semantica. Per dare significato ad una formula del I ordine bisogna specificare

Logica del primo ordine

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^

Appunti di Logica Matematica

LOGICA PER LA PROGRAMMAZIONE. Franco Turini

CORSO DI LAUREA IN INGEGNERIA.

(anno accademico )

LA LOGICA. è la scienza dell'argomentazione rigorosa. Oggetto di studio della logica è il ragionamento, le sue procedure e i suoi stili.

Teoria degli insiemi

EQUAZIONI DIFFERENZIALI Esercizi svolti. y = xy. y(2) = 1.

Intelligenza Artificiale I

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie

Lezione 8. La macchina universale

f: AxB f(x)=y, f={<x,y> per ogni x in A esiste unica y in B f(x)=y} f={<1,2>, <2,3>, <3,3>} : {1,2,3} {1,2,3} f(1)=2, f(2)=3, f(3)=3

Protocollo dei saperi imprescindibili Ordine di scuola: professionale

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Algebra e Geometria. Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2)

CAPITOLO V. DATABASE: Il modello relazionale

Indecidibilità, indefinibilità e incompletezza. 1

Esercizio: memoria virtuale

Trasformazione in clausole

LE FUNZIONI A DUE VARIABILI

Universita' degli Studi di Udine UNA PROPOSTA PER L'INTRODUZIONE DI CAPACITA' DI META-RAPPRESENTAZIONE IN UN LINGUAGGIO DI PROGRAMMAZIONE LOGICA

Equazione della Circonferenza - Grafico di una Circonferenza - Intersezione tra Circonferenza e Retta

DISORGANIZZAZIONE DISLESSIA CONCENTRAZIONE DISGRAFIA DSA DISORTOGRAFIA LENTEZZA MEMORIA DISCALCULIA DISPRASSIA DISNOMIA.

La fisica e la misura

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Fondamenti di Teoria delle Basi di Dati

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti

x u v(p(x, fx) q(u, v)), e poi

Algebra di Boole ed Elementi di Logica

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Anello commutativo. Un anello è commutativo se il prodotto è commutativo.

La programmazione con vincoli in breve. La programmazione con vincoli in breve

Sudoku: ancora un esercizio

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Predicati e Quantificatori

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari

Ottimizzazione in ECLiPSe

Laurea in Ingegneria Informatica Facoltà di Ingegneria Università di Roma La Sapienza. Dispense del Corso di Intelligenza Artificiale

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

La logica modale e la dimostrazione dell esistenza di Dio di Gödel. LOGICA MODALE

Le Macchine di Turing

Teoria della Progettazione delle Basi di Dati Relazionali

Esercitazioni di Reti Logiche. Lezione 2 Algebra Booleana e Porte Logiche. Zeynep KIZILTAN zkiziltan@deis.unibo.it

DISORGANIZZAZIONE DISLESSIA CONCENTRAZIONE DISGRAFIA DSA DISORTOGRAFIA LENTEZZA MEMORIA DISCALCULIA DISPRASSIA DISNOMIA.

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Rango: Rouchè-Capelli, dimensione e basi di spazi vettoriali.

Metodi formali per la verifica dell affidabilità di sistemi software (e hardware) (Peled, Software Reliability Methods, cap. 1) Importanza della

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

MATEMATICA GENERALE Prova d esame del 4 giugno FILA A

Syllabus: argomenti di Matematica delle prove di valutazione

I TEST DI LOGICA. Alberto Zanardo Dipartimento di Matematica Università di Padova. I.T.I, Marzotto, Valdagno 24 febbraio 2014

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Esercitazioni per il corso di Logica Matematica

Ingegneria del Software

PROGETTO CONTINUITA Scuola primaria secondaria di I grado CONOSCERE I RISCHI DELLA COMUNICAZIONE

Definizione Dati due insiemi A e B, contenuti nel campo reale R, si definisce funzione reale di variabile reale una legge f : A

Appunti di LOGICA MATEMATICA (a.a ; A.Ursini) Algebre di Boole. 1. Definizione e proprietá

Matematica generale CTF

Nota: Eventi meno probabili danno maggiore informazione

PIANO DI LAVORO. a.s / 2016

Integrali doppi - Esercizi svolti

DISTRIBUZIONI DI VARIABILI CASUALI DISCRETE

logica dei predicati

RETTE, PIANI, SFERE, CIRCONFERENZE

Dispense del corso di ALGEBRA 1 a.a

Logica dei predicati

Le aree dell informatica

Esercizi di Algebra Lineare. Claretta Carrara

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Regressione Logistica: un Modello per Variabili Risposta Categoriali

VARIANZA CAMPIONARIA E DEVIAZIONE STANDARD. Si definisce scarto quadratico medio o deviazione standard la radice quadrata della varianza.

Matematica Discreta. Gianfranco Niesi. Appunti per il corso di. C.S. in Informatica. Dipartimento di Matematica A.A

PROCESSO DI INDICIZZAZIONE SEMANTICA

VARIABILI ALEATORIE CONTINUE

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

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

ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA

Le funzioni di due variabili

Introduzione al MATLAB c Parte 2

PROCESSING NEL DOMINIO OMEGA Scardinare la teoria: DFT (Discrete Fourier Transform)

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

32 Laurea magistrale in Informatica Scienze

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Esercitazione 1 (Capitolo 2) Reti Logiche

I.I.S. Primo Levi Badia Polesine A.S

I-Compitino LOGICA 14 giugno 2014

Transcript:

Intelligenza Artificiale II Logica del Primo Ordine Parte 1.2 - Teoria Marco Piastra Logica del primo ordine (2) - 1

2 Linguaggio e semantica Logica del primo ordine (2) - 2

Linguaggio del primo ordine Simboli di un linguaggio predicativo L PO : Costanti individuali a, b, c, (Esempi: socrate, sfera1, mickeymouse, amelia, alba) Predicati P(.), Q(.), R(..), =, (Esempi: Red(.), Large(.), GreaterThan(..), >) Funzioni f(.), g(.), h(..), (Esempi: sqrt(.), colorof(.), shapeof(.)) Variabili x, y, z, Connettivi, e connettivi derivati,, Parentesi e virgola (per separare gli argomenti di funzioni e predicati) (, ),, Quantificatori ed il quantificatore derivato ( x x ) Logica del primo ordine (2) - 3

Termini e formule atomiche Termini ogni variabile o costante individuale è un termine se f è un simbolo funzionale a n argomenti e t 1,..., t n sono termini, allora f(t 1,..., t n ) è un termine un termine chiuso (ground) non contiene variabili Formula atomica se P è un simbolo predicativo a n argomenti e t 1,..., t n sono termini, allora P(t 1,..., t n ) è una formula atomica Esempi: Sorella( amelia, alba ) predicato costante costante formula atomica shapeof(b) = shapeof(x) costante termine termine predicato formula atomica termine variabile termine Logica del primo ordine (2) - 4

Regole di buona formazione Formule ben formate (fbf) regole sintattiche: l insieme di tutte le fbf di L PO si indica con fbf(l PO ) ogni formula atomica è una fbf fbf(l PO ) ( ) fbf(l PO ), fbf(l PO ) ( ) fbf(l PO ) fbf(l PO ) ( x ) fbf(l PO ) (aggiuntiva rispetto ad L P ), fbf(l PO ), ( ) (( ) ), fbf(l PO ), ( ) ( ( ( ))), fbf(l PO ), ( ) (( ) ( )) fbf(l PO ) ( x ) ( x ) (aggiuntiva rispetto ad L P ) Logica del primo ordine (2) - 5

Formule aperte, enunciati Variabili libere e vincolate una variabile (in una fbf) è vincolata se si trova nel raggio di azione di un quantificatore per quella variabile una variabile è libera se non è vincolata esempi di variabile vincolata: x P(x) x (P(x) (A(x) B(x)) esempi di variabile libera: P(x) y (P(y) (A(x,y) B(y))) Formule aperte e chiuse si dice aperta una fbf in cui occorre almeno una variabile libera si dice chiusa o anche enunciato (sentence) in caso contrario solo le fbf chiuse, cioè gli enunciati, hanno un valore di verità (in quanto rappresentano delle affermazioni...) Logica del primo ordine (2) - 6

Strutture e interpretazioni Una struttura <U,v> per un linguaggio L PO contiene: un insieme di oggetti U (l universo del discorso) un interpretazione v, cioè una funzione per ogni costante c v(c) U il valore assegnato è un oggetto di U per ogni predicato P a n argomenti v(p) U n il valore assegnato è una relazione n-aria in U n per ogni funzione f a n argomenti v(f) : U n U il valore assegnato è una funzione da U n a U Ai simboli predicativi unari sono associati sottoinsiemi di U Logica del primo ordine (2) - 7

Assegnazioni (ed il significato delle variabili?) Per le variabili data una struttura <U,v>, un assegnazione (valuation) s è una funzione che associa ad ogni variabile un elemento di U (in altre parole, data <U,v>, un assegnazione s Aaaargh! trasforma le variabili in costanti individuali) La distinzione tra interpretazione ed assegnazione è un tecnicismo tipico della logica del primo ordine serve per definire la semantica di tutte le fbf, aperte e chiuse Confronto tra assegnazioni date due assegnazioni s 1 e s 2 se v Var(L PO ) si ha s 1 (v) s 2 (v) allora s 1 = s 2 per d U, l assegnazione s 2 = [s 1 ](x:d) (d è un oggetto di U, non del linguaggio) si costruisce imponendo s 2 (v) s 1 (v) per v, v x e s 2 (x) = d Logica del primo ordine (2) - 8

Esempio 1 c b a d e Linguaggio simboli predicativi: Ontable(.), Above(..), On(..), Between( ) variabili: x, y, z,... costanti individuali: a, b, c, d, e Interpretazione Universo del discorso U = {a, b, c, d, e} Predicati v(ontable) = {c, e} v(above) = {<a,b>, <a,c>, <b,c>, <d,e>} v(on) = {<a,b>, <b,c>, <d,e>} v(between) = {<b,a,c>} Costanti individuali v(a) = a, v(b) = b, v(c) = c, v(d) = d, v(e) = e Si usa a per indicare la costante ed a per indicare l oggetto (*solo per comodità) Assegnazione esempio: s ={(x:a), (y:b), (z:a)...} (per tutte le variabili del linguaggio) Logica del primo ordine (2) - 9

Esempio 2 Oscar fratello di figlia di Amelia moglie di Mario marito di Paola figlia di Alba Linguaggio simboli predicativi: Maschio(.), Femmina(.), Fratello(..), Sorella(..) simboli funzionali: madre(.), padre(.) variabili: x, y, z,... costanti individuali: mario, paola, remo, oscar, amelia, alba Semantica universo del discorso U = {mario, paola, remo, oscar, amelia, alba} interpretazione v: costanti: v(mario) = mario, v(paola) = paola,... predicati: v(maschio(.)) = {mario, remo, oscar} v(femmina(.)) = {paola, amelia, alba} v(fratello(..)) = {<oscar,mario>, <mario,oscar>, <remo,paola>} v(sorella(..)) = {<paola,remo>, <alba,amelia>, <amelia,alba>} funzioni: v(madre(.)) = {<alba,paola>, <amelia,paola>} v(padre(.)) = {<alba,mario,>, <amelia,mario>} fratello di Remo sorella di Logica del primo ordine (2) - 10

Soddisfacimento (forma intuitiva) Una fbf è soddisfatta da una terna <U,v> [s] sse afferma una cosa vera in <U,v> [s] Esempi (mondo degli oggetti) Pyramid(a) è vera perchè: (v(a) = a) v(pyramid(.)) = {a} Parallelepiped(d) non è vera perchè: (v(d) = d) v(parallelepiped(.)) = {b, c, e} c b a d e x (Parallelepiped(x) Sphere(x)) è vera perché: ((v(parallelepiped(.)) = {b, c, e}) (v(sphere(.)) = {d})) x (Pyramid(x) Parallelepiped(x) Sphere(x)) è vera perché: ((v(pyramid(.)) = {a}) (v(parallelepiped(.)) = {b, c, e}) (v(sphere(.)) = {d})) U Logica del primo ordine (2) - 11

Soddisfacimento Formule atomiche data una struttura <U,v>, un assegnazione s ed una formula atomica si ha che <U,v> [s] sse se ha la forma P(t 1,..., t n ) allora <v(t 1 ) [s],..., v(t n ) [s]> v(p) [s] se ha la forma t 1 = t 2 allora v(t 1 ) [s] v(t 2 ) [s] (se si usa l identità) Fbf qualsiasi si ha che <U,v> [s] sse Come per LP se è una formula atomica, vedi sopra se allora <U,v> [s] se allora <U,v> [s] e <U,v> [s] se allora <U,v> [s] o <U,v> [s] se allora non <U,v> [s] e <U,v> [s] Logica del primo ordine (2) - 12

Esempio 3 (in riferimento alla interpretazione dell Esempio 2) Soddisfacimento <U,v> [s] Maschio(mario) in quanto mario v(maschio(.)) <U,v> [s] Maschio(padre(alba)) in quanto <mario,alba> v(padre) e mario v(maschio(.)) <U,v> [s] Maschio(paola) in quanto paola v(maschio(.)) <U,v> [s] Maschio(mario) Fratello(remo,paola) in quanto remo v(maschio(.)) e <remo,paola> v(fratello(..)) Soddisfacimento ed assegnazione <U,v> [(x:paola),...] Femmina(x) <U,v> [(x:mario),...] Femmina(x) Il valore delle formule chiuse non dipende dalle assegnazioni Logica del primo ordine (2) - 13

Soddisfacimento e quantificatori Fbf con quantificatori si ha che <U,v> [s] x sse se per ogni d U si ha <U,v> [s](x:d) per definizione x x quindi: <U,v> [s] x se esiste un d U per cui si ha <U,v> [s](x:d) Logica del primo ordine (2) - 14

Esempio 4 (in riferimento alla interpretazione dell Esempio 2) Soddisfacimento <U,v> [s] x (Maschio(x) Femmina(x)) in quanto per ogni d U si ha che <U,v> [s](x:d) (Maschio(x) Femmina(x)) cioè d v(maschio(.)) oppure d v(femmina(.)) <U,v> [s] x (Maschio(x)) in quanto non per ogni d U si ha che <U,v> [s](x:d) Maschio(x) <U,v> [s](x:mario) Maschio(x) in quanto mario v(maschio(.)) <U,v> [s] x y (Fratello(x,y) Maschio(x)) in quanto in ogni tupla <d 1,d 2 > v(fratello(..)), si ha che d 1 v(maschio(.)) <U,v> [s] x y (Fratello(x,y) Fratello(y,x)) in quanto per ogni tupla <d 1,d 2 > v(fratello(..)), si ha che <d 2,d 1 > v(fratello(..)) Logica del primo ordine (2) - 15

Modelli Validità in un interpretazione, modello una fbf tale per cui si ha <U,v> [s] per qualsiasi assegnazione s è detta valida in <U,v> si dice anche che <U,v> è un modello di si scrive <U,v> (si elimina il riferimento a s) una struttura <U,v> è detta modello di un insieme di fbf sse è un modello di tutte le fbf in si scrive allora <U,v> Verità un enunciato si dice vero in <U,v> se è valido in <U,v> per un enunciato, basta l esistenza di un assegnazione s per cui <U,v> [s] Logica del primo ordine (2) - 16

Validità logica Validità e verità logiche una fbf (aperta o chiusa) è valida (o logicamente valida) se è valida in qualsiasi <U,v> Esempi: (P(x) P(x)) un enunciato è vero (o logicamente vero) se è vero in qualsiasi <U,v> (tautologia come formula aperta) si scrive allora (si elimina il riferimento a <U,v>) Esempi: x (P(x) P(x)) (generalizzazione di una tautologia) x y (G(x,y) (H(x,y) G(x,y))) (generalizzazione di assioma vedi oltre) Inconsistenza una fbf (aperta o chiusa) è inconsistente se non è soddisfacibile un enunciato è inconsistente se non ha un modello Esempi: x (P(x) P(x)) (generalizzazione di una contraddizione) Logica del primo ordine (2) - 17

FAQ 1 Funzioni o predicati (i.e. relazioni)? I due oggetti semantici sono molto simili, si può fare a meno delle funzioni? Le funzioni (come oggetti semantici) si possono rappresentare anche tramite predicati ad esempio, la validità dell enunciato: x y z (( (x,y) (x,z)) (y = z)) indica che l interpretazione di (..) (in generale, una relazione v( ) U 2 ) è anche una funzione v( ) : U U La presenza delle funzioni arricchisce il linguaggio in modo sostanziale: a differenza dei predicati, le funzioni si possono nidificare (nei termini) Esempio: il mondo delle liste di oggetti [a, b, c, ] Logica del primo ordine (2) - 18

Esempio 5 Esempio: il mondo delle liste di oggetti [a, b, c, ] cons(s, x) funzione, associa ad un oggetto s = a ed una lista x = [b, c] la lista [a, b, c] Append(x,y,z) predicato, associa alle liste x e y la concatenazione z nil costante, indica la lista vuota notazione abbreviata: [] nil [a] cons(a,nil) [a,b] cons(a,cons(b,nil)) [a [b,c]] cons(a,[b,c]) Assiomi (AL) x Append(nil,x,x) x y z (Append(x,y,z) s Append(cons(s,x),y,cons(s,z))) Applicazioni AL + z Append([a],[b,c],z) Append([a],[b,c],[a,b,c]) cioè [z/[a,b,c]] AL + x y Append(x,y,[a,b]) Append([a],[b],[a,b]) cioè [x/[a], x/[b]] Append(nil,[a,b],[a,b]) cioè [x/nil, y/[a,b]] Append([a,b],nil,[a,b]) cioè [x/[a,b], y/nil] Logica del primo ordine (2) - 19

Linguaggio e funzioni Ricchezza espressiva Basta una sola funzione in L PO per creare un infinità (numerabile) di termini Una sola funzione s(.) (=successore) è infatti sufficiente per definire l aritmetica (la teoria delle proprietà dei numeri naturali) Assiomi ricorsivi Esempio: postulati di Peano (in Mendelson, 1972) S1 x y z ((x = y) ((x = z) (y = z))) S2 x y ((x = y) (s(x) = s(y))) S3 x (x = s(0)) S4 x y ((s(x) = s(y)) (x = y)) S5 x (x + 0 = x) S6 x y ((x + s(y)) = s(x + y)) S7 x (x 1 = x) S8 x y ((x s(y)) = ((x y) + x)) S9 Per qualsiasi fbf (x): (0) ( x ( (x) (s(x))) x (x) (Principio di induzione matematica) Complessità di calcolo Intuitivamente, a ricchezza espressiva corrisponde maggiore complessità Si possono generare termini all infinito... Logica del primo ordine (2) - 20

FAQ 2 Per quale motivo si vogliono definire in modo tanto preciso le corrispondenze tra linguaggio e significato? Ad esempio, nel mondo degli oggetti, avendo a disposizione U e le relazioni che corrispondono a predicati e funzioni, le verità potrebbero essere derivate direttamente In realtà, in logica formale, si usa il linguaggio come unico strumento allo scopo di non dover mai definire U e le relazioni in modo esplicito Anticipando l argomento della programmazione logica, si studi l esempio delle n regine in Prolog per ulteriori spunti L universo del problema viene descritto tramite le fbf il linguaggio Le soluzioni vengono calcolate come fbf L algoritmo per trovare la soluzione non è descritto affatto Algorithm = Logic + Control (Kowalski, 1979) Logica del primo ordine (2) - 21