Logiche descrittive M. Simi,
Categorie e oggetti Molti dei ragionamenti che si fanno sono sulle categorie piuttosto che sugli individui Se organizziamo la conoscenza in categorie (e sottocategorie) è sufficiente classificare un oggetto, tramite le proprietà percepite, per inferire le proprietà della categoria|e a cui appartiene (ereditarietà)
Ontologie di dominio Ontologia: modelli formali di un dominio di interesse Le relazioni di sottoclasse organizzano la conoscenza in tassonomie (come in botanica, biologia, nelle scienze librarie …) Molte delle idee delle reti semantiche e dei frame sono state raccolte in logiche specializzate Queste logiche sono alla base delle proposte per il Web semantico
Il Web semantico La visione di Tim Berners-Lee (1998): da un Web "sintattico" per la comunicazione tra persone al Web "semantico" come un grosso DB di oggetti strutturati comprensibili ai programmi Agenti software che operano in Internet
Il livelli del Web semantico
I livelli del web semantico Unicode e URI XML interoperabiltà sintattica RDF (Resource Description Framework): per descrivere relazioni semantiche tra risorse (livello delle asserzioni) RDF schema: per vincolare domini e codomini delle relazioni, definire classi di oggetti, relazioni tra classi Schemi RDF per cataloghi di biblioteche, directory, news, software, musica, foto, eventi, persone, oggetti in vendita... RDFS linguaggio per ontologie ma poco espressivo
Web semantico e linguaggi per ontologie Linguaggi per l'aggiunta di un servizio inferenziale a RDF: OIL gruppo europeo DAML-ONT gruppo americano DAML+OIL proposto come standard OWL: Web Ontology Language, standard W3C. OWL evolve dalle logiche descrittive
Logiche descrittive Possono essere viste come: 1. Evoluzioni logiche di linguaggi di KR basati sulle nozioni di frame e reti semantiche 2. Contrazioni della logica del primordine (FOL) per ottenere migliori proprietà computazionali
LT come eredi di frame e reti semantiche Verso gli anni 80 si ha una sterzata verso la logica delle reti semantiche Il processo di formalizzazione consiste nel … riformulare i costrutti secondo i canoni della logica eliminare i costrutti che non si prestano a tale riformulazione (default ed eccezioni)
Esempio La seguente è una formula di una delle LT: (and paper (atmost 2 author) (atleast 2 author))[paper372] equivalente a: paper(paper372) x author(paper372, x) y author(paper372, y) x y author(paper372, z) (z x) (z y)
Concetti, ruoli, individui Ogni LT è caratterizzata da operatori per la costruzione di termini di due tipi: concetti (corrispondenti a relazioni unarie) con operatori and, or, not, all, some, atleast, atmost, … per la costruzione di concetti complessi ruoli (corrispondenti a relazioni binarie) ed eventualmente operatori individui (usati nelle asserzioni)
Una KB basata su logica terminologica giornalista autore articolo (and (a-not libro) (all autore giornalista)) autore creatore autore[Eco, l1] autore[Biagi, l2] giornalista[Biagi] (and libro (all autore giornalista))[a2] KB T-BOX A-BOX Top scrittore libro giornalista (and libro (all autore giornalista)) bottom a2 Top creatore libro autore giornalista (and libro (all autore giornalista)) bottom
La logica ALC : la sintassi dei termini |(top) |(bottom) |(and … ) |(not ) |(all ) |(some ) simbolo di predicato unario simbolo di predicato binario
Semantica di ALC I (C) è un insieme di individui I (R) è un insieme di coppie di individui, una relazione binaria I (top) D linsieme universo I (bottom) { } linsieme vuoto I (not C) = D I (C)il complemento I (and C 1, … C n ) = I (C 1 ) … I (C n ) intersezione I (all R C) = { x D | y I (R) y I (C)} I (some R) = { x D | y I (R)} Uninterpretazione I è un modello di un concetto C sse I (C) { }. Lo stesso per i ruoli.
Esempio 1 (and articolo (some autore) (all autore giornalista)) linsieme degli articoli che hanno almeno un autore, e i cui autori sono tutti giornalisti
Esempio 2 (or padre madre) persona padremadre
Esempio 3 (and persona (some figlio)) { x D | y I (figlio)} persona (some figlio) p 1 p 2 figlio …
Esempio 4 (and persona (all figlio femmina)) {x D | y I (figlio) y I (femmina)} persona (all figlio femmina) p 1 figlio … femmina p 2 p 3 p 4 p5p5
Esempi di assiomi (T-BOX) Definizioni genitore (some figlio) celibe (not coniugato) celibe (not (some moglie)) Specializzazioni padre (some figlio) madre (some figlio) gatto (and animale felino)
Esempi di asserzioni (A-BOX) (not (some moglie))[giorgio] (and madre avvocato)[teresa] figlio[paolo, giorgio] moglie[teresa, giorgio]
La famiglia AL Diverse LD sono ottenute aggiungendo altri costruttori di termini ad AL I principali sono: U : (or C 1 …C n ) E : (c-some R C) C : (not C) N : (atleast n R) R : (and R 1 …R n ) (atmost n R) S spesso usato per ALC con ruoli transitivi
Il reticolo della famiglia AL © Paolo Buongarzoni & Rossella
Problemi decisionali classici Soddisfacibilità di una KB (KBS) Conseguenza logica di una KB: il problema di decidere, dato C[i], se KB |= C[i], detto anche instance checking, IC(KB, C[i])
Problemi decisionali per DL: CS Soddisfacibilità di un concetto [CS(C)]: il problema di decidere se esiste uninterpretazione diversa dallinsieme vuoto (father) è soddisfacibile; (and father (not father)) è insoddisfacibile
Problemi decisionali per DL: sussunzione Sussunzione terminologica, o strutturale (SU): C 1 sussume C 2 [SU(C 1, C 2 )] sse per ogni interpretazione I, I (C 2 ) I (C 1 ) Es. person sussume (and person (some child)) Sussunzione ibrida (HSU(KB, C 1, C 2 )): come sopra ma si usano anche le definizioni nella KB Es. Se student person T-BOX allora person sussume student
Riduzione tra problemi decisionali I problemi decisionali non sono indipendenti tra di loro: 1. HSU({ }, C 1, C 2 ) SU(C 1, C 2 ) la sussunzione ibrida e strutturale coincidono se la T-BOX è vuota 2. SU(C 1, C 2 ) CS((and C 2 (not C 1 ))) la sussunzione strutturale può essere ricondotta alla soddisfacibilità di concetti
… e tutti possono essere ricondotti a KBS 3. CS(KB, C) KBS(KB {C[i]}) (KB può essere vuota) C è soddisfacibile sse KB {C[i]}, con i nuovo individuo, è una KB soddisfacibile 4. IC(KB, C[i]) KBS(KB {(not C)[i]}) Per vedere se KB |= C[i] basta vedere se aggiungendo (not C)[i], KB diventa insoddisfacibile 5. HSU(KB, C 1, C 2 ) KBS(KB {(and C 2 (not C 1 ))[i]}) C 1 sussume C 2 se aggiungendo (and C 2 (not C 1 ))[i], con i nuovo individuo, la KB è insoddisfacibile;
Esempi di riduzione di problemi Per essere felici bisogna essere ricchi e sani (e in alcuni casi non basta) T-BOX: Felice (and Ricco Sano) 1. Una persona ricca può essere infelice? HCS(KB, (and Ricco (not Felice)) ) KBS(KB {(and Ricco (not Felice))[i]})
Esempi di riduzione di problemi (cont.) 2. I ricchi sono felici? HSU(KB, Felice, Ricco) KBS(KB {(and Ricco (not Felice))[i]}) 3. Essere ricco e sano basta per essere felice? HSU(KB, Felice, (and Ricco Sano)) KBS(KB {(and (and Ricco Sano)(not Felice))[i]})
Sistemi deduttivi per DL Algoritmi per determinare la sussunzione La tecnica più diffusa è una variante dei tableaux semantici: una tecnica di propagazione di vincoli per la KBS (soddisfacibilità)
Tecnica di propagazione di vincoli Lidea di base: ogni formula nella KB è un vincolo sulle interpretazioni affinché siano modelli di KB I vincoli complessi si scindono in vincoli più elementari mediante regole di propagazione fino ad arrivare, in un numero finito di passi, a vincoli atomici Se linsieme di vincoli atomici contiene una contraddizione evidente (detta clash) allora la KB non è soddisfacibile, altrimenti abbiamo trovato un modello.
Vantaggi della tecnica 1. è semplice 2. è costruttiva 3. è modulare: una regola per ogni costrutto 4. è utile per progettare algoritmi di decisione e per valutarne la complessità
La tecnica in dettaglio per AL AL come ALC ma not solo davanti a concetti primitivi 1. Espansione delle definizioni: passo preliminare che consiste nel ridursi ad una KB= con solo la parte di asserzioni. Le asserzioni sono i vincoli iniziali 2. [Normalizzazione] 3. Propagazione di vincoli
Eliminazione della KB Se KB= Assunzione: D non contiene cicli nelle definizioni Es. D={C (and C (some R)), C (not C))} A={(all R C)[i]} I passo: eliminazione delle specializzazioni: C 1 C 2 diventa C 1 (and C* C 2 ) introducendo un nuovo concetto primitivo C* II passo: sostituzione A={(all R (and C (some R)) )} A={(all R (and (and C* (not C)) (some R)))}
Normalizzazione Un insieme di vincoli si dice normale sse ogni occorrenza delloperatore not è applicata ad un concetto primitivo. Regole di normalizzazione: non necessarie per la nostra logica semplice AL In logiche più complicate, ad esempio: (not (and C 1, … C n )) (or (not C 1 ) …(not C n )) (not (all R C)) (c-some R (not C))
Propagazione di vincoli per LT Un vincolo è una espressione della forma C[s] o R[s 1, s 2 ], dove s, s 1 e s 2 sono costanti o variabili. Un insieme di vincoli è soddisfacibile sse esiste una interpretazione che soddisfa ogni vincolo in.
Regole di propagazione Regola di propagazione: è una funzione da un insieme di vincoli ad un insieme di vincoli. Un insieme di vincoli è completo se nessuna regola di propagazione è applicabile ad esso. Le regole di propagazione dipendono dal linguaggio: una regola per ogni costrutto.
Regole di propagazione per AL and {C 1 [s], …, C n [s]} se (and C 1, …, C n )[s], e {C 1 [s], …, C n [s]} all {C[t]} se (all R C)[s], R[s, t] e C[t] some {R[s, x]} se (some R)[s], e non esiste t tale che {R(s, t)} e x è una nuova variabile
Osservazioni Le regole and all some per AL sono deterministiche Per linguaggi più complessi (con or, atmost) cè bisogno di regole non deterministiche: la loro applicazione può risultare in più insiemi di vincoli alternativi è soddisfacibile sse almeno uno degli insiemi di vincoli ottenuti lo è.
Clash per AL Un clash per AL è un insieme di vincoli di uno dei seguenti tipi: 1. {(not M)[s], M[s]}; 2. {(bottom)[i]}
Esempio 1 KB= 1 ={ (and Lavoratore Studente)[g], (not Lavoratore)[g]} 2 = 1 { Lavoratore[g], Studente[g] } La base di conoscenza è insoddisfacibile perché contiene un clash: (not Lavoratore)[g] Lavoratore[g]
Esempio 2 KB= 1 ={ (some Figlio)[g], (all Figlio Lavoratore)[g] (all Figlio Studente)[g]} 2 = 1 { Figlio[g, x]} 3 = 2 { Lavoratore [x] } 4 = 3 { Studente [x] } completo e senza clash Da 4 è possibile ricavare un modello per KB.
Proprietà dellalgoritmo di PV 1.Il risultato è dimostrabilmente invariante rispetto allordine di applicazione delle regole. 2.Completezza: se una base di conoscenza KB è soddisfacibile, allora lalgoritmo termina producendo almeno un sistema di vincoli completo e senza clash, isomorfo a un modello finito di KB. 3. Correttezza: se lalgoritmo termina producendo almeno un sistema di vincoli completo e senza clash, allora la KB è soddisfacibile
OWL OWL-DL euivalente a SHOIN O : {Italia} nominali o singoletti H : haZio haParente gerarchia di ruoli I : haFiglio Figliodi – ruolo inverso
Costruttori di OWL Sintassi usata (and C 1... C n ) (or C 1... C n ) (not C) (or {C 1 }... {C n }) (all P C) (some P C) (atmost n P) (atleast n P)
Assiomi OWL
Un esempio
Risultati di decidibilità e trattabilità Consideriamo il problema della sussunzione. Trattabile Decidibile Semicidibile ALNALCNR FOL ALC ALNI PROP OWL-DL soglia dellasoglia della trattabilitàdecidibilità