Base de datos deductivas

Get Started. It's Free
or sign up with your email address
Base de datos deductivas by Mind Map: Base de datos deductivas

1. Contribución principal

1.1. Capacidad de especificar reglas recursivas y proporcionar un marco de referencia

2. Forma clausal

2.1. Todas las variables están cuantificadas universalmente

2.2. La fórmula se componer de varias cláusulas y cada cláusula de literales

3. Cláusulas de Horn

3.1. Las reglas se expresan como una forma restringida de cláusulas

3.2. Puede contener como máximo una literal positiva

3.3. Forma

3.3.1. not(P1) OR not(P2) OR ... OR not(Pn) OR Q

3.3.1.1. Se escribe en Datalog como -> Q:- P1, P2, ..., Pn

3.3.1.1.1. Si todos los predicados son verdaderos para un determinado en lace con sus argumentos variables , Q también será verdadero y por lo tanto, podrá ser inferido.

4. Interpretación de reglas

4.1. Teoría de la demostración

4.1.1. Se considera los hechos y reglas como enunciados verdaderos, o axiomas

4.1.1.1. Los axioma base no contienen variables Los hechos son axiomas base que se dan por ciertos. Axiomas deductivos, sirven para deducir hechos nuevos

4.1.1.1.1. Con los axiomas deductivos se puede construir demostraciones que deriven hechos nuevos a partir de los existentes.

4.2. Teoría de modelos

4.2.1. Dado un dominio finito o infinito de valores constantes, se asigna a un predicado todas las combinaciones posibles de valores como argumentos. Después se determina si el predicado es verdadero o falso

5. Mecanismos de inferencia básicos para programas lógicos

5.1. Ascendente

5.1.1. El motor de inferencia parte de los hechos y aplica las reglas para generar nuevos hechos

5.1.1.1. Estos, se comparan con el predicado que es el objetivo de la consulta para ver si coinciden

5.2. Descendente

5.2.1. Éste parte del predicado que es el objetivo de la consulta e intenta encontrar coincidencias con las variables que conduzcan a hechos válidos de la base de datos

5.2.1.1. Indica que la inferencia retrocede desde el objetivo buscado para determinar hechos que los satisdarían

5.2.1.1.1. Amplitud

5.2.1.1.2. Profundidad

6. Seguridad

6.1. Un programa o regla es seguro si genera un conjunto finito de hechos

7. Evaluación de consultas no recursivas en consultas Datalog

7.1. Cuando en una consulta intervienen predicado definidos por reglas, el mecanismo de inferencia debe calcular el resultado según las definiciones de las reglas

7.1.1. Resulta útil seguir la pista a la dependencia entre los predicados de una base de datos deductiva en un grafo de dependencia de predicados

7.1.1.1. Si el grafo de dependencia no tiene ciclos, el conjunto de reglas es no recursivo

7.1.1.2. Si hay por lo menos un ciclo, se dice que el conjunto de reglas es recursivo

8. Conceptos de procesamiento de consultas recursivas en Datalog

8.1. Enfoque de evaluación pura

8.1.1. Crear un esquema de evaluación de consultas que dé respuestas a la consulta

8.2. Enfoque de reescritura de la regla

8.2.1. Optimizar el esquema en una estrategia más eficiente

8.3. Se han propuesto estrategias para evaluar un conjunto de reglas

8.3.1. Estrategia simple

8.3.1.1. Ascendente de evaluación que calcula el modelo menor de un programa Datalog

8.3.2. Estrategia semisimple

8.3.2.1. Ascendente diseñada para eliminar redundancia en la evaluación de tuplas de las diferentes iteraciones

8.3.3. Empleo de conjuntos mágicos

8.3.3.1. Intenta resolver una consulta que no solicita toda la relación que corresponde a un predicado intensional

9. Negación estratificada

9.1. Un lenguaje de consulta de la base de datos deductiva puede ampliarse permitiendo literales negados en los cuerpos de las reglas de los programas

9.1.1. Se pierde una propiedad importante, el modelo mínimo

10. NAIL!

10.1. ¡No es una implementación de lógica más!

10.2. Estudiar la optimización de la lógica mediando el modelo de <todas las soluciones>, orientado a bases de datos

11. Capacidad de definir reglas

11.1. Deduce o infiere información adicional

12. Lenguaje declarativo

12.1. Lenguaje que define lo que un programa desea lograr

12.2. Motor de inferencia

12.2.1. Deduce hechos nuevos a partir de la base de datos interpretando dichas reglas

13. Datalog

13.1. Variante de Prolog

13.2. Para definir reglas declarativamente junto con un conjunto de relaciones existentes que se tratan como literales en el lenguaje

13.3. Proporciona predicado con nombres únicos

13.3.1. Un predicado tiene un significado implícito, sugerido por su nombre, y un número fijo de argumentos

13.4. Los programas se construyen a partir de objetos básicos llamados fórmulas atómicas.

13.4.1. Literales de la forma p{a1,a2,...,an]

13.4.1.1. p: nombre del predicado

13.4.1.2. a1,a2: argumentos constantes o variables

13.4.1.3. n: número de argumentos de un predicado. aridad o grado.

14. Hechos

14.1. Especifican de manera similar a como se especifican las relaciones

14.2. No es necesario incluir los nombres de los atributos

15. Reglas

15.1. Especifican relaciones virtuales que no están almacenadas realmente, pero que se pueden formar a partir de los hechos

15.2. cabeza:-cuerpo

15.2.1. un solo predicado (sí y sólo sí) premisas

16. Sistema CORAL

16.1. Provee un lenguaje declarativo basado en las cláusulas de Horn con una arquitectura abierta

16.2. Maneja varias anotaciones que sirven para elegir una semántica deseada o proporcionar sugerencias de optimización al sistema CORAL

16.3. Maneja una clase de programas con negación y agrupación que es estrictamente más grande que la clase de programas estrateficados

17. Orientadas a objetos

17.1. Visión

17.1.1. Ampliación del lenguaje

17.1.2. Integración del lenguaje

17.1.3. Reeconstrucción del lenguaje

17.2. Validity

17.2.1. Combina la capacidad deductiva con la habilidad de manipular objetos complejos

17.2.1.1. Proporciona los siguientes aspectos

17.2.1.1.1. Un modelo y lenguaje de datos, DEL

17.2.1.1.2. Un mecanismo que opera junto con el modelo cliente-servidor

17.2.1.1.3. Un conjunto de herramientas para la edición, validación y cosulta de esquemas y reglas

17.2.2. Aportaciones

17.2.2.1. Tiene como objetivo alcanzar la segmentación del desarrollo de la aplicación

17.2.3. Es una herramienta adecuada ala hora de aplicar los principios de ingeniería de software