Base de datos deductivas

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

1. Capacidad de definir reglas

1.1. Deduce o infiere información adicional

2. Lenguaje declarativo

2.1. Lenguaje que define lo que un programa desea lograr

2.2. Motor de inferencia

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

3. Datalog

3.1. Variante de Prolog

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

3.3. Proporciona predicado con nombres únicos

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

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

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

3.4.1.1. p: nombre del predicado

3.4.1.2. a1,a2: argumentos constantes o variables

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

4. Hechos

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

4.2. No es necesario incluir los nombres de los atributos

5. Reglas

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

5.2. cabeza:-cuerpo

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

6. Contribución principal

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

7. Forma clausal

7.1. Todas las variables están cuantificadas universalmente

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

8. Cláusulas de Horn

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

8.2. Puede contener como máximo una literal positiva

8.3. Forma

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

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

8.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.

9. Interpretación de reglas

9.1. Teoría de la demostración

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

9.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

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

9.2. Teoría de modelos

9.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

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

10.1. Ascendente

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

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

10.2. Descendente

10.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

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

10.2.1.1.1. Amplitud

10.2.1.1.2. Profundidad

11. Seguridad

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

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

12.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

12.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

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

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

13. Conceptos de procesamiento de consultas recursivas en Datalog

13.1. Enfoque de evaluación pura

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

13.2. Enfoque de reescritura de la regla

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

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

13.3.1. Estrategia simple

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

13.3.2. Estrategia semisimple

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

13.3.3. Empleo de conjuntos mágicos

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

14. Negación estratificada

14.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

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

15. NAIL!

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

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

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