730 likes | 1.07k Views
Rappresentazione della conoscenza (Knowledge Representation - KR). A cura di Ing. Tommaso Di Noia e Ing. Azzurra Ragone. Cosa è una Rappresentazione della Conoscenza? ( Davis-Shrobe-Szolovits ). E’ un surrogato .
E N D
Rappresentazione della conoscenza(Knowledge Representation - KR) A cura di Ing. Tommaso Di Noia e Ing. Azzurra Ragone
Cosa è una Rappresentazione della Conoscenza? (Davis-Shrobe-Szolovits) • E’ un surrogato. • Un sostituto usato per permettere ad una entità di determinare conseguenze pensando piuttosto che agendo; ragionando sul mondo piuttosto che operando delle azioni in esso. • E’ un insieme di “impegni” ontologici. • È una risposta alla domanda: quali sono i termini in cui dovrei ragionare sulle cose del mondo? • E’ una teoria frammentaria sul ragionamento intelligente. • Espressa in termini di inferenze che la rappresentazione permette e quelle che raccomanda • E’ un mezzo per una computazione efficiente. • Deve guidare l’organizzazione dell’informazione in modo da facilitare l’esecuzione delle inferenze raccomandate. • E’ un mezzo di espressione umana. • Un linguaggio con il quale diciamo cose sul mondo.
Una KR è un SURROGATO (1/3) • Il ragionamento è un processo interno, mentre la maggior parte delle cose su cui si ragiona sono esterne rispetto all’ente che esegue il ragionamento (uomo – macchina – software) • Operazioni su e con le rappresentazioni, sostituiscono le operazioni con le cose del mondo reale. • In questa ottica il ragionamento stesso è un surrogato per le azioni nel modo esterno.
Una KR è un SURROGATO (2/3) • Per cosa è un surrogato? • Ci deve essere una corrispondenza tra il surrogato e il suo referente nel mondo. • Tale corrispondenza è la SEMANTICA (il significato del surrogato) • Quanto è vicino il surrogato al modo reale? • Una rappresentazione perfetta è impossibile sia in pratica che in principio. • L’unica rappresentazione completa e accurata di un oggetto è l’oggetto stesso. Tutte le sue rappresentazioni sono inaccurate perché contengono inevitabilmente delle assunzioni semplificative.
Una KR è un SURROGATO (3/3) • Surrogati imperfetti significano inevitabilmente inferenze non corrette • Nella descrizione del mondo reale dobbiamo necessariamente mentire. • Al minimo dobbiamo omettere una parte della illimitata complessità del mondo naturale. • Le nostre descrizioni possono introdurre artefatti non presenti nel mondo reale. • Ragionare sul mondo deve portare necessariamente a delle conclusioni incorrette indipendentemente dal processo di ragionamento e dalla rappresentazione. • Lo sforzo maggiore in una KR è trovarne una che minimizzi gli errori nel suo uso.
Una KR è un insieme di “impegni” ontologici (1/2) • In ogni rappresentazione facciamo inevitabilmente un insieme di affermazioni circa cosa e come guardare il mondo. • Una selezione accurata di affermazioni permette di focalizzarsi su aspetti del mondo ritenuti rilevanti. • Uno stesso micro-dominio del modo può essere visto sotto diversi punti di vista. • Ex. La spiegazione dei fenomeni naturali può essere vista in termini matematico-scientifici o filosofico scientifici. Dipende da come vogliamo vedere il dominio in esame.
Una KR è un insieme di “impegni” ontologici (2/2) • Le scelte iniziali sono fondamentali • Ogni formalismo di rappresentazione della conoscenza ha già in sé degli iniziali punti di vista sul mondo (logica dei predicati, sistemi a frame, sistemi probabilistici,…) • Gli “impegni” si stratificano ed accumulano. • Una volta scelta la tecnologia, vengono fatte delle ulteriori assunzioni nel suo utilizzo.
Una KR è una teoria frammentaria sul ragionamento intelligente (1/4) • Una KR nasce con la volontà di rappresentare come gli esseri umani ragionano intelligentemente. • Una teoria della rappresentazione del ragionamento intelligente è spesso implicita. • Può essere resa evidente esaminando le sue tre componenti: • La concezione fondamentale di inferenza intelligente. • L’insieme di inferenze che la rappresentazione permette. • L’insieme di inferenze che la rappresentazione consiglia.
Una KR è una teoria frammentaria sul ragionamento intelligente (2/4) • Le tre componenti precedenti possono essere viste come le risposte alle rispettive domande: • Cosa significa ragionare intelligentemente? • Cosa possiamo inferire da quello che sappiamo? • Cosa sarebbe opportunoinferire da quello che sappiamo?
Una KR è una teoria frammentaria sul ragionamento intelligente (3/4) • Cosa è un ragionamento intelligente? • Esistono differenti punti di vista sulla questione: • logica matematica, psicologia, biologia, statistica, economia
Una KR è una teoria frammentaria sul ragionamento intelligente (4/4) • Il punto di vista che deriva dalla logica matematica, vede il ragionamento come un tipo di calcolo formale (logica dei predicati). • Tipicamente si parla di DEDUZIONE. • Il punto di vista tipicamente psicologico, vede il ragionamento come un comportamento umano. • Human problem solving, sistemi basati su conoscenza
Una KR è un mezzo per una computazione efficiente • Il ragionamento automatico è un processo computazionale. • Le rappresentazioni, tipicamente suggeriscono delle modalità su come organizzare l’informazione in modo da facilitare i servizi di inferenza per essa raccomandati.
Una KR è un mezzo di espressione umana • La KR è il mezzo con cui “raccontiamo” ai calcolatori qualcosa sul mondo. • Un problema che sorge a questo punto è: • Quanto bene funzionacome mezzo di comunicazione? • Quanto è semplice per noi descrivere o pensare utilizzando un simile linguaggio?
Conclusioni • Rappresentazione e Ragionamento sono strettamente correlati tra loro • Potrebbe essere utile combinare diverse rappresentazioni • Alcuni formalismi possono risultare equivalenti
Requisiti di un linguaggio per la Rappresentazione della Conoscenza Un linguaggio di Knowledge Representation (KR) deve essere in grado di: • rappresentare in maniera adeguata fatti complessi, in modo chiaro, preciso e naturale • dedurre nuovi fatti a partire dalla conoscenza esistente (adeguatezza inferenziale)
Adeguatezza di Rappresentazione Alcuni fatti sonodifficili da rappresentare in modo che sia possibile “ragionarci” “Paolo crede che a nessuno piacciano i film dell’orrore” “Paolo crede che ad Anna non piacciano i film dell’orrore” Alcuni linguaggi di KR permettono di rappresentare fatti complessi in maniera strutturata, in modo che sia possibile il ragionamento su tali fatti
Sintassi e semantica ben definite Per rappresentare fatti in modo chiaro e preciso, è necessario che il linguaggio di KR abbia una sintassi e una semanticaben definite. Occorre conoscere quali sono le espressioni che possono essere usate nel linguaggio (sintassi) e qual è il significato di tali espressioni (semantica). Avere una sintassi ed una semantica ben definite è essenziale, sia per poter rappresentare la conoscenza del mondo reale, che per poter poi trarre nuovi conclusioni attraverso il ragionamento. nokia(paolo-cellulare) è OK! cellulare-paolo(nokia&siemens) non è OK!
Naturalezza Un linguaggio di KR dovrebbe essere ragionevolmente naturale e facile da “usare”, cioè rappresentare i “fatti” del mondo in modo intuitivo e di facile comprensione. È importante scegliere nomi per i simboli che siano significativi “Se si ha mal di testa si deve prendere un’aspirina” if(x,h,a) poco chiaro!!! IF sintomo(X, mal_di_testa) THEN cura (X, aspirina) molto meglio!!!
Adeguatezza inferenziale Deve essere possibile dedurre nuovi fatti dalla conoscenza esistente. Un linguaggio di KR “DEVE” supportare meccanismi di inferenza, non è, infatti, pensabile rappresentare esplicitamente TUTTA la conoscenza, qualcosa dovrebbe essere lasciata implicita e dovrebbe essere dedotta dal sistema nel momento in cui è necessario. esempio: un sistema in cui è rappresentata conoscenza relativa a 100 studenti. Ogni studente seguirà le lezioni, darà esami, alla fine del percorso di studi prenderà il diploma. Non è necessario specificare ciò per ciascuno dei 100 studenti! Antonio segue le lezioni, dà esami, prende il diploma! Antonio è uno studente
Esempio di inferenza • Supponiamo di voler scoprire se Antonio è il Presidente della Repubblica. • Sappiamo che: • Il Presidente della Repubblica è uno e uno solo • Il Presidente della Repubblica italiano è Carlo Azeglio Ciampi Antonio non può essere il Presidente della Repubblica!!!
Necessità del Trade-off Effettuare una qualsiasi deduzione partendo da una conoscenza esistente può rivelarsi un processo estremamente complesso. Più complesse sono le deduzioni che si vogliono effettuare, maggiore sarà il tempo richiesto per effettuarle! Occorre perciò trovare un trade-off tra adeguatezza inferenziale (ciò che possiamo inferire) ed efficienza inferenziale (quanto velocemente possiamo inferirlo). Naturalmente nessun linguaggio di rappresentazione della conoscenza soddisfa in pieno tutti i requisiti che abbiamo appena descritto, la scelta di un linguaggio, piuttosto che un altro, dipenderà dalle operazioni di ragionamento che si vorranno effettuare
4 3 2 1 1 2 3 4 Linguaggi di programmazione vs linguaggi naturali I linguaggi di programmazione sono utili per la descrizione di algoritmi e strutture dati concrete. L’istruzione: “Mondo[2,2]papero” permette di specificare che in una determinata posizione c’è un papero. Più difficile dire: “c’è un papero in [2,2] o in [3,4]” Oppure anche: “c’è un papero in qualche quadrato”
Linguaggi di programmazione Un linguaggio di programmazione è progettato per la descrizione completa dello stato dell’elaboratore e dei suoi cambiamenti durante l’esecuzione del programma. Un linguaggio di rappresentazione della conoscenza dovrebbe supportare il caso di informazioni incomplete! I linguaggi di programmazione non sono abbastanza espressivi!
Linguaggio naturale (1/2) I linguaggi naturali sono espressivi, ma soddisfano più i bisogni della comunicazione che della rappresentazione. “Guarda!” • La frase “Guarda” non codifica il fatto che c’è un animale volante! • Il significato dipende: • dalla frase stessa • dal contesto in cui è pronunciata
Linguaggio naturale (1/2) I linguaggi naturali, al contrario di quelli di programmazione, sono ambigui Ad esempio: “piccoli cani e gatti” “-d+c” i gatti sono piccoli?
Linguaggi di KR • Un buon linguaggio di KR dovrebbe combinare i vantaggi dei linguaggi naturali e dei linguaggi formali. • Espressivo • Conciso • Non ambiguo • Indipendente dal contesto • Efficace Si analizzeranno la logica proposizionale e la logica del primo ordine
Semantica (1/3) Il significato di una formula è ciò che questa asserisce sul mondo: “il mondo è in questo e non in quel modo” Come si fa a stabilire una corrispondenza tra formule e fatti, tra formule e loro significato? Bisogna fornire un’interpretazione della formula, per dire a quale fatto corrisponda, ad esempio: Microfilm Viviana Valigia Bari Viviana è a Bari il microfilm è nella valigia
4 3 2 1 1 2 3 4 Semantica (2/3) Tutti i linguaggi di rappresentazione impongono una relazione sistematica tra formule e fatti. Linguaggi composizionali: il significato di una formula è una funzione dei significati delle sue parti. x2+y2 “S1,4 e S2,2” S1,4= c’è un gallo in [1,4] S2,2= c’è un papero in [2,2]
4 3 2 1 1 2 3 4 Semantica (3/3) Data un’interpretazione ad una formula, grazie ad una semantica, la formula dice che il mondo è in QUESTO modo e non in QUELLO. (Dunque può essere vero o falso) • Una formula è vera, secondo una particolare interpretazione, se lo stato delle cose che rappresenta è vero. • La verità dipende: • dall’interpretazione • dall’effettivo stato del mondo • S2,2= “C’è un papero in 2,2”
Inferenza • Processo che porta al raggiungimento di conclusioni • Inferenza logica o deduzione: ragionamenti corretti, che realizzano la relazione di implicazioni tra formule. • Formula valida (necessariamente vera): se e solo se è vera secondo TUTTE le possibili interpretazioni in TUTTI i mondi possibili, • Indipendentemente: • da cosa dovrebbe significare • dallo stato delle cose nell’universo che si sta descrivendo
Formule valide Una affermazione è valida se e solo se è vera indipendentemente da cosa dovrebbe significare e dallo stato delle cose nell’universo che si sta descrivendo • “C’è fuoco in [3,3] o non c’è fuoco in [3,3]“ • “C’è un’aria libera nel quadrato di fronte a me oppure vi è fuoco nel quadrato di fronte a me” • “Se ogni quadrato ha o fuoco o un’aria libera, allora c’è o fuoco nel quadrato di fronte a me o c’è un’aria libera nel quadrato di fronte a me” 4 3 2 1 1 2 3 4
Formule soddisfacibili Una formula è soddisfacibilese e solo se esiste una QUALCHE interpretazione in QUALCHE mondo per la quale sia vera “C’è una rosa in [2,3]” È soddisfacibile Una formula che non è soddisfacibile si dice: insoddisfacibile, ad esempio formule autocontraddittorie: “C’è una rosa in [3,3] e non c’è una rosa in [3,3]” 4 3 2 1 1 2 3 4
Le Logiche • Una logica consta di tre ingredienti: • Unlinguaggio: una collezione di espressioni ben-formate alle quali può essere assegnato un significato. • I simboli del linguaggio e le regole formali per comporre tali simboli sono lasintassidel linguaggio. • Unasemanticadice come interpretare le espressioni ben formate comeaffermazioni sul mondo • Unsistema deduttivoossia un insieme di regole che possono essere applicate per derivare, con una procedura automatizzabile, fatti rilevanti sulle relazioni tra significati (oggetti semantici)
Logica Proposizionale • Espressività limitata • Semplice • Utile come base di partenza per logiche più espressive
Logica Proposizionalesintassi • I simboli della logica proposizionale sono: • Costanti logicheVERO e FALSO • Simboli proposizionali, ex. P, Q • Connettivi logici,,,,,(,) • Tutte le formule ben formate in logica proposizionale sono costruite unendo i precedenti simboli.
Regole di composizione e formule valide • Le costanti logiche VERO o FALSO sono formule • Un simbolo proposizionale è una formula ex. P, Q • Una formula tra parentesi è una formula ex. (P Q) • Una formula può essere formata combinando formule più semplici con uno dei connettivi logici permessi.
Connettivi logici • (AND) date due formule f1 ed f2, la formulaf1f2è dettacongiunzione; f1 ed f2 sono detticongiunti • (OR) date due formule f1 ed f2, la formulaf1f2è dettadisgiunzione; f1 ed f2 sono dettidisgiunti • (IMPLICA) date due formule f1 ed f2, la formulaf1f2è dettaimplicazione; f1 è dettapremessaoantecedente, f2 è dettaconclusioneoconseguente • (EQUIVALENZA) date due formule f1 ed f2, la formulaf1 f2è dettaequivalenza • (NOT) data la formula f1,f1è dettanegazionedi f1
Esempi di formule ben formate • ,,,,,(,) • P Q • piove faFreddo • P Q • piove aproOmbrello • piove faFreddo restoACasa • (piove faFreddo) nuvoloso portoOmbrello • piove da40GiorniE40Notti diluvia Esempio di formula non ben formata • piove faFreddo
Semantica • Unsimbolo proposizionalepuò significare qualsiasi cosa si voglia ed assumere valore VERO (V) o FALSO (F). • La sua interpretazione può essere un fatto arbitrario • Una formula contenente solo un simbolo proposizionale èsoddisfacibile ma non valida: • È vera solo quando il fatto cui si riferisce si verifica. • Le costanti logiche hanno un significato ben definito. • La formulaVEROha sempre come interpretazione il fatto vero:il modo in cui il mondo è realmente • La formulaFALSOha sempre come interpretazione il fatto falso: il modo in cui il mondo non è.
Semantica • Il significato di una formula complessa dipende dal significato delle sue parti. • Il valore di una formula dipende dal valore dei simboli che la compongono. • I valori possibili per i simboli proposizionali e per le costanti logiche sono soltanto VERO e FALSO. • E’ possibile costruire delle tabelle di verità per le formule ben formate.
Validità e Inferenza • Le tavole di verità possono essere utilizzate perprovare la validità delle formule. • Se ogni riga della colonna risultato della tabella ha valorevero, la formula è valida • Ex. ((PH)H)P
Esercizi • Si usino le tavole di verità per mostrare che le seguenti formule • sono valide (e quindi che l’equivalenza è ben posta) • P(QR) (PQ)R [Associatività della congiunzione] • P(QR) (PQ)R [Associatività della disgiunzione] • PQ QP [Commutatività della congiunzione] • PQ QP [Commutatività della disgiunzione] • P(QR) (PQ)(PR) [Distributività di su ] • P (QR) (PQ)(PR) [Distributività di su ]
Esercizi • ( PQ) P Q [Legge di De Morgan] • ( PQ) P Q [Legge di De Morgan] • PQ Q P [Contrapposizione] • P P [Doppia negazione] • PQ PQ • PQ (PQ) (Q P) • PQ (PQ)( P Q) • PP falso • PP vero
Modelli • Qualsiasi mondo in cui una formula sia vera secondo una particolare interpretazione è chiamatomodello 4 S2,2= “C’è un fuoco in 3,3” 3 2 1 1 2 3 4
Implicazione • Sulla base dei modelli è possibile ridefinirel’implicazione: • Una formula a è implicata da un set di formule KB se i modelli di KB sono tutti modelli di a. • Se ciò avviene, allora tutte le volte che KB è vera, deve essere vera anche a
Regole di inferenza Vi sono alcuni meccanismi di inferenza che si ripresentano regolarmente, la loro correttezza può essere dimostrata una volta per tutte. Si può cioè catturare questo meccanismo in una regola di inferenza.
Regole di inferenza per la logica proposizionale • Modus Ponens • Eliminazione degli and • Introduzione di and • Introduzione di or • Eliminazione delle doppie negazioni • Risoluzione unitaria • Risoluzione
Esempio • Assumendo vere le seguenti proposizioni: • se è vacanza sto a casa o vado in montagna • oggi sono al lavoro • dimostrare che oggi è un giorno lavorativo. • Il problema può essere formalizzato come segue: v=oggi è vacanza c=stare a casa m=andare in montagna
Esempio • Ip1 :v c m • Ip2 : c m • Th: v DIM c m v c m v (Modus Ponens)