Lógica de descripciónLas lógicas de descripción, también llamadas lógicas descriptivas (DL por description logics) son una familia de lenguajes de representación del conocimiento que pueden ser usados para representar conocimiento terminológico de un dominio de aplicación de una forma estructurada y formalmente bien comprendida. El nombre lógica de descripción se refiere, por un lado, a descripciones de conceptos usadas para describir un dominio y, por otro lado, a la semántica que establece una equivalencia entre las fórmulas de lógicas de descripción y expresiones en lógica de predicados de primer orden. DL se diseñó como una extensión de frames (marcos) y redes semánticas, los cuales no estaban equipados con semántica basada en la lógica. A diferencia de los demás sistemas de representación (redes semánticas y frames), estas lógicas están dotadas con una semántica formal basada en lógica y tienen características muy importantes como son:
Los elementos centrales del alfabeto del lenguaje de las lógicas de descripción son:
El nombre de lógica de descripción es de los años 1980s. Antes de esto se llamaba (cronológicamente): sistemas terminológicos, y lenguajes de conceptos. Las lógicas de descripción de hoy en día se han convertido en una piedra fundamental de la web semántica para su uso en el diseño de ontologías. El primer sistema basado en DL fue KL-ONE (por Brachman and Schmolze, 1985). Después vinieron algunos otros sistemas de DL. Están LOOM (1987), BACK (1988), KRIS (1991), CLASSIC (1991), FaCT (1998), RACER (2001), CEL (2005), KAON 2 (2005) y JCEL (2010). El desarrollo de OIL fue inspirado en DL. Modelando con Lógicas de DescripciónEn DLs, existe un distinción entre la llamada TBox (caja terminológica) y la ABox (caja de aserciones). En general, la TBox contiene sentencias describiendo conceptos jerárquicos ( i.e., relaciones entre conceptos) mientras la ABox contiene sentencias "ground" indicando a donde pertenecen los individuos en la jerarquía (i.e., relaciones entre individuos y conceptos). Por ejemplo, la frase: (1) Cada empleado es una persona pertenece a la TBox, mientras que la frase: (2) Bob es un empleado pertenece a la ABox. Nótese que la distinción entre TBox y ABox no es significante en el mismo sentido que en la lógica de primer orden (la cual subsume la mayoría de las DL). Las dos "clases" de sentencias se tratan de igual forma. Cuando se traduce a lógica de primer orden, un axioma de subsumición como (1) es simplemente un condicional restringido a predicados unarios (conceptos) donde sólo aparecen variables. Una sentencia de esta forma no tiene un tratamiento distinto de las sentencias donde sólo aparecen constantes (valores "ground ") como en (2). Entonces, ¿por qué hacer esta distinción? La principal razón es que esta separación puede ser útil para describir y formular procedimientos de decisión para varias DL. Por ejemplo, un razonador podría procesar la TBox y la ABox por separado. Ciertos problemas claves de inferencia están ligados a una pero no a la otra ('clasificación' está relacionado con la TBox, 'chequeo de instancia' a la ABox). Además la complejidad de la TBox puede afectar considerablemente el rendimiento de un procedimiento de decisión para cierta DL, independientemente de la ABox. Así resulta útil una forma de hablar de una parte específica de una base de conocimiento (KB). Otro motivo de esta distinción es que tenga sentido desde el punto de vista del que modela la base de conocimiento. Es conveniente poder distinguir entre los conceptos en el mundo (axiomas de clase en la TBox) y las manifestaciones particulares de esos conceptos (aserciones de instancia en la ABox) Diferencias con OWLTerminologíaUn concepto en la jerga de DL se refiere a una clase en OWL. Un rol en la jerga de DL es una propiedad en OWL. NombresOWL no necesita la Suposición de Nombres Únicos (UNA por Unique Name Assumption). Razonadores para Lógicas de DescripciónA continuación se detallan los más populares razonadores para manejarse con OWL y con DL:
Otras herramientas relacionadas con DLs incluyen los siguientes:
La lógicaLas lógicas (AL por attributive language) constituyen una familia de lógica populares. Cada una agrega letras a su nombre para indicar su poder expresivo. Una lógica popular es la lógica , la cual utiliza una notación estándar, comúnmente conocida como sintaxis alemana debido a la nacionalidad de sus creadores, que se ha adoptado ampliamente para la discusión teórica sobre DL. Esta notación usa los símbolos:
Variedad de otros símbolos también pueden usarse para representar operadores adicionales, que serán descritos más adelante. Los símbolos de relación “” y “” se usan en axiomas y reflejan su interpretación en el modelo teórico como conjunto de igualdad y conjunto de inclusión. Sintaxis deLa sintaxis de estas lógicas soportan la descripción lógica de conceptos, roles (relaciones) e individuos, donde los conceptos y roles pueden ser combinados, usando una variedad de operadores, para formar expresiones más complejas. Los operadores soportados por las lógicas de descripción, normalmente incluyen algunas o todas las conectivas lógicas estándares juntamente con uno o ambos operadores relacionales (cuantificadores universales y existenciales llamados restricciones de valor y restricciones existenciales). Formalmente una terminología en está definida por la siguiente formación de reglas:
donde C y D son las expresiones de concepto.
CN es un nombre de concepto (conceptos atómicos) R es una expresión de rol. El nombre de concepto (top) representa el concepto más general. El nombre de concepto (bottom) representa el concepto menos general. Semántica deLa Semántica busca explicar la relación que existe entre la sintaxis del lenguaje y los modelos previstos del dominio, dando significado a las expresiones, el cual es dado por el modelo teórico semántico. Este modelo teórico fue propuesto por Tarski, donde los conceptos y roles se refieren a conjuntos de objetos en el dominio de interés y las relaciones entre ellos. Formalmente el modelo teórico se da por: el cual consta de un conjunto no vacío llamado el dominio de y una función (la función de interpretación de ) que asigna a cada concepto un subconjunto de , cada rol a un subconjunto de y a cada individuo un elemento de , de tal manera que:
Mientras que la Semántica de los constructores son entonces especificados por definiciones de conjunto de individuos denotados por cada constructor. Por ejemplo:
Extensiones deEl poder expresivo de una lógica de descripción es la capacidad para representar “conocimiento” acerca del dominio y depende de la riqueza de su lenguaje. El lenguaje de la lógica no es muy expresivo. Para comprobarlo basta ver estos ejemplos de “información” básica sobre un dominio sencillo no expresable en :
Es necesario extender el lenguaje de , pero añadiendo los elementos necesarios de forma que la complejidad computacional no sea intratable, ya que queremos poder razonar con esa lógica y, en particular, disponer de los algoritmos mínimos de satisfactibilidad, subsumición y consistencia. Veamos los constructores más importantes utilizados para extender el lenguaje y también algunos de los sistemas obtenidos extendiéndola.
Ejemplo: el dominio concreto , tiene como dominio el conjunto de los números naturales y pred() el conjunto de los predicados binarios < ≤ > ≥ . Las lógicas de descripción mucho más expresivas también emplean constructores de roles, dado que los roles se interpretan como relaciones binarias; esto implica definir constructores cuya Semántica es la de las operaciones sobre relaciones. Donde: si R y S son descripciones de rol (atómico) también lo son:
La terminología también permite incluir jerarquía de roles donde los axiomas son de la forma:
La semántica para las expresivas lógicas de descripción expuestas anteriormente se da; de la siguiente manera:
InferenciasLas lógicas de descripción son algo más que lenguajes para formalizar conceptos, deben representar la ontología de un dominio de aplicación y permitir razonar sobre él. Para ello se introducen nuevos elementos en el lenguaje y la semántica necesaria para formalizar las propiedades de los individuos del dominio y de las relaciones entre conceptos y roles, son las llamadas bases de conocimiento.
Base de conocimientoLa base de conocimiento está formada por dos componentes: el TBox y el ABox. El TBox contempla toda la terminología, o sea, el vocabulario de un dominio de aplicación en función de:
El ABox contiene aserciones acerca de individuos nombrados en términos de vocabulario. Una base de conocimiento (TBox y ABox) es equivalente a un conjunto de axiomas de la LPO (Lógica de primer orden), y por tanto se puede definir un cálculo o sistema de inferencia que permite derivar “conocimiento” implícito a partir del “explícito” de la base de conocimiento.
Razonamiento con conceptos (TBox)Supongamos que tenemos un lenguaje descriptivo para un dominio, por ejemplo , y que se ha definido una TBox(axiomas terminológicos) para modelar un dominio. Si se define un nuevo concepto es importante saber si es consistente o contradictorio con el TBox. Esta propiedad se conoce como el concepto satisfacible (o respectivamente insatisfacible) con respecto al TBox. También puede ser necesario saber si un concepto es más general que otro, si son equivalentes o si son disjuntos. La formalización de estas propiedades es la siguiente: Supongamos que es un TBox, C y D conceptos:
Razonando con individuos (ABox)Una vez definida una TBox, al definir el ABox, las propiedades más importantes que habrá que verificar son las de la consistencia del Abox y el TBox , y la derivación de una instanciación a partir del ABox. Veamos formalmente estos conceptos: Supongamos que es un TBox, A es un ABox, C un concepto y o un nombre de individuo:
SistemaEsta es otra notación muy utilizada por algunos sistemas de lógicas de descripción. La importancia de esta lógica, radica en que es la que actualmente se está implementando para las ontologías dependiendo de las necesidades del programador. El sistema se da de la siguiente manera: es + roles transitivos + inclusión roles. es + nominales. Se demuestra también que es extendida con restricciones cualificadas. es + nominales + dominios concretos (). Aunque extender una lógica con dominios concretos la dota de una expresividad muy valorada para representar ontologías, fácilmente puede llevar a la indecidibilidad. Veremos, sin embargo, que es decidible y es base para el lenguaje de ontología actualmente más aceptado.
Complejidad computacional del sistemaLas lógicas de descripción fueron pensadas como sistemas formales para representar conocimiento, y esto significa ir más allá de almacenar terminologías y descripciones. En particular, significa poder derivar hechos implícitos a partir de los dados. Por este motivo la implementación de procesos de inferencia debe tener en cuenta la posibilidad de usar algoritmos de inferencia óptimos. En el estudio de tales algoritmos el punto de partida es conocer su complejidad computacional (por ejemplo la complejidad EXPTIME y PSPACE). Encontrar algoritmos de decisión para los problemas de inferencia como satisfactibilidad, subsumición y consistencia en ABoxes para lógicas de descripción expresivas y con la menor complejidad posible, de forma que la implementación computacional sea afrontable, la cual es todo un reto. La búsqueda de estos procedimientos de decisión ha sido uno de los objetivos fundamentales en el desarrollo de las lógicas de descripción. Una de las maneras de obtenerlos es estudiando la conexión de las lógicas de descripción con otras lógicas conocidas. Es el caso de la decidibilidad en y en todas sus extensiones que se obtienen añadiendo constructores que en la LPO se pueden expresar con dos variables. Sin embargo, la complejidad del procedimiento de decisión obtenido de esta manera es normalmente mayor del que realmente se necesita; por ejemplo el problema de satisfactibilidad para la LPO con dos variables es NEXPTIME (que es una complejidad muy grande, aunque todavía es decidible) mientras que en es PSPACE-hard (es una complejidad menor). Otra manera de estudiar la complejidad es usando la conexión con las lógicas modales proposicionales. En la siguiente tabla se presentara las principales extensiones de , especificando las nuevas propiedades expresables en la extensión y los límites para la complejidad computacional.
https://web.archive.org/web/20080927155748/http://www.trafford.com/07-1729 Este un libro relaciona 16 clases de complejidad algorítmica respecto a espacio y tiempo. Y resuelve algunas igualdades. Véase también
Bibliografía
Enlaces externos
|