Appunti dalle lezioni Parte IV: capitolo 12



Documenti analoghi
Intelligenza Artificiale. A n n o A c c a d e m i c o La Rappresentazione della Conoscenza: Le Reti Semantiche

Il modello Entità/Relazioni (ER)

La Rappresentazione della Conoscenza Emiliano Giovannetti. rappresentazione. Importanza della conoscenza. Conoscenza e intelligenza artificiale

La Rappresentazione della Conoscenza

marina/did/mdis03/ marina/did/mdis03/ marina/did/mdis03/

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

Linguaggi, Traduttori e le Basi della Programmazione

3.1. CorsodiElementidiBasididati Il modello Entita Relazione (72) vendita ordine studente. Impiegato. Dipartimento. città. Città.

marina/did/mdis03/ marina/did/mdis03/ marina/did/mdis03/

Analisi Sintattica. Maria Rita Di Berardini. Universitá di Camerino Ruolo del parser

Basi di Dati e Sistemi Informativi su Web

Entità. Relazioni. Cardinalità delle relazioni. Ogni entità ha un nome che la identifica

Programmazione con Java

Introduzione alla Programmazione Logica ed al linguaggio PROLOG

Fondamenti d Informatica: Grammatiche. Barbara Re, Phd

Logica: materiale didattico

Logica per la Programmazione

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

Introduzione ad alcuni sistemi di logica modale

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI

Gestione della Conoscenza

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Rappresentazione della conoscenza Parte B

Introduzione alla programmazione

L insieme prodotto cartesiano

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

Unità Didattica 2 I Linguaggi di Programmazione

02 - Logica delle dimostrazioni

Ragionamenti e metodi di dimostrazione. Liceo Scientifico Statale S. Cannizzaro Prof.re E. Modica

AUTOMA A STATI FINITI

Entità. Modello Entità-Relazione (E-R) Relazioni (associazioni) Attributi

Elementi di programmazione

04 - Logica delle dimostrazioni

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd

BOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1

P : gli iscritti all università di Bari sono più di 1000

Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione. Concetti Definizioni Esempi

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2)

Note sull utilizzazione di componenti logici di tipo memoria

Cardinalità degli attributi

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Macchine sequenziali. Automa a Stati Finiti (ASF)

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):

01 - Elementi di Teoria degli Insiemi

Esercizi di Logica Matematica (parte 2)

Logica proposizionale

I modelli logici dei dati

METODI MATEMATICI PER L INFORMATICA

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Problemi, algoritmi, calcolatore

Linguaggi di Programmazione

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Fondamenti di Informatica Programma dettagliato del corso e appunti integrativi del libro di testo consigliato Anno Accademico

Filosofia del linguaggio (i) (3 cr.)

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

$marina/did/md

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

1. Introduzione: che cosa sono le reti semantiche, 2. Il memory model di Quillian, What s in a link di Woods, 1975.

diagrammi entità-relazioni

Il linguaggio di programmazione Python

Il Teorema Never Two di Vaught

1 Cenni di logica matematica

Il concetto di calcolatore e di algoritmo

Logica per la Programmazione

Basi di Dati Spaziali

LOGICA MATEMATICA PER INFORMATICA

Logica per la Programmazione

4.1 Le relazioni. Obiettivi di apprendimento: Relazioni, dati e previsioni 6T, 7T, 8T, 10Q.

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Esercizio 2. Spiegare perché è falsa la seguente affermazione: Se n è un numero negativo, allora anche n + 3 è negativo.

RAPPRESENTAZIONE DELLA CONOSCENZA. È un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza;

SOLUZIONI DI ESERCIZI SCELTI ELEMENTI DI MATEMATICA E INFORMATICA TEORICA VERSIONE DEL 14 MAGGIO Esercizio 18

$marina/did/md

Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione

Modello Entità-Relazione

Ciclo di vita di un sistema informativo

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio. Messaggio

ELEMENTI DI LOGICA MATEMATICA LEZIONE VII

CAPITOLO V. DATABASE: Il modello relazionale

Applicazioni:la traduzione automatica

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO e SCHEMA FISICO Costruzione delle tabelle

Elementi di teoria degli insiemi

Fondamenti Logici dell Informatica

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

4 La Logica come base di ogni scienza. 5 Alla ricerca della forma logica. logica

1 Il linguaggio matematico

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

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

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Esercizi di Informatica Teorica - DFA

Logica per la Programmazione

Automa a Stati Finiti (ASF)

Registro Lezione del 21 settembre 2016.

Alberi di sequenti per un linguaggio predicativo L 1.

ALMA MATER STUDIORUM UNIVERSITÀ DI BOLOGNA DIPARTIMENTO DI MATEMATICA PIANO LAUREE SCIENTIFICHE. I GRAFI: lezione 2

Transcript:

Politecnico di Milano Facoltà di ingegneria Milano Leonardo Corso di Ingegneria della conoscenza e sistemi esperti Appunti dalle lezioni Parte IV: capitolo 12 Avvertenza Queste dispense sono disponibili sul sito web http://www.elet.polimi.it/users/dei/sections/compeng/marco.colombetti/icse.ht ml. La proprietà intellettuale è dell autore. È consentita la riproduzione e la distribuzione con qualunque mezzo e sotto qualsiasi forma purché non a fini di lucro.

Indice (parte IV) 12. Rappresentazioni dichiarative e reti semantiche 3 12.1 Rappresentazioni procedurali e rappresentazioni dichiarative 12.2 Le reti semantiche e la gerarchia isa 12.3 Altre relazioni 12.4 La gerarchia delle parti 12.5 La reificazione Riferimenti bibliografici (parte IV) 11

12 Rappresentazioni dichiarative e reti semantiche 3 Rappresentazioni dichiarative e reti semantiche 12.1 Rappresentazioni procedurali e rappresentazioni dichiarative Nei capitoli precedenti abbiamo visto come degli assiomi logici possano essere tradotti in un linguaggio a regole di produzione come il CLIPS. Occorre notare che la traduzione degli assiomi in regole è solo parziale. Consideriamo ad esempio l assioma (12.1) x (Delfino(x) Mammifero(x) Marino(x)), che dice che un delfino è un mammifero marino. La più ovvia traduzione in CLIPS, (defrule R1 (FACT Delfino?x) => (assert (FACT Mammifero?x) (FACT Marino?x)) ) coglie soltanto un aspetto dell assioma. Più precisamente, la regola R1 rappresenta solo uno dei possibili usi dell assioma nel processo deduttivo. Infatti, la regola consente di dedurre il conseguente di 12.1 una volta che sia noto l antecedente. Tuttavia, l assioma 12.1 ha altri usi possibili. Ad esempio, permette di: creare il sotto-obiettivo di dimostrare che x è un delfino se si ha l obiettivo di dimostrare che x è un mammifero; creare il sotto-obiettivo di dimostrare che x è un delfino se si ha l obiettivo di dimostrare che x è un animale marino; dedurre che x non è un delfino se è noto che x non è un mammifero; dedurre che x non è un delfino se è noto che x non è un animale marino. Ognuno di questi usi dell assioma richiede una diversa traduzione in CLIPS. Ad esempio: (defrule R2 (GOAL Mammifero?x) => (assert (GOAL Delfino?x)) ) e così via. Da queste considerazioni concludiamo che una regola CLIPS non traduce un assioma logico, ma piuttosto un particolare uso di un assioma logico. Per questo motivo, le regole di produzione vengono considerate un metodo di rappresentazione procedurale della conoscenza. Gli assiomi logici, al contrario, rappresentano elementi di conoscenza indipendentemente dall uso che se ne vuole fare, e sono quindi considerati un metodo di rappresentazione dichiarativa della conoscenza.

12 Rappresentazioni dichiarative e reti semantiche 4 In generale, una rappresentazione procedurale è più debole della corrispondente rappresentazione dichiarativa. Tuttavia, le rappresentazioni procedurali possono essere utilizzate in modo più efficiente perché non codificano solo un elemento di conoscenza, ma anche il modo di utilizzarlo. È vero tuttavia che a volte si desidera utilizzare direttamente una rappresentazione dichiarativa, proprio perché non si vuole decidere a priori come la conoscenza sarà utilizzata. In linea di principio è possibile rappresentare le conoscenze direttamente in logica e utilizzare un dimostratore generale di teoremi. Tuttavia, se l applicazione è appena un po complessa questa strada porta a sistemi disperatamente inefficienti. Una via alternativa consiste nell utilizzare in modo dichiarativo un sottolinguaggio della logica del primo ordine che sia ancora abbastanza espressivo, ma sufficientemente limitato da ammettere elaborazioni efficienti. Un sottoliguaggio di questo tipo è costituito dalle reti semantiche, proposte per la prima volta da Quillian (1968), più rigorosamente definite da Woods (1975) e da allora largamente utilizzate nelle applicazioni d intelligenza artificiale. 12.2 Le reti semantiche e la gerarchia isa Dal punto di vista formale, una rete semantica è un grafo costituita da nodi ed archi etichettati da simboli. A seconda dei casi, un nodo rappresenta un concetto, una parola, un insieme o un individuo; un arco rappresenta una relazione binaria fra le entità rappresentate dal nodo sorgente e dal nodo bersaglio. Consideriamo un primo esempio. La rete della figura 12.1 è costituita da due nodi connessi da un arco isa, il cui significato sarà spiegato fra poco. Intuitivamente, la rete dice che un gatto è un mammifero (in inglese, a cat is a mammal, da cui il simbolo isa ). Mammifero isa Gatto Figura 12.1 Una semplice rete semantica. Di questa rete sono possibili diverse interpretazioni intuitive, e in particolare: il concetto di gatto è una specializzazione del concetto di mammifero; il concetto di mammifero è una generalizzazione del concetto di gatto; il sostantivo gatto è un iponimo del sostantivo mammifero ; il sostantivo mammifero è un iperonimo del sostantivo gatto ; l insieme dei gatti è un sottoinsieme dell insieme dei mammiferi; l insieme dei mammiferi è un sovrainsieme dell insieme dei gatti. È opportuno assegnare alla rete anche una semantica formale. Ciò può essere fatto in due modi: direttamente, con un metodo analogo a quello che abbiamo utilizzato a suo tempo per dare una semantica agli enunciati logici; o indirettamente, assegnando una regola di traduzione della rete in un linguaggio formale che abbia già una semantica. Seguiremo la seconda via, traducendo la rete in un linguaggio predicativo del primo ordine. Per prima cosa, associamo a ogni nodo un predicato a un argomento; nel nostro caso, Mammifero( ) e Gatto( ). Un arco isa fra due nodi C 1 e C 2 si traduce ora nel seguente modo: C 1 isa C 2 x (C 1(x) C 2(x)).

12 Rappresentazioni dichiarative e reti semantiche 5 Quindi, la rete della figura 12.1 è equivalente all enunciato: x (Gatto(x) Mammifero(x)). In base a questa semantica, la relazione isa risulta transitiva. Infatti, da x (C 1 (x) C 2 (x)) e da x (C 2(x) C 3(x)) è possibile dedurre x (C 1(x) C 3(x)), e pertanto: C 1 isa C 2, C 2 isa C 3 = C 1 isa C 3. Ritornando alla rappresentazione grafica, possiamo ricavare un nuovo arco isa concatenando due archi isa preesistenti. Nella figura 12.2 questo fatto è descritto utilizzando una linea tratteggiata per l arco dedotto e due linee continue per gli archi preesistenti; nel seguito, per semplicità, indicherò gli archi isa con una freccia grossa e ometterò l etichetta isa. C 3 C 2 C 1 Figura 12.2 Concatenazione di archi isa. La possibilità di dedurre nuovi archi isa per concatenazione è molto importante perché consente una notevole economia rappresentativa. Infatti, ci si può limitare a rappresentare esplicitamente gli archi isa che collegano due nodi in modo diretto (ovvero, senza nodi intermedi); tutti gli altri archi isa possono essere dedotti quando occorre mediante concatenazione. Ad esempio, se diciamo che un gatto è un carnivoro e che un carnivoro è un mammifero, il fatto che un gatto sia un mammifero può essere dedotto (fig. 12.3). Le rappresentazioni strutturate in questo modo sono dette gerarchie isa. Gerarchie di questo tipo sono ben note in informatica, perché vengono utilizzate sia nella programmazione orientata agli oggetti sia nei modelli concettuali di basi di dati. Mammifero Carnivoro Primate Gatto Cane Uomo Scimpanzé Figura 12.3 Una gerarchia isa. È possibile interpretare una rete isa anche in modo diverso da quanto visto sopra. Ad esempio, si possono interpretare i simboli associati ai nodi come nomi di insiemi. In questo caso, un arco C 1 isa C 2 significa semplicemente: C 1 C 2. Alternativamente, si possono considerare i simboli associati

12 Rappresentazioni dichiarative e reti semantiche 6 ai nodi come parole di un linguaggio (ad esempio dell italiano). In tal caso, un arco C 1 isa C 2 dice che la parola C 1 è un iponimo di C 2 (o, equivalentemente, che C 2 è un iperonimo di C 1 ). Analogamente a quanto avviene nella programmazione a oggetti, si può avere necessità di inserire in una gerarchia isa anche nodi che rappresentano individui specifici. Ciò può essere fatto introducendo un nuovo tipo di arco, instof (abbreviazione di instance of); per maggiore chiarezza, inoltre, può essere utile rappresentare i nodi-individuo con una grafia diversa. Ad esempio, la figura 12.4 dice che Pisolo è un particolare gatto (per convenzione, la freccia doppia rappresenta una relazione instof). Gatto Pisolo Figura 12.4 Una rete semantica con individui. L interpretazione logica di una rete del genere è semplice. I nodi-individuo vengono rappresentati come una costante; se a è un nodo del genere abbiamo allora: a instof C C(a). Questa semantica ci dice che: a instof C 1, C 1 isa C 2 = a instof C 2. Anche l interpretazione insiemistica è ovvia: a instof C significa semplicemente che a C. 12.3 Altre relazioni Le relazioni isa e instof rappresentano due distinti significati del verbo essere (vedi: Fufi è un gatto, e i gatti sono mammiferi). Altre tipi di relazioni sono spesso introdotte linguisticamente con il verbo avere. Ad esempio, possiamo dire che ogni cane ha un padrone, che è una persona. Un enunciato di questo genere si può rappresentare con la rete della figura 12.5. Cane HaPadrone Persona Figura 12.5 Ogni cane ha un padrone. Anche in questo caso possiamo dare una semantica rigorosa alla rete fornendo una regola di traduzione nel linguaggio predicativo. Dati due nodi C 1 e C 2 e una relazione R da C 1 a C 2 : C 1 R C 2 x (C 1(x) y (C 2(y) R(x,y))). Quindi la rete della figura 12.5 corrisponde a: x (Cane(x) y (Persona(y) HaPadrone(x,y))). Nell uso, il quantificatore sull arco della rete viene generalmente omesso. Eventuali restrizioni sulle cardinalità possono essere rappresentate introducendo gli opportuni quantificatori. Ad esempio, nella

12 Rappresentazioni dichiarative e reti semantiche 7 logica predicativa del primo ordine è possibile definire il quantificatore!, che significa esiste esattamente un.... La definizione di questo quantificatore è la seguente:!xϕ = def xϕ y (ϕ(y/x) x = y). Ovvero: esiste esattamente un x tale che ϕ, per definizione, significa che esiste almeno un x tale che ϕ, e che inoltre per ogni y, se ϕ vale dopo aver sostituito la variabile x con la variabile y, allora x è uguale a y. Utilizzando questo quantificatore è possibile rappresentare l enunciato ogni cane ha esattamente una persona come padrone (fig. 12.6). Cane!HaPadrone Persona Figura 126 Ogni cane ha esattamente un padrone. Spesso il verbo avere viene anche utilizzato per associare un attributo a un entità. Ad esempio, diciamo che ogni oggetto fisico ha un peso. La differenza fra questo l enunciato ogni cane ha un padrone e l enunciato ogni oggetto ha un peso è che nel primo caso vengono messe in relazione due entità (un cane e una persona), mentre nel secondo caso viene associato a un entità un attributo scalare (variabile nel campo dei numeri reali positivi). Rappresentiamo i campi di scalari con blocchi arrotondati delimitati da una linea sottile. L enunciato in questione è allora rappresentato dalla rete della figura 12.7, la cui semantica formale è: x (OggFisico(x)!y (Real+(y) HaPeso(x,y))). OggFisico!HaPeso Real+ Figura 12.7 Ogni cane ha esattamente un padrone. Così come un entità può avere specifici individui connessi con un arco instof, i campi di scalari possono avere specifici valori connessi con un arco valof. Ad esempio, nella figura 12.8 è rappresentato l enunciato l oggetto fisico a pesa 12.5. OggFisico!HaPeso Real+ HaPeso a 12.5 valof Figura 12.8 L oggetto fisico a pesa 12.5. La semantica completa della rete in figura 12.8 è la seguente: x (OggFisico(x)!y (Real+(y) HaPeso(x,y))), OggFisico(a), Real+(12.5),

12 Rappresentazioni dichiarative e reti semantiche 8 HaPeso(a,12.5). Le proprietà associate a un nodo tramite una relazione R vengono ereditate dai nodi lungo le gerarchie isa. Ciò significa che: C 2 R C 3, C 1 isa C 2 = C 1 R C 3. Questo fatto è una conseguenza logica delle definizioni semantiche introdotte finora. Analogamente, gli individui ereditano le proprietà lungo l arco instof (vedi fig. 12.9). C 2 R C 3 C 1 R a R Figura 12.9 Eredità di una proprietà. 12.4 La gerarchia delle parti Fra le relazioni R del tipo visto nel paragrafo precedente ne esistono alcune particolarmente importanti, che danno luogo a gerarchie diverse dalla gerarchia isa. Una di queste è la relazione che connette un tutto alle sue parti, siano esse parti fisiche, parti astratte o sostanze componenti. Ad esempio, possiamo essere interessati al fatto che la base, il corpo e il capitello sono parti di una colonna, e che l abaco e l echino sono a loro volta parti di un capitello (fig. 12.10). Colonna HaParte HaParte HaParte Capitello Corpo Base HaParte HaParte Abaco Echino Figura 12.10 Una gerarchia delle parti. La relazione HaParte è una relazione come un altra, per cui: C 1 HaParte C 2 x (C 1 (x) y (C 2 (y) HaParte(x,y))). La relazione HaParte ha una certa somiglianza con la relazione isa; come questa, infatti, è transitiva:

12 Rappresentazioni dichiarative e reti semantiche 9 C 1 HaParte C 2, C 2 HaParte C 3 = C 1 HaParte C 3. Per questo motivo, nuovi archi HaParte possono essere dedotti per concatenazione da archi preesistenti dello stesso tipo. Inoltre, si possono formare vere e proprie gerarchie delle parti (come nella fig. 12.5). Per accentuare la somiglianza con la relazione isa, le frecce vengono spesso tracciate dalla parte al tutto; in questo caso la relazione viene denominata ParteDi (o PartOf). Occorre però fare molta attenzione alla semantica di questa relazione, che non segue la regola generale vista in precedenza: C 1 ParteDi C 2 x (C 2(x) y (C 1(y) ParteDi(y,x))). Lungo una gerarchia delle parti non vale in generale l eredità delle proprietà: ad esempio, una colonna ha forma allungata, ma alcune sue parti (come la base e il capitello) non hanno questa proprietà. Per alcuni tipi di proprietà, tuttavia, l eredità vale: ad esempio, se un oggetto si trova in un luogo x le sue parti fisiche si trovano nello stesso luogo. 12.5 La reificazione Le reti semantiche rappresentano la realtà mediate relazioni binarie definite fra entità e attributi scalari. Le entità non corrispondono soltanto a cose che possono essere intuitivamente considerate come oggetti fisici. Molto spesso, anzi, le entità vengono utilizzate per rappresentare concetti astratti, eventi, azioni e così via. Il processo che porta a concettualizzare questi aspetti della realtà come entità è detto reificazione. Supponiamo ad esempio di voler rappresentare il contenuto della frase Filippo regala un libro a sua sorella. La frase rappresenta una specifica azione (il cui tipo è Regalare), eseguita da un individuo di nome Filippo su un individuo di tipo Libro a beneficio di un altro individuo, che è in relazione SorellaDi con Filippo. Tutto ciò può essere rappresentato dalla rete della figura 12.11. Regalare Libro Filippo nome attore oggetto sorella beneficiario Fig. 12.11 Filippo regala un libro a sua sorella. La prima cosa da osservare è la comparsa di un certo numero di relazioni binarie (attore, oggetto, beneficiario) dal nodo che rappresenta l azione ai nodi che rappresentano gli individui concreti coinvolti nell azione. Questo tipo di relazioni sono comunemente dette ruoli. La seconda cosa da osservare è che in base a conoscenze generali della lingua e del mondo possiamo integrare la rete con ulteriori elementi sottointesi (ovvero, non espressi esplicitamente nella frase). Ad esempio, sappiamo che Filippo è un uomo (perché Filippo è un nome maschile) e che sua sorella è una donna. A loro volta i concetti di Regalare, Libro, Uomo e Donna rimandano ad altri nodi della rete che costituisce le conoscenze di un agente. In questo modo è possibile immergere la rappresentazione del significato della frase in una più ampia rete preesistente (vedi ad es. la fig. 12.12) e quindi comprenderne il significato in senso più ampio.

12 Rappresentazioni dichiarative e reti semantiche 10 OggFisico Persona Azione NomeMaschile Uomo Regalare Libro valof Filippo nome attore oggetto sorella beneficiario Donna Fig. 12.12 Immersione del significato di una frase nella conoscenza generale.

Riferimenti bibliografici (parte IV) 11 Riferimenti bibliografici (parte IV) Quillian, M. R. (1968). Semantic memory. In M. Minsky, ed., Semantic information processing, MIT Press, Cambridge, MA, 227 270. Woods, W. A. (1975). What's in a link: Foundations for semantic networks. In D. G. Bobrow and A. Collins, eds., Representation and understanding: Studies in cognitive science, Academic Press, New York, 35 82