Bases de datos
deductivas.
Es un sistema de bases de datos que define
reglas con las cuales se puede inferir información adicional a partir de los
hechos almacenados en las bases de datos. Es decir, es un programa lógico que
realiza un mapeo de relaciones base hacia hechos, y reglas que son usadas para
definir nuevas relaciones en términos de las relaciones base y el procesamiento
de consultas. Consta de las siguientes características:
- Capacidad de expresar consultas por medio de reglas lógicas.
- Permitir consultas recursivas y algoritmos eficientes para su evaluación.
- Contar con negaciones estratificadas.
- Soportar objetos y conjuntos complejos.
- Contar con métodos de optimización que garanticen la traducción de especificaciones dentro de planes eficientes de acceso.
- Su lenguaje de definición de datos (DDL) es dataLog.
- En lugar de relaciones entre entidades, aparecen los predicados; y en lugar de las tulpas aparecen los hechos.
- Modelado semántico y uniformidad en la representación.
Necesidad de la inferencia
en aplicaciones.
Inferencia es una deducción o conclusión a la que se
llega a partir de algo que se sabe que es cierto o falso. Los mecanismos de
inferencia se aplican sobre los hechos y las reglas en una base de datos
deductiva en particular, para lograr obtener más información a partir de
los datos explícitos de la base. En datalog no existen instrucciones de control,
Su ejecución se basa en dos conceptos: la unificación y
el backtracking.
En la unificación cada objetivo determina un subconjunto de cláusulas
susceptibles de ser ejecutadas. Cada una de ellas se denomina punto de elección.
Datalog selecciona el primer punto de elección y sigue ejecutando el programa
hasta determinar si el objetivo es verdadero o falso. En caso de ser falso
entra en juego el backtracking, que consiste en deshacer todo lo ejecutado
situando el programa en el mismo estado en el que estaba justo antes de llegar
al punto de elección. Entonces se toma el siguiente punto de elección que
estaba pendiente y se repite todo el proceso.
Funciones de los Mecanismos de Inferencia
- Determinación de las acciones que tendrán lugar, el orden en que lo harán y como lo harán entre las diferentes partes del sistema experto.
- Determinar cómo y cuándo se procesaran las reglas, y dado el caso también la elección de que reglas deberán procesarse.
- Control de dialogo con el usuario. La decisión sobre los mecanismos de procesamiento de reglas, es decir, qué estrategias de búsqueda se implementarán, es de vital importancia para la efectividad del sistema en su conjunto.
La inferencia en las aplicaciones nacen con
el afán de ofrecer una respuesta a las necesidades planteadas por los usuarios
y por las aplicaciones avanzadas, en donde se necesitan herramientas
semánticamente más ricas que las provistas por las bases de datos relacionales,
aparecen recientes aplicaciones de los sistemas de bases de datos que consiste
en ofrecer recursos para definir reglas deductivas y activas que permitan
deducir, inferir u obtener información nueva a partir de los datos almacenados o sucesos
condicionados. La finalidad de estas aplicaciones es incorporar a las bases de
datos relacionales los beneficios de la inferencia lógica como instrumento para
la formalización integrada de los aspectos estáticos y dinámicos del modelado
relacional de la base de dato en las aplicaciones.
El lenguaje datalog puro.
Es el lenguaje utilizado para la
manipulación de las bases de datos deductivas y es sintácticamente un
subconjunto del lenguaje Prolog. Hay dos
tipos de Datalog: con recursión y sin recursión. Datalog sin recursión tiene el
mismo poder expresivo que el álgebra relacional, mientras que datalog con recursión permite expresar
consultas que no se pueden satisfacer en SQL2.
Datalog es similar a prolog en su sintaxis, pero en su semántica
operacional es diferente. La interpretación de una colección de predicados
asigna cierto o falso a cada posible instancia de los predicados, donde los
argumentos se escogen de un conjunto infinito de constantes. La interpretación
se representa habitualmente por el conjunto de instancias verdaderas. Evalúa
las consultas mediante la evaluación de cada regla y cada regla es evaluada
examinando todos los hechos, ya sean hechos almacenados o hechos derivados, que
unifican cada predicado en el cuerpo de una regla. Si alguna colección de
hechos unifica con cada predicado en el cuerpo de una regla, se produce un
nuevo hecho que corresponderá al encabezado de la regla.
Reglas en datalog
Un átomo
es de la forma: p(t1,...,tn)
Donde p es un símbolo de
predicado y cada ti es una
variable o una constante. Un literal
es bien un átomo o un átomo negado. Una
regla o cláusula en tiene la forma:
cabeza ← cuerpo.
Donde cabeza es un átomo y cuerpo es una lista de literales que
puede ser vacía; en este caso se habla de un hecho. Los hechos se escriben:
cabeza.
que equivale a
escribir:
cabeza ← true.
El significado de una regla
P ← Q1, ..., Qn.
es: "Si Q1,
Q2, ... y Qn son ciertos, entonces P es cierto".
El
modelo de datos de Datalog
- No admite símbolos de función en los argumentos.
- El significado de los programas sigue el punto de vista de teoría de modelos.
- Una relación se representa por un predicado.
Ventajas de datalog
- Almacenamiento de pocos datos.
- Ofrecen reglas que permiten crear combinaciones de datos.
- Soportan objetos y conjuntos complejos.
- Ofrecen la capacidad de expresar consultas por medio de reglas lógicas.
- Permiten consultas recursivas y algoritmos eficientes para su evaluación.
- Cuentan con métodos de optimización que garantizan la traducción de especificaciones dentro de planes eficientes de acceso.
- Cuentan con negaciones estratificadas.
Inconvenientes de datalog
- Poder encontrar criterios de interpretación para las reglas deductivas. Es complicado poder encontrar buenos criterios de evaluación para las reglas lógicas por lo que es muy difícil sacar todo su potencial.
- Replantear correctamente, en un contexto deductivo, las convenciones habituales en una base de datos.
- Desarrollar procedimientos eficaces de deducción.
Facilidades de la negación
estratificada. Del modelaje conceptual al diseño de una base de datos
deductiva.
Contar con negación estratificada permite la capacidad
de modelado natural de objetos del mundo real, encapsulando su estructura y
comportamiento, que proporcionan los modelos orientados a objetos; la capacidad
de derivación de nuevos conocimiento a partir de datos existentes,
suministrando vínculos del mundo real en forma de reglas, que proporcionan los
modelos de datos deductivos; y además, la capacidad de almacenamiento
persistente que proporcionan los sistemas administradores de bases de datos
No hay comentarios:
Publicar un comentario