Las lógicas descriptivas ( DL ) son una familia de lenguajes de representación formal del conocimiento . Muchas DL son más expresivas que la lógica proposicional pero menos expresivas que la lógica de primer orden . A diferencia de esta última, los problemas de razonamiento centrales de las DL son (normalmente) decidibles , y se han diseñado e implementado procedimientos de decisión eficientes para estos problemas. Existen lógicas descriptivas generales, espaciales, temporales, espaciotemporales y difusas, y cada lógica descriptiva presenta un equilibrio diferente entre poder expresivo y complejidad de razonamiento al admitir diferentes conjuntos de constructores matemáticos. [1]
Los DL se utilizan en inteligencia artificial para describir y razonar sobre los conceptos relevantes de un dominio de aplicación (conocido como conocimiento terminológico ). Es de particular importancia para proporcionar un formalismo lógico para las ontologías y la Web Semántica : el Lenguaje de Ontología Web (OWL) y sus perfiles se basan en DL. La aplicación más notable de los DL y el OWL es en la informática biomédica , donde el DL ayuda a codificar el conocimiento biomédico. [ cita requerida ]
Una lógica descriptiva (DL) modela conceptos , roles e individuos , y sus relaciones.
El concepto de modelado fundamental de un DL es el axioma , una declaración lógica que relaciona roles y/o conceptos. [2] Esta es una diferencia clave con el paradigma de marcos , donde una especificación de marco declara y define completamente una clase. [2]
La comunidad de lógica descriptiva utiliza una terminología diferente a la de la comunidad de lógica de primer orden (FOL) para nociones operativamente equivalentes; a continuación se ofrecen algunos ejemplos. El lenguaje de ontología web (OWL) utiliza una terminología diferente, que también se muestra en la tabla siguiente.
Existen muchas variedades de lógicas de descripción y existe una convención de nomenclatura informal que describe de forma general los operadores permitidos. La expresividad está codificada en la etiqueta de una lógica que comienza con una de las siguientes lógicas básicas:
Seguido de cualquiera de las siguientes extensiones:
Algunos DL canónicos que no se ajustan exactamente a esta convención son:
A modo de ejemplo, es una lógica de descripción de importancia central a partir de la cual se pueden hacer comparaciones con otras variedades. se permite simplemente con el complemento de cualquier concepto, no solo conceptos atómicos. se utiliza en lugar del equivalente .
Otro ejemplo es la lógica de descripción, que es la lógica más las restricciones de cardinalidad extendidas y los roles transitivos e inversos. Las convenciones de nombres no son puramente sistemáticas, por lo que se puede hacer referencia a la lógica como y también se utilizan otras abreviaturas cuando es posible.
El editor de ontología Protégé admite . Tres bases de terminología de informática biomédica principales, SNOMED CT , GALEN y GO, se pueden expresar en (con propiedades de función adicionales).
OWL 2 proporciona la expresividad de , OWL-DL se basa en , y para OWL-Lite es .
La lógica descriptiva recibió su nombre actual en la década de 1980. Antes se llamaba (cronológicamente): sistemas terminológicos y lenguajes conceptuales .
Los marcos y las redes semánticas carecen de semántica formal (basada en la lógica). [5] El aprendizaje automático se introdujo por primera vez en los sistemas de representación del conocimiento (KR) para superar esta deficiencia. [5]
El primer sistema KR basado en DL fue KL-ONE (por Ronald J. Brachman y Schmolze, 1985). Durante los años 80 se desarrollaron otros sistemas basados en DL que utilizaban algoritmos de subsunción estructural [5], entre ellos KRYPTON (1983), LOOM (1987), BACK (1988), K-REP (1991) y CLASSIC (1991). Este enfoque presentaba DL con expresividad limitada pero razonamiento relativamente eficiente (tiempo polinomial). [5]
A principios de los años 90, la introducción de un nuevo paradigma de algoritmo basado en tablas permitió un razonamiento eficiente en un aprendizaje automático más expresivo. [5] Los sistemas basados en aprendizaje automático que utilizan estos algoritmos (como KRIS (1991)) muestran un rendimiento de razonamiento aceptable en problemas de inferencia típicos, aun cuando la complejidad del peor caso ya no es polinómica. [5]
A partir de mediados de los años 90, se crearon razonadores con un buen desempeño práctico en DL muy expresivo con una alta complejidad en el peor de los casos. [5] Algunos ejemplos de este período incluyen FaCT, [6] RACER (2001), CEL (2005) y KAON 2 (2005).
Los razonadores DL, como FaCT, FaCT++, [6] RACER, DLP y Pellet, [7] implementan el método de tablas analíticas . KAON2 se implementa mediante algoritmos que reducen una base de conocimiento SHIQ(D) a un programa de registro de datos disyuntivo .
Los lenguajes de ontología DAML ( lenguaje de marcado de agente DARPA ) y OIL ( capa de inferencia de ontología ) para la Web semántica pueden considerarse variantes sintácticas de DL. [8] En particular, la semántica formal y el razonamiento en OIL utilizan el DL. [9] El DL DAML+OIL se desarrolló como una presentación al [10] —y formó el punto de partida— del Grupo de trabajo de ontología web del Consorcio World Wide Web (W3C). [11] En 2004, el Grupo de trabajo de ontología web completó su trabajo emitiendo la recomendación OWL [12] . El diseño de OWL se basa en la familia de DL [13] con OWL DL y OWL Lite basados en y respectivamente. [13]
El grupo de trabajo OWL del W3C comenzó a trabajar en 2007 en un refinamiento y extensión de OWL. [14] En 2009, esto se completó con la emisión de la recomendación OWL2 . [15] OWL2 se basa en la lógica de descripción . [16] La experiencia práctica demostró que OWL DL carecía de varias características clave necesarias para modelar dominios complejos. [2]
En el aprendizaje a distancia, se distingue entre la denominada TBox (caja terminológica) y la ABox (caja asertiva). En general, la TBox contiene oraciones que describen jerarquías de conceptos (es decir, relaciones entre conceptos ), mientras que la ABox contiene oraciones básicas que indican a qué parte de la jerarquía pertenecen los individuos (es decir, relaciones entre individuos y conceptos). Por ejemplo, la afirmación:
pertenece al TBox, mientras que la declaración:
pertenece a la ABox.
Obsérvese que la distinción entre TBox y ABox no es significativa, en el mismo sentido en que los dos "tipos" de oraciones no reciben un tratamiento diferente en la lógica de primer orden (que incluye la mayor parte de la lógica de primer orden). Cuando se traduce a la lógica de primer orden, un axioma de subsunción como ( 1 ) es simplemente una restricción condicional a predicados unarios (conceptos) en los que solo aparecen variables. Claramente, una oración de esta forma no es privilegiada ni especial respecto de oraciones en las que solo aparecen constantes (valores "fundamentados") como ( 2 ).
Entonces, ¿por qué se introdujo la distinción? La razón principal es que la separación puede ser útil al describir y formular procedimientos de decisión para varios DL. Por ejemplo, un razonador podría procesar la TBox y la ABox por separado, en parte porque ciertos problemas de inferencia clave están vinculados a una pero no a la otra (la "clasificación" está relacionada con la TBox, la "verificación de instancias" con la ABox). Otro ejemplo es que la complejidad de la TBox puede afectar en gran medida el rendimiento de un procedimiento de decisión dado para un determinado DL, independientemente de la ABox. Por lo tanto, es útil tener una forma de hablar sobre esa parte específica de la base de conocimiento .
La razón secundaria es que la distinción puede tener sentido desde la perspectiva del modelador de la base de conocimiento. Es plausible distinguir entre nuestra concepción de los términos/conceptos en el mundo (axiomas de clase en el TBox) y manifestaciones particulares de esos términos/conceptos (afirmaciones de instancia en el ABox). En el ejemplo anterior: cuando la jerarquía dentro de una empresa es la misma en cada sucursal pero la asignación a los empleados es diferente en cada departamento (porque hay otras personas trabajando allí), tiene sentido reutilizar el TBox para diferentes sucursales que no utilicen el mismo ABox.
Existen dos características de la lógica descriptiva que no comparten la mayoría de los demás formalismos de descripción de datos: la lógica descriptiva no hace la suposición de nombre único (UNA, por sus siglas en inglés) ni la suposición de mundo cerrado (CWA, por sus siglas en inglés). No tener UNA significa que se puede permitir, mediante alguna inferencia, que dos conceptos con nombres diferentes sean equivalentes. No tener CWA, o más bien tener la suposición de mundo abierto (OWA, por sus siglas en inglés), significa que la falta de conocimiento de un hecho no implica inmediatamente el conocimiento de la negación de un hecho.
Al igual que la lógica de primer orden (FOL), una sintaxis define qué conjuntos de símbolos son expresiones legales en una lógica de descripción, y la semántica determina el significado. A diferencia de la FOL, una DL puede tener varias variantes sintácticas bien conocidas. [8]
La sintaxis de un miembro de la familia de lógica descriptiva se caracteriza por su definición recursiva, en la que se enuncian los constructores que se pueden utilizar para formar términos conceptuales. Algunos constructores están relacionados con los constructores lógicos en lógica de primer orden (FOL) como intersección o conjunción de conceptos, unión o disyunción de conceptos, negación o complemento de conceptos, restricción universal y restricción existencial . Otros constructores no tienen una construcción correspondiente en FOL incluyendo restricciones sobre roles por ejemplo, inverso, transitividad y funcionalidad.
Sean C y D conceptos, a y b individuos y R un rol.
Si a está R-relacionado con b, entonces b se llama R-sucesor de a.
El lenguaje conceptual atributivo prototípico de DL con complementos ( ) fue introducido por Manfred Schmidt-Schauß y Gert Smolka en 1991, y es la base de muchos otros DL expresivos. [5] Las siguientes definiciones siguen el tratamiento de Baader et al. [5]
Sean , y , respectivamente, conjuntos de nombres de conceptos (también conocidos como conceptos atómicos ), nombres de roles y nombres de individuos (también conocidos como individuos , nominales u objetos ). Entonces, la tripleta ordenada ( , , ) es la signatura .
El conjunto de conceptos es el conjunto más pequeño tal que:
Una inclusión de concepto general (ICG) tiene la forma donde y son conceptos . Escriba cuando y . Una TBox es cualquier conjunto finito de ICG.
Un ABox es un conjunto finito de axiomas asertivos.
Una base de conocimiento (KB) es un par ordenado para TBox y ABox .
La semántica de las lógicas descriptivas se define interpretando los conceptos como conjuntos de individuos y los roles como conjuntos de pares ordenados de individuos. Estos individuos se suponen típicamente de un dominio dado. La semántica de los conceptos y roles no atómicos se define entonces en términos de conceptos y roles atómicos. Esto se hace utilizando una definición recursiva similar a la sintaxis.
Las siguientes definiciones siguen el tratamiento de Baader et al. [5]
Una interpretación terminológica sobre una firma consiste en
de tal manera que
Definir (leer en I sostiene ) lo siguiente
Sea una base de conocimientos.
Además de la capacidad de describir conceptos formalmente, también sería conveniente emplear la descripción de un conjunto de conceptos para hacer preguntas sobre los conceptos y las instancias descritas. Los problemas de decisión más comunes son preguntas básicas de tipo consulta de base de datos como la comprobación de instancias (es una instancia particular (miembro de un ABox) un miembro de un concepto dado) y la comprobación de relaciones (¿se cumple una relación/función entre dos instancias, en otras palabras, tiene a la propiedad b ), y las preguntas más globales de la base de datos como la subsunción (es un concepto un subconjunto de otro concepto) y la consistencia de conceptos (¿no hay contradicción entre las definiciones o la cadena de definiciones?). Cuantos más operadores se incluyan en una lógica y cuanto más complicada sea la TBox (que tenga ciclos, lo que permite que los conceptos no atómicos se incluyan entre sí), normalmente mayor será la complejidad computacional para cada uno de estos problemas (consulte el Navegador de complejidad de lógica de descripción para ver ejemplos).
Muchos DL son fragmentos decidibles de lógica de primer orden (FOL) [5] y, por lo general, son fragmentos de lógica de dos variables o lógica protegida . Además, algunos DL tienen características que no están cubiertas en FOL; esto incluye dominios concretos (como números enteros o cadenas, que se pueden usar como rangos para roles como hasAge o hasName ) o un operador sobre roles para el cierre transitivo de ese rol. [5]
La lógica de descripción difusa combina la lógica difusa con las lógicas de descripción. Dado que muchos conceptos necesarios para los sistemas inteligentes carecen de límites bien definidos o de criterios de pertenencia definidos con precisión, se necesita la lógica difusa para abordar las nociones de vaguedad e imprecisión. Esto ofrece una motivación para una generalización de la lógica de descripción para abordar conceptos imprecisos y vagos.
La lógica descriptiva está relacionada con la lógica modal (ML), pero se desarrolló independientemente de ella. [5] Muchas ML (pero no todas) son variantes sintácticas de la ML. [5]
En general, un objeto corresponde a un mundo posible , un concepto corresponde a una proposición modal y un cuantificador delimitado por un rol a un operador modal con ese rol como su relación de accesibilidad.
Las operaciones sobre roles (como composición, inversión, etc.) corresponden a las operaciones modales utilizadas en la lógica dinámica . [17]
La lógica de descripción temporal representa (y permite razonar) conceptos dependientes del tiempo y existen muchos enfoques diferentes para este problema. [18] Por ejemplo, una lógica de descripción podría combinarse con una lógica temporal modal como la lógica temporal lineal .
Existen algunos razonadores semánticos que se ocupan de OWL y DL. Estos son algunos de los más populares: