miércoles, 29 de julio de 2015

Bases de datos deductivas.

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