Tema 7 “Lógicas de descripciones” Año académico 2014/15 Profesores: Sascha Ossowski, Alberto Fernández y Holger Billhardt –1– Referencias • Reasoning in Description Logics: Basics, Extensions, and Relatives. Ulrike Sattler. Reasoning Web 2007, LNCS 4636 • Basic Description Logics. Franz Baader, Werner Nutt. Cap. 2 en “The Description Logic Handbook: Theory, Implementation, and Applications”. Cambridge University Press, 2003. • Semantic Web: Concepts, Technologies and Applications. K. Breitman, M. A. Casanova, W. Truszkowski. Springer. 2007 (Cap. 3) • Foundations of Semantic Web Technologies. P. Hitzler, M. Krötzsch, S. Rudolph. CRC Press. 2009. (Cap. 5) –2– Índice • Representación del conocimiento – Sintaxis y semántica ALC – Bases de conocimientos • Inferencia – Mecanismos básicos – Otros mecanismos • ALC como Lógica de primer orden • Extensiones a ALC –3– Índice • Representación del conocimiento – Sintaxis y semántica ALC – Bases de conocimientos • Inferencia – Mecanismos básicos – Otros mecanismos • ALC como Lógica de primer orden –4– Introducción • Familia de formalismos de representación del conocimiento basados en lógica – Describe el dominio en términos de: • Conceptos (clases): curso, profesor, universidad, … • Roles (relaciones): imparte-curso, asiste-a-curso, … • Individuos: Luis, Ana, Alberto, … • Los lenguajes particulares se caracterizan por: – El conjunto de constructores disponibles para construir conceptos y roles complejos a partir de otros más simples – El conjunto de axiomas para añadir hechos sobre conceptos, roles e individuos • Base lógica de OWL (Web Ontology Language) –5– Una lógica descriptiva (DL) básica: ALC ALC (Attributive Language with Complements) Sintaxis: descripción de conceptos ALC Sea C un conjunto de nombres de conceptos y R un conjunto de nombres de roles (relaciones o propiedades) disjunto de C – Cada nombre de concepto es concepto ALC – > y ? son conceptos ALC – Si C y D son conceptos ALC y r es un nombre de rol, entonces también son conceptos ALC: • C u D (conjunción) • C t D (disyunción) • ¬C (negación) • 9r.C (restricción existencial) • 8r.C (restricción de valores) – Se usan paréntesis para clarificar la estructura de los conceptos • Orden precedencia de operadores como en lógica de primer orden –6– Una lógica descriptiva básica: ALC Ejemplos (asumiendo nombres de conceptos empiezan por mayúscula, nombres de roles empiezan por minúscula) – Bien formados • • • • • Persona u Femenino Persona u 9asiste.Curso A u 9r.8s.(E u ¬F) Persona u 9imparte.(Curso u 8matriculado-por.(Inteligente u ¬Vago)) Hombre u ∃tieneHijo.Femenino u ∃tieneHijo.Masculino u ∀tieneHijo. (Rico t Feliz) – Mal formados • 8s.s • Persona ¬ Femenino • Persona u 9Curso –7– ALC: Semántica • Interpretación I = (4I,·I) – 4I es un conjunto no vacío (llamado dominio) – ·I es una función que asocia • • Cada nombre de concepto A ∈ C a un conjunto AI ⊆ 4I Cada nombre de rol r ∈ R a una relación binaria rI ⊆ 4I x 4I ·I se extiende a conceptos complejos de la siguiente manera: >I = 4I ?I = ∅ (C u D)I = CI \Å DI (C t D)I = CI [ DI (¬C)I = 4I \ CI (9r.C)I = {d ∈ 4I | ∃e ∈4I con <d,e>∈rI y e ∈CI } (8r.C)I = {d ∈ 4I | 8e ∈4I , si <d,e>∈rI entonces e∈CI } –8– ALC: Ejemplo 1 • Interpretación I: – – – – – – • trabajaPara 4I = {a, b, c, d} a EmpleadoI = {a} trabajaPara PersonaI = {a, b} EmpresaI ={c, d, b} c I SociedadAnónima = {d} trabajaParaI = {<a,c>, <a,d>, <b,b>} d b trabajaPara Algunas observaciones sobre I: – – – – – – – – Todos los elementos son instancia de > y ninguno es de ? a es una instancia de Persona u Empleado c es una instancia de Empresa u ¬Persona a y b son instancias de 9trabajaPara.Empresa, pero sólo a es instancia de 9trabajaPara.¬Persona Todos los elementos son instancia de 8trabajaPara.Empresa a no es instancia de 8trabajaPara.(Empresa u SociedadAnónima) c y d son instancias de 8trabajaPara.? … –9– Bases de Conocimientos ALC • Normalmente, una BC se divide en dos partes <T,A>: – Tbox (Terminological KB): un conjunto de axiomas que describen la estructura de un dominio, de la forma: • Inclusiones: C v D, siendo C y D conceptos ALC C v D sii CI µ DI • Equivalencias: C ≡ D (si C es atómico se llama Definición) C ≡ D sii C v D y D v C (es decir, CI ≡ DI) • I es un modelo de T si y sólo si satisface todos los axiomas de T – Abox (Assertional KB): un conjunto de axiomas que describen una situación concreta, de la forma: • Aserción de conceptos: C(a) C(a) si aI ∈CI • Aserción de roles: r(a,b) r(a,b) si <a,b>∈rI – 10 – Bases de Conocimientos: Ejemplo 2 T = { Empresa v ¬Persona, TBox EmpresaPrivada v Empresa, Empleado ≡ Persona u 9trabajaPara.Empresa SociedadAnónima v Empresa, Empleado v Persona u 9trabajaPara.Empresa, Persona u 9trabajaPara.Empresa v Empleado, 9trabajaPara.> v Persona, Empresario v Persona u 9posee.Empresa, Persona u 9posee.Empresa v Empresario, 9posee.> v Persona } Empresario ≡ Persona u 9posee.Empresa – 11 – Bases de Conocimientos: Ejemplo 2 K=<T,A> T = { Empresa v ¬Persona, EmpresaPrivada v Empresa, SociedadAnónima v Empresa, Empleado ≡ Persona u 9trabajaPara.Empresa, 9trabajaPara.> v Persona, Empresario ≡ Persona u 9posee.Empresa, 9posee.> v Persona } A = {Persona(Ana), Empresa (IBM), (Empresa u SociedadAnónima)(Telefónica), Persona(Luis) (Persona u Empleado)(Marta), trabajaPara(Ana,IBM), trabajaPara(Luis,Telefónica), Posee(Marta,Telefónica), Posee(Ana,Telefónica)} TBox ABox – 12 – Índice • Representación del conocimiento – Sintaxis y semántica ALC – Bases de conocimientos • Inferencia – Mecanismos básicos – Otros mecanismos • ALC como Lógica de primer orden – 13 – Inferencia • Mecanismos básicos de razonamiento: dada una BC K=<T,A>, los conceptos C y D, y un individuo a: – Satisfabilidad: C es satisfacible • sii existe un modelo I de T y un b ∈4I con bI ∈CI (CI ≠ ∅) – Subsunción: C es subsumido por D (C vT D o T ╞ C v D) • sii CI µ DI para cada modelo I de T – Equivalencia: C y D son equivalentes (C ≡ T D) • sii CI ≡ DI para cada modelo I de T – Disjunto: C y D son disjuntos (C uT D ≡ ? o C vT ¬D) • sii para cada modelo I de T CI \Å DI = ∅ – Consistencia: K es consistente • sii existe algún modelo de K – Instancia: a es una instancia de C • sii aI ∈ CI para cada modelo I de T – 14 – Inferencia • Propiedades de relación de subsunción Sean C, D, y E conceptos, a un nombre de individuo, y <T,A> una BC – C vT C (reflexiva) – Si C vT D y D vT E, entonces C vT E (transitiva) – Si a es una instancia de C y C vT D, entonces a es una instancia de D – 15 – Inferencia • Ejemplos: – – – – A u ¬A es insatisfacible ? y A u ¬A son equivalentes 9r.A u 8r.¬A es insatisfacible A u B es subsumido por A (A u B vT A) • Del ejemplo 2 se deduce, entre otras cosas: – – – – SociedadAnónima vT ¬Persona 9trabajaPara.Empresa vT ¬Empresa Ana y Luis son instancias de Empleado Empresa u 9trabajaPara.Empresa es insatisfacible – 16 – Inferencia • Otros mecanismos de razonamiento más sofisticados – Clasificación de una TBox T • Computar la jerarquía de subsunción entre todos los nombres de conceptos en T. Es decir, para cada par de conceptos C, D comprobar si C es subsumido por D y si D es subsumido por C – Comprobar la satisfacibilidad de conceptos en T. • Para cada concepto C en T , comprobar si C es satisfacible (de lo contrario hay un error de modelado) – Recuperación de instancias • Dado un concepto C y una base de conocimiento K, devolver todos los nombres de individuos a que sean instancia de C. – Realización de un nombre de individuo • Dado un individuo a y una base de conocimiento K, comprobar, para cada nombre de concepto C de T , si a es instancia de C, y devolver todos los C que a es instancia – 17 – Índice • Representación del conocimiento – Sintaxis y semántica ALC – Bases de conocimientos • Inferencia – Mecanismos básicos – Otros mecanismos • ALC como Lógica de primer orden – 18 – ALC como Lógica de primer orden • Se interpreta: – Nombres de conceptos ⇔ Predicados unarios – Nombres de roles ⇔ Predicados binarios – Conceptos ⇔ Fórmulas con una variable libre • Definición de conceptos ALC: – – – – – – πx(A) = A(x) (πx(>) = Cierto, πx(?) = Falso) πx(¬C) = ¬πx(C) πx(C u D) = πx(C) ^Æ πx(D) πx(C t D) = πx(C) _Ç πx(D) πx(9r.C) = 9y(r(x,y) ^Æ πy(C)) πx(8r.C) = 8y(r(x,y) ! πy(C)) – 19 – ALC como Lógica de primer orden • TBoxes – π(T ) = ^Æ C v D 2T 8x(πx(C) ! πx(D)) • ABoxes – Nombres de individuos a ⇔ constantes – Sea ψ[x/a] la fórmula obtenida al reemplazar en ψ todas las apariciones libres de x por a. – π(A ) = ^Æ C(a) 2A πx(C)[x/a] ^Æ ^Æ r(a,b)2A r(a,b) – 20 –