bases
INDICE
1. ¿Qué es una base de datos deductiva?
2. Lenguajes declarativos
3. Prolog/Datalog
4. Algunas BDD en el mundo real
5. Conclusiones
1. ¿Qué es una base de datos deductiva?
Una base de datos deductiva es un sistema que incluye mecanismos para definir reglas (deductivas) que pueden inferir o deducir información adicional de los hechos almacenados en labase de datos.
Las reglas se especifican en un lenguaje declarativo; y estas son analizadas por un motor de inferencia (el mecanismo que realiza la deducción).
Estas reglas deductivas se deben inferir acordes a las características de los datos que integran la propia base de datos.
Las BDD consisten en aplicar la programación lógica a las bases de datos.
Las BDD están estrechamente relacionadascon el modelo de datos relacional y en particular buscan cubrir algunos defectos que plantea el álgebra relacional:
-como la ausencia de la recursión.
-como el desconocimiento de inconsistencia de datos.
2. Lenguajes declarativos
Es un lenguaje basado en la especificación de reglas o premisas, con las que se pretende buscar representaciones del conocimiento humano.
A raíz de estasreglas y una serie de hechos (iniciales o adquiridos a lo largo del tiempo) Una máquina de inferencia (o mecanismo de deducción) deduce nuevos hechos.
O sea la función de una Maquina De Inferencia es encontrar soluciones a partir de la interpretación de una serie de reglas (determinadas por un lenguaje declarativo) y un conjunto de hechos.
Llegados a este punto podemos decir que:
A) lasbases de datos deductivas usan:
Un lenguaje declarativo para especificar reglas.
Un motor de inferencia que puede deducir hechos nuevos a partir de la base de datos.
B) Utilizan dos tipos de especificaciones:
Hechos
Reglas. Especifican relaciones virtuales que no están almacenadas.
Para comprender las diferentes componentes que integran la BDD usaremos como ejemplo uno de los lenguajesdeclarativos más usados PROLOG.
Las Bases de Datos Deductivas basados en lógica han utilizado PROLOG como punto de partida
Para especificar las reglas y hechos usamos las cláusulas de que ofrece PROLOG; y el intérprete de PROLOG hace de máquina de inferencia.
3.Prolog/Datalog
PROLOG, proveniente del francés Programation et Logique, es un lenguaje de declarativo bastante popular en el medio deinvestigación en Inteligencia artificial.
Se trata de un lenguaje ideado a principios de los años 70 en la universidad de Aix-Marseille por los profesores Alain Colmerauer y Phillipe Roussel.
En principio se ideo como un lenguaje interpretado, aunque con el trascurso de los años se desarrollaron compiladores.
Hechos: Son un conjunto de premisas que intentan inferir una cierta información de unarepresentación del mundo real.
ej: Juan, Jorge y Manolo son fumadores.
los loros son mas habladores que las palomas.
Desde un punto de vista de PROLOG, para representar hechos tenemos primero que definir los atributos.
Estos pueden ser variables o constantes.
De tal manera que representaríamos:
Relaciones unarias:
Juan y Jorge fuman => fumadores (Juan, Jorge)
Las relacionesbinarias o predicados relacionan unos elementos con otros:
Pablo es padre de Juan=> padre (Pablo, Juan)
Gracias a estas estructuras de predicados tendríamos elementos relacionados.
Con la especificación de atributos y predicados tendremos
Un árbol relacional entre elementos donde podremos ver relaciones directas pero también indirectas.
Relaciones unarias:Fumador = {b3, b4, d2}; enfermo = {b3, b4, c3, c4, c5, d2, d3, d4};
Barbudo = {a3, b3, b4, c1, c2, c4, d1, d2}
Relación binaria:
padre de = {(a1,b1), (a1,b2), (a2,b1), (a2,b2), (a3,b3), (a3,b4), (a4,b3), (a4,b4), b1,c1), (b1,c2), (b2,c3), (b3,c3), (b4,c4), (b4,c5), (c1,d1), (c2,d1),(c2,d2), (c4,d2), (c4,d3), (c5,d4)}
Reglas: Las reglas consisten en el conjunto de restricciones o cualidades...
Regístrate para leer el documento completo.