La lógica de descripción [1] ( lógica descriptiva [2] , primeros nombres - sistema terminológico , lógica de conceptos ) es un lenguaje de representación del conocimiento que le permite describir los conceptos del área temática en una forma formalizada e inequívoca, organizada de acuerdo con el tipo de lenguajes de lógica matemática . Las lógicas de descripción combinan, por un lado, ricas posibilidades expresivas y, por otro, buenas propiedades computacionales, como la decidibilidad y una complejidad computacional relativamente baja .problemas lógicos básicos, lo que hace posible su aplicación en la práctica, proporcionando un compromiso entre expresividad y decidibilidad. Pueden ser considerados como fragmentos decidibles de la lógica de predicados , pero sintácticamente están cerca de las lógicas modales .
La familia recibió su nombre moderno en la década de 1980, al mismo tiempo que se estudiaban como extensiones de las teorías de estructuras de marcos y redes semánticas por mecanismos de lógica formal. En la década de 2000, las lógicas de descripción se utilizaron en el marco del concepto de web semántica , donde se propusieron para ser utilizadas en la construcción de ontologías . Los fragmentos OWL-DL y OWL-Lite del lenguaje de ontología web OWL también se basan en lógicas de descripción.
La lógica de descripción opera con los conceptos de "concepto" y "rol", correspondiendo en otras secciones de la lógica matemática a los conceptos de "predicado de un lugar" (o conjunto, clase) y "predicado de dos lugares" (o relación binaria) . Intuitivamente, los conceptos se utilizan para describir clases de algunos objetos, como "Personas", "Mujeres", "Máquinas". Los roles se utilizan para describir relaciones de dos lugares entre objetos, por ejemplo, en un conjunto de personas hay una relación de dos lugares "X es_un_padre_de_Y", y entre personas y máquinas hay una relación de dos lugares "X posee_Y", donde objetos arbitrarios pueden ser sustituidos por X e Y. Con la ayuda del lenguaje de la lógica descriptiva, se pueden formular enunciados generales sobre clases en general (toda Mujer es un Hombre, cada Máquina es propiedad_de no más de un Hombre) y enunciados particulares sobre objetos específicos (María es una Mujer, Iván es dueño de una máquina1).
Un conjunto de enunciados de forma general o terminología ( terminología en inglés ) se denomina TBox, un conjunto de enunciados ( aserciones en inglés ) de un tipo particular es ABox, y en conjunto conforman la denominada base de conocimiento [3] u ontología . Se han construido y se están construyendo numerosas ontologías en una amplia variedad de áreas temáticas como la bioinformática , la genética , la medicina , la química , la biología . Una vez que se construye la ontología, surge la pregunta de cómo extraer el conocimiento que se deriva del conocimiento contenido en la ontología, si esto se puede hacer mediante programación y cuáles son los algoritmos apropiados. Todos estos problemas se resuelven teóricamente en la ciencia de la "lógica descriptiva", y en la práctica ya se han implementado muchos sistemas de software: mecanismos de razonamiento ( ing. razonadores ), que le permiten derivar automáticamente conocimiento de ontologías y realizar otras operaciones con ontologías.
En lógica matemática , todo lenguaje se caracteriza por su sintaxis , es decir, las reglas para construir expresiones de ese lenguaje, y la semántica , es decir, la forma en que a estas expresiones se les asigna algún significado formal , por ejemplo, indicando qué expresiones se consideran verdaderas. y falso
Para formular la sintaxis de cualquier lógica descriptiva, es necesario especificar conjuntos de símbolos no vacíos (y generalmente finitos), los llamados conceptos atómicos y roles atómicos, a partir de los cuales se construirán las expresiones del lenguaje de esta lógica. Una lógica concreta se caracteriza por un conjunto de constructores y una regla inductiva mediante la cual los conceptos compuestos de la lógica dada se construyen a partir de conceptos atómicos y roles atómicos utilizando estos constructores.
Los constructores típicos para construir conceptos compuestos son:
La conjunción y la disyunción en la lógica descriptiva generalmente se denotan de manera diferente para enfatizar la diferencia con otros tipos de lógica. Existen lógicas de descripción en las que también existen roles compuestos construidos a partir de roles simples mediante operaciones: inversión, intersección, unión, adición, composición de roles, clausura transitiva y otras [4] .
La lógica de descripción (del inglés atributive language con complemento ) se desarrolló en 1991 [5] y es uno de los sistemas básicos sobre la base de los cuales se construyen muchas otras lógicas de descripción. Deje que se den conjuntos finitos no vacíos de conceptos atómicos y roles atómicos. Entonces la siguiente es una definición inductiva de los conceptos compuestos de la lógica (conceptos):
Estrictamente hablando, esta no es una lógica, sino una familia de lógicas, donde cada lógica de esta familia se especifica mediante la elección de conjuntos específicos de conceptos y roles atómicos. Esto es análogo a establecer la firma de una teoría de primer orden. Sin embargo, esta distinción suele pasarse por alto.
La semántica de la lógica de descripción se da interpretando sus conceptos atómicos como conjuntos de objetos (“individuos”) seleccionados de algún conjunto fijo (“dominio”), y los roles atómicos como conjuntos de pares de individuos, es decir, relaciones binarias en el dominio. .
Formalmente, una interpretación consta de un conjunto no vacío (dominio) y una función de interpretación que asigna a cada concepto atómico un subconjunto de , y cada rol atómico a un subconjunto de . Si un par de individuos pertenece a la interpretación de algún rol , es decir , entonces se dice que el individuo es seguidor del individuo .
Además, la función interpretativa se extiende a los conceptos y roles compuestos. Dado que estos últimos son diferentes en cada DL, entonces, como ejemplo, considere la semántica de la lógica descrita anteriormente .
Por ejemplo, para ALC, la función interpretativa se extiende a los conceptos compuestos de la lógica de acuerdo con las siguientes reglas:
Ejemplo: si el dominio de interpretación está formado por todas las personas, el concepto atómico se interpreta como un conjunto de personas masculinas, y el rol como relación "es un padre para". Entonces se interpretará el concepto como un conjunto de personas que tienen todos hijos varones, y el concepto como un conjunto de “padres”, es decir, personas varones que tienen al menos un hijo.
En 1991 [6] , se señaló que la lógica no es más que lógica modal escrita en otra notación y que tiene modalidades independientes. Es decir, si hay conceptos atómicos y roles atómicos en , entonces la correspondencia entre lógicas se lleva a cabo de la siguiente manera:
Por ejemplo, un concepto entra en una fórmula modal . Con tal transformación, cualquier concepto compuesto de lógica se convierte en una fórmula bien formada de lógica modal , y cualquier fórmula modal es una traducción de algún concepto (por lo tanto, este es el mismo lenguaje, solo escrito en dos sistemas de notación diferentes). Además, esta transformación es consistente con la semántica de la lógica descrita anteriormente, por un lado, y la semántica de la lógica modal de Kripke, por el otro.
Esta técnica, aplicada tanto a las dos lógicas descritas como a sus diversas extensiones, nos permite trasladar al campo de la lógica descriptiva numerosos hechos conocidos sobre las lógicas modales, por ejemplo, sobre su decidibilidad , complejidad computacional , procedimientos de resolución y otras importantes propiedades. (finitud de modelos, modelos de treelikeness, etc.).
Muchas lógicas descriptivas, incluida , pueden considerarse como fragmentos de la lógica de predicados en la traducción "natural" de conceptos en fórmulas de predicados. Si hay conceptos atómicos y roles atómicos , entonces se introducen símbolos de predicado de un lugar y símbolos de predicado de dos lugares para la traducción , y la traducción misma se da inductivamente de la siguiente manera:
En los dos últimos párrafos, la variable es fresca (no se encuentra antes), pero es una traducción del concepto (que ya se ha construido según el supuesto de inducción).
Tal traducción es consistente con la semántica de la lógica descriptiva, es decir, en cualquier interpretación, si los conceptos atómicos y los roles atómicos se interpretan de la misma manera que los correspondientes predicados y , entonces cualquier concepto compuesto se interpreta por el mismo conjunto que el correspondiente fórmula de predicado de una variable. También se debe tener en cuenta que no todas las fórmulas de la lógica de predicados son una traducción de algún concepto; por ejemplo, la fórmula no lo es.
Esta traducción puede funcionar con solo dos variables [7] y, por lo tanto (al igual que muchas de sus extensiones) puede verse como fragmentos de una lógica de predicados de dos variables que se sabe que es decidible [8] . Esta traducción nos permite transferir resultados sobre solucionabilidad, complejidad computacional, algoritmos de resolución, etc. del dominio de la lógica de predicados al dominio de las lógicas de descripción.
Los conceptos de lógicas de descripción son interesantes no tanto en sí mismos, sino como una herramienta para registrar el conocimiento sobre el área temática descrita . Este conocimiento se divide en conocimiento general sobre conceptos y sus relaciones ( conocimiento intensional ) y conocimiento sobre objetos individuales, sus propiedades y relaciones con otros objetos ( conocimiento extensional ). Los primeros son más estables y permanentes, mientras que los segundos están más sujetos a modificación.
De acuerdo con esta división, el conocimiento registrado mediante el lenguaje de la lógica descriptiva se divide en:
El conjunto de axiomas y enunciados en conjunto conforman la denominada base de conocimientos .
El axioma de anidamiento de conceptos es una expresión de la forma , y el axioma de equivalencia de conceptos es una expresión de la forma , donde y son conceptos arbitrarios. De manera similar, el axioma de anidamiento de roles es una expresión de la forma , y el axioma de equivalencia de roles es una expresión de la forma , donde y son roles arbitrarios. Hay un símbolo de anidamiento aquí.
Una terminología o un conjunto de axiomas terminológicos es un conjunto finito de axiomas de los tipos enumerados. A veces, los axiomas para roles se separan en un conjunto separado y se denominan jerarquía de roles o . Además de los tipos de axiomas enumerados, se pueden permitir otros axiomas (por ejemplo, transitividad de roles) en la terminología.
La semántica de la terminología se determina de forma natural. Que se dé una interpretación . El axioma se cumple en la interpretación si ; en este caso también se dice que es un modelo axiomático . Análogamente para otros tipos de axiomas. La terminología se realiza en la interpretación , y la interpretación se llama modelo terminológico si es un modelo de todos los axiomas incluidos .
Por ejemplo, la siguiente colección es terminología (o TBox) en el lenguaje de la lógica :
Intuitivamente (es decir, bajo la interpretación "natural", cuando el concepto corresponde al conjunto de todas las personas, el rol corresponde a la relación "tiene_un hijo", etc.), estos axiomas dicen que ser mujer significa exactamente ser humano y ser mujer; ser madre significa exactamente ser mujer y tener un hijo; para cada persona, cada niño es también una persona; Todo médico es humano. Los dos primeros axiomas juntos proporcionan un ejemplo de la llamada terminología acíclica .
Las terminologías le permiten registrar conocimientos generales sobre conceptos y roles. Sin embargo, además de esto, generalmente también se requiere registrar conocimientos sobre individuos específicos: a qué clase (concepto) pertenecen, qué relaciones (roles) están asociados entre sí. Esto se hace en esa parte de la base de conocimiento de DL que se llama (o un conjunto de declaraciones sobre individuos).
Con este fin, además de los conceptos atómicos y los roles atómicos, es decir, nombres para clases y relaciones, también se introduce un conjunto finito de nombres para individuos. Las declaraciones sobre individuos son de dos tipos:
Finalmente, un conjunto de declaraciones sobre individuos o (del cuadro asertivo inglés ) es el conjunto final de declaraciones de estos dos tipos.
Algunas lógicas de descripción también permiten declaraciones de la forma en .
Para especificar la semántica de ABox, es necesario extender la interpretación de , es decir, a cada nombre individual, para asociar algún elemento del dominio . Entonces se dice que el enunciado o se cumple en la interpretación si tiene lugar o , respectivamente. Se dice que un ABox se ejecuta en una interpretación , y una interpretación es un modelo de este ABox si todas sus declaraciones se cumplen en esa interpretación.
Por ejemplo, la siguiente colección es un conjunto de declaraciones sobre individuos (o ABox) en el lenguaje de la lógica :
Aquí María y Pedro son los nombres de individuos. Intuitivamente, estas afirmaciones significan que María es mujer, pero no médico, tiene una niña, Pedro también es hijo de María, y Pedro es médico y no tiene hijos.
A menudo, solo se consideran las interpretaciones que satisfacen la convención de unicidad de los nombres . Significa que la interpretación debe asociar diferentes elementos del dominio con diferentes nombres de individuos. El lenguaje OWL no tiene esta convención por defecto, pero tiene construcciones que le permiten especificar explícitamente qué nombres individuales son iguales o diferentes.
Además del hecho de que las bases de conocimiento se formulan en un lenguaje ligeramente diferente al de las bases de datos , su principal diferencia radica en el uso del llamado supuesto de mundo abierto en DL en la derivación lógica , mientras que en las bases de datos el mundo es cerrado . Esto último significa que si una determinada afirmación no es verdadera, entonces se supone que es falsa. La suposición de la apertura del mundo en este caso considera tal afirmación ni verdadera ni falsa. Esto afecta fundamentalmente a qué hechos se considera que se derivan lógicamente de una base de conocimiento determinada y, por lo tanto, al concepto mismo de consecuencia lógica en DL.
Hay numerosas extensiones de lógica con constructores adicionales para construir conceptos, roles, así como tipos adicionales de axiomas en . Existe una convención de nomenclatura informal para las lógicas resultantes, generalmente agregando letras al nombre de la lógica que corresponden a los constructores agregados al lenguaje. Las extensiones más famosas son [4] :
Funcionalidad de roles: conceptos de la forma , significado: hay como mucho un seguidor | |
Restricciones de cardinalidad de roles: conceptos del tipo , significado: no hay más seguidores | |
Restricciones cualitativas sobre la cardinalidad de roles: conceptos de la forma , es decir: hay a lo sumo -seguidores en | |
Roles inversos: si hay un rol, entonces también es un rol, es decir, la inversión de una relación binaria | |
Denominaciones: si hay un nombre de un individuo, entonces hay un concepto que significa un conjunto de un elemento | |
Jerarquía de roles: axiomas de anidamiento de roles permitidos en TBox | |
Roles transitivos: TBox permite axiomas de transitividad de la forma | |
Axiomas compuestos de anidamiento de roles en TBox ( , ) con condición de aciclicidad, donde hay composición de roles | |
Extender el lenguaje con dominios específicos (tipos de datos) |
Por ejemplo, la lógica extendida por roles inversos, denominaciones y restricciones de cardinalidad de roles se denota como .
La letra no se agrega al nombre de la lógica, sino que reemplaza las letras que contiene . Así, por ejemplo, la lógica extendida por roles inversos (letra ), restricciones cualitativas sobre la cardinalidad de los roles (letra ), roles transitivos (letra ), y jerarquía de roles (letra ), tiene el nombre . El origen de todas las letras está claro a partir de los nombres en inglés de los constructores; se eligió la letra debido a la estrecha conexión de la DL resultante con la lógica modal [6] (aunque en esta última la letra S simplemente significa sistema , es el número 4 el que distingue a la lógica misma de otras lógicas modales ).
Si la lógica contiene las letras , y cualquiera o , entonces se impone una restricción adicional a la regla para construir conceptos: en conceptos de la forma, no se pueden usar roles que tengan (desde el punto de vista de los axiomas de RBox) transitivos sub- papeles Si no se imponen estas restricciones, entonces la lógica se vuelve indecidible . [9]
También se consideran lógicas descriptivas, en las que es posible construir roles compuestos utilizando las operaciones de unión, intersección, adición, inversión, composición, clausura transitiva, entre otras. Además, se investigan los DL con roles multiplaza (que denotan relaciones n-arias). [cuatro]
Las bases de conocimiento formuladas en el lenguaje de la lógica de descripción se utilizan no solo para representar el conocimiento sobre el área temática, sino también para el análisis lógico ( razonamiento en inglés ) del conocimiento, como verificar la ausencia de contradicciones en ellos, derivar nuevos conocimientos de los existentes, proporcionando la capacidad de realizar solicitudes a bases de conocimiento (por analogía con consultas a bases de datos). Debido al hecho de que las bases de conocimiento de DL están escritas de forma formal, es posible sacar una conclusión lógica estricta. Y dado que la sintaxis y la semántica de la lógica de descripción están construidas de tal manera que los principales problemas lógicos son solucionables, la derivación de nuevos conocimientos puede llevarse a cabo por medios informáticos: programas especiales ( razonadores ).
Algunas definiciones de análisis lógico:
Se pueden introducir conceptos similares con respecto a algún TBox dado , limitados a modelos del TBox dado. Por ejemplo, se dice que un concepto es satisfacible con respecto a un TBox si hay una interpretación que es un modelo de ese TBox en el que se ejecuta el concepto.
Cuando no solo se especifica TBox , sino también ABox , lo que significa que hay una base de conocimiento , entonces surge otro concepto:
Los siguientes conceptos formalizan los problemas algorítmicos clave asociados con una lógica descriptiva particular:
En las lógicas que contienen , el problema de anidamiento de conceptos se reduce a la satisfacibilidad de conceptos. [4] Los problemas algorítmicos no estándar son de gran importancia práctica, en particular:
Las características fundamentales de una lógica descriptiva particular son las siguientes:
Se han obtenido un gran número de resultados sobre estas propiedades de varias lógicas de descripción [12] .
El lenguaje de ontología web OWL se está desarrollando como un lenguaje en el que las llamadas ontologías de red se pueden formular y publicar en la web : declaraciones escritas formalmente sobre los conceptos y objetos de un área determinada. Uno de los requisitos para tales ontologías es que el conocimiento contenido en ellas esté “disponible” para el procesamiento de máquinas, en particular, para la inferencia automática de nuevos conocimientos a partir de los existentes. Esto requiere que el lenguaje en el que se formulan las ontologías tenga una semántica precisa y que los problemas lógicos correspondientes sean solucionables (y tengan una complejidad computacional prácticamente aceptable). Además, es deseable que dicho lenguaje tenga un poder expresivo bastante grande, adecuado para formular en él hechos prácticamente significativos.
Las lógicas de descripción tienen estas propiedades, y por esta razón se eligieron como base lógica para el lenguaje de ontología web OWL. Este último es un lenguaje con formato XML , por lo que se puede decir que OWL es una reformulación de algunos DL que utilizan la sintaxis XML. Dado que hay muchos DL que varían tanto en poder expresivo como en complejidad computacional, esto ha llevado a varias variantes en OWL.
Los conceptos de “concepto”, “rol”, “individuo” y “base de conocimiento” disponibles en las lógicas de descripción en OWL corresponden a los conceptos de “clase”, “propiedad”, “objeto” y “ontología”, respectivamente.
La recomendación oficial del W3C del 10 de febrero de 2004 es OWL 1.0 . Esta especificación del lenguaje OWL se subdivide en las siguientes variantes:
La nueva versión del lenguaje OWL 1.1, que se encuentra en etapa de borrador de trabajo, cubre la descripción lógica , que incluye la lógica , los axiomas compuestos del anidamiento de roles en TBox (la letra en el nombre de la lógica), así como como los axiomas de disyunción, reflexividad, irreflexividad y asimetría de roles, el rol universal (interpretado como ), el constructor del concepto (interpretado como un conjunto de elementos que son -seguidores de sí mismos) y permite afirmaciones en ABox [13] .
Al mismo tiempo, se está desarrollando la próxima versión del lenguaje OWL 2.0 que, además de lo anterior, permitirá formular ontologías en un lenguaje correspondiente a la lógica descriptiva (cuya ventaja es que tiene polinomios computacionales ). complejidad); traerá mejoras sintácticas para facilitar la consulta de bases de conocimiento y la emisión de respuestas a las mismas; y también contendrá mecanismos para formular reglas de inferencia [14] .
Hay muchos sistemas de software ( motores de inferencia ) que permiten realizar análisis lógicos en lógicas de descripción (comprobar la coherencia de la ontología , construir taxonomías, comprobar la viabilidad y el anidamiento de conceptos, realizar consultas a las bases de conocimiento, etc.). Dichos sistemas difieren en las lógicas de descripción que soportan, en el tipo de procedimiento de habilitación implementado en ellos (por ejemplo, algoritmo de marcador , resolución , etc.), en los formatos de datos soportados, en el lenguaje de programación en el que están implementados y en otros parámetros. Algunos sistemas posibles bien conocidos [15] :
También hay editores de ontologías que le permiten crear ontologías, guardarlas en varios formatos, algunos le permiten conectar un bloque de razonamiento y usarlo para realizar un análisis lógico de la ontología. Uno de los más famosos es el editor de ontologías Protégé , que permite trabajar con ontologías en el lenguaje OWL Full.
![]() |
---|
web semántica | |
---|---|
Lo esencial | |
Subsecciones |
|
Aplicaciones |
|
Temas relacionados | |
Estándares |
|
Lógicas | |||||||||
---|---|---|---|---|---|---|---|---|---|
Filosofía • Semántica • Sintaxis • Historia | |||||||||
Grupos lógicos |
| ||||||||
Componentes |
| ||||||||
Lista de símbolos booleanos |