Bases de Datos Deductivas

Slides:



Advertisements
Presentaciones similares
Introducción al Teorema de Gödel Eduardo Alejandro Barrio UBA - CONICET 2do Cuatrimestre de 2009 Eduardo Alejandro Barrio UBA.
Advertisements

Introducción al Teorema de Gödel Eduardo Alejandro Barrio UBA - CONICET 2do Cuatrimestre de 2009 Eduardo Alejandro Barrio UBA.
Rocío Contreras Águila Primer Semestre 2010
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Investigación de Operaciones
Computación PROGRAMACIÓN.
ALGEBRA RELACIONAL Y CALCULO RELACIONAL CON REFERENCIA A BASE DE DATOS
Técnico en programación de Software
Sistemas de Razonamiento Lógico
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Lógica Ing. Alfonso Vicente, PMP
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
3. INTRODUCCIÓN A LA PROGRAMACIÓN
DESCRIPCION DEL PROBLEMA
UNIDAD II Modelo de Datos.
METODOLOGIA DE LA PROGRAMACION
Sindy Carolina Asprilla
Prolog PROgramming in LOGic
L. Enrique Sucar/Eduardo Morales
PROGRAMACIÓN LÓGICA.
Sistemas Evolutivos Introduccion.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
TRADUCTOR DE UN PROGRAMA
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Profesor: Julio Canales
EXPONENTES Y RADICALES
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
BASE DE DATOS I Clase # 1.
Lenguajes Formales de Consulta
CARACTERÍSTICAS DE LOS PROGRAMAS
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Prof. Leonid Tineo Departamento de Computación Universidad.
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Inteligencia artificial
 Fue en el año 1945 cuando el matemático Jhon Von Neumann, fascinado por las posibilidades del ENIAC, demostró que una computadora podía tener una estructura.
ESTRUCTURA DE DATOS ESD-243
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
COMPONENTES DE UN ALGORITMOS
Material de apoyo Unidad 4 Estructura de datos
I NVESTIGACIÓN DE MERCADOS “4.3 ETAPA DE EJECUCIÓN DE LA INVESTIGACIÓN DE MERCADOS ” Presenta: José Eduardo Torre Falcon.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Introducción a la programación
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Elementos básicos para el desarrollo de algoritmos
APLICACIÓN DE NUEVAS TECNOLOGÍAS EN LA CONSERVACIÓN Y ANÁLISIS DEL PATRIMONIO CULTURAL Pensar Relacionalmente: Bases de Datos Relacionales (una visión.
Elementos básicos para el desarrollo de algoritmos
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Ecuaciones Algebraicas
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 15/08/2006.
SITUACION PROBLEMICA UN TECNICO DE COMPUTACION Manuel cobra 15 soles por reparar cada computadora y por cada reparación adicional cobra 2 más que.
Metodología de la programación
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Operaciones Algebraicas
Presente un cuestionario con los aspectos mas importantes sobre los
2.1 DEFINICIONES CARACTERÍSTICAS Y SUPOSICIONES.
Tipos de Datos.
Abril CV11 MATEMÁTICAS DISCRETAS MARTES 20:30 – 22:00 MIERCOLES 17:00 – 19:00 JUEVES 16:30 – 17:30 M. en C. José del Carmen.
Programación de Computadores
Logaritmos.
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
BASES DE DATOS II Yahaira Mora Luis Fernando Peláez Maria Fernanda Pineda Monserrat Rodríguez Fernando Solano.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Principios lógicos Los “principios lógicos” constituyen las verdades primeras, “evidentes” por sí mismas, a partir de las cuales se construye todo el edificio.
Ing. Barros Rodriguez D. Ronald Introducción a la Programacón.
Transcripción de la presentación:

Bases de Datos Deductivas Administración de bases de datos Bases de datos deductivas (BDD)

INDICE 1.-Que es una base de datos deductiva 2.-Introducción a las bases de datos deductivas 3.-Prolog/datalog(notación prolog) 4.-Notaciones 5.-Cláusulas de Horn 6.-Interpretación de las reglas 7.-Mecanismos de inferencia(ascendente y descendente) 8.-Programas en Datalog y su evaluación 9.- Álgebra relacional y Prolog/Datalog 9.-Sistemas LDL 11.-Conclusión Bases de datos deductivas (BDD)

1.-¿Que es una base de datos deductiva? Dados hechos o datos almacenados en una base de datos, ésta es deductiva, si es capaz de definir una serie de reglas a partir de las cuales deducir información adicional. Son también llamadas bases de datos lógicas dado que son capaces de reaccionar frente a “hechos” o “reglas” Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) 2.-INTRODUCCIÓN En una BDD (Base de datos deductiva) se utiliza un lenguaje declarativo para definir y especificar las reglas. Un lenguaje declarativo, se basa en que el programa especifica lo que se quiere realizar y no como lograrlo, de ello se encargara otro elemento.(“maquina de inferencia”) Como lenguajes declarativos destaca el Prolog junto con un subconjunto llamado Datalog. Maquina de inferencia; encargada de buscar los resultados a partir de las reglas y los hechos Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) Hechos Una BDD utiliza dos tipos de especificaciones, los hechos y las reglas Un Hecho se especifica de manera similar a como se hacían las relaciones o entidades; Hecho: Estudia(pedro,física) Este hecho representaría una tupla de dos elementos de la tabla Estudia. Si se crean mas hechos con el predicado Estudia, entrarían dentro de la tabla estudia.y es esto lo único que se guardaría en la base de datos Bases de datos deductivas (BDD)

3.-Prolog/Datalog Hechos Reglas Consultas: 1.-Supervisar(federico,josé). 2.-Supervisar(federico,ramon). 3.-Supervisar(federico,Josefa). 4.-supervisar(jazmín,alicia). 5.-supervisar(jazmín,ahmed). 6.-Supervisar(jaime,federico). 7.-Supervisar(jaime,jazmín). Reglas 8.-Superior(X,Y):-supervisar(X,Y). 9.-Superior(X,Y):-supervisar(X,Z),superior(Z,Y). 10.-Subordinado(X,Y):-superior(Y,X). Consultas: Superior(jaime,Y)? Superior(jaime,josefa)? Bases de datos deductivas (BDD)

Árbol de supervisión derivado de los hechos Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) 4.-Notaciones(1) Predicados. Los atributos pueden ser variables(mayúscula) o elementos con valor fijo(minúscula) El predicado supervisar se define por medio de dos atributos; Supervisar(federico,josé)  “federico supervisa josé” El resto de predicados se definen por medio de las reglas, tanto superior como subordinado. La característica principal de de estos lenguajes lógicos es la capacidad de definir reglas de forma recursiva, Notación de las reglas: cabeza (RHS right hand side) :- cuerpo(LHS) Bases de datos deductivas (BDD)

Notaciones(2) Superior(X,Y):-supervisar(X,Y). En las reglas, y en la parte del cuerpo o LHS, la separación de los predicados se realiza con comas, pero deberían verse como conjunciones, dado que su significado es que deben verificarse (valor de verdad) los predicados adyacentes para que se verifique la cabeza. RHS <= A AND B Superior(X,Y):-supervisar(X,Y). Superior(X,Y):-supervisar(X,Z),superior(Z,Y). Bases de datos deductivas (BDD)

Predicados integrados Prolog posee una serie de predicados integrados para realizar comparaciones, como pueden ser; =(A,B); <(A,B); >(A,B); <=(A,B); >=(A,B). Predicados aritméticos, suma, división, multiplicación. Datalog no posee estos predicados aritméticos, pero si extensiones q lo poseen. Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) Consultas Superior(jaime,Y)? ; Esta consulta pide los subordinados de jaime de cualquier nivel, sus subordinados directos y sus indirectos, entendiéndose como indirectos los que son subordinados de un subordinado de jaime. Y devuelve las tuplas con los valores constantes Superior(jaime,josefa)? Esta consulta devuelve un valor booleano, si jaime, es superior a josefa. Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) Notacion Datalog Datalog es utilizado para la realización de las reglas. La notación de Datalog es muy similar a la de Prolog, utilizando predicados. Los predicados integrados son de la forma: less, less_or_equal, greater, greater_or_equal. Un programa escrito en datalog se podría considerar como una serie de formulas del calculo de predicados . Se componen de una condición que con tiene predicados llamados átomos que están basados en los nombres de las relaciones Reglas para creación de estas formulas  Cláusulas de Horn Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) 5.-Clausulas de Horn B ^ C => Z Ó Z<= B ^ C Bases de datos deductivas (BDD)

6.-Interpretación de las reglas ¿Cómo interpretar las reglas de forma teórica? teoría de demostraciones: Los hechos se dan por ciertos, y las reglas sirven para deducir hechos nuevos.A los hechos se les denomina Axiomas base , y a las reglas axiomas deductivos. teoría de modelos: Dado un modelo finito o infinito de valores constantes, asignamos a un predicado todas las combinaciones posibles de valores como argumentos. Después deberemos determinar si el predicado es verdadero o falso. En general basta con especificar las que se hacen verdadero y decir que para el resto se hace falso. Bases de datos deductivas (BDD)

Teoria de demostraciones 1 superior(X,Y):-supervisar(X,Y). (regla 1) 2 superior(X,Y):-supervisar(X,Z),superior(Z,Y). (regla 2)   3 supervisar(jazmín,ahmed). (axioma base,dado) 4 supervisar(jaime,jazmín). (axioma base,dado) 5 superior(jazmín,ahmed). (aplicar 1 a 3) 6 superior(jaime,ahmed):-supervisar(jaime,jazmín),superior(jazmín,ahmed). (aplicar 2 a 4 y 5) Bases de datos deductivas (BDD)

La teoria de modelos Hechos derivados: Hechos derivados regla 9 Superior(federico,josé). Superior(federico,ramon). Superior(federico,Josefa), superior (jazmín,alicia), superior(jazmín,ahmed). Superior(jaime,federico). Superior(jaime,jazmín). Hechos derivados regla 9 Superior(jaime,jose) Superior(jaime,ramon) Superior(jaime,josefa) Superior(jaime,alicia) Superior(jaime,ahmed) Bases de datos deductivas (BDD)

Interpretación de las reglas(2) ¿Cómo se interpretan las reglas realmente? En los sistemas prácticos existe el mecanismo de inferencia,él es el que se encarga de la interpretación de las reglas y del calculo de las consultas. Es un mecanismo computacional. Prolog utiliza el mecanismo de inferencia descendente. Bases de datos deductivas (BDD)

7.-Mecanismos de inferencia Existen dos mecanismos de inferencia: Mecanismo de inferencia ascendente. También llamado encadenamiento hacia delante o resolución ascendente,cuando realizamos la consulta el mecanismo buscara los resultados línea a línea por las reglas, demostrara en primer lugar la cabecera y posteriormente el cuerpo Mecanismo de inferencia descendente. llamados encadenamiento hacia atrás, y resolución descendente. A diferencia del anterior demostrara de forma recursiva, en un primer momento el cuerpo para luego demostrar la cabecera. Bases de datos deductivas (BDD)

Mecanismos de inferencia descendente 1) rapta(X, Y) :- rufián(X), desea(X, Y).  2) desea(X,Y) :- noble(X), princesa(Y), guapa(Y). 3) desea(X,Y) :- plebeyo(X), princesa(Y).   4) rufián(bertoldo). 5) rufián(bartolo). 6) noble(romeo). 7) noble(bertoldo) 8) plebeyo(bartolo). 9) princesa(gertrudis). 10) princesa(julieta). 11) guapa(julieta). Bases de datos deductivas (BDD)

Consulta: ?-rapta(bartolo,Y) Bases de datos deductivas (BDD)

Mecanismo inferencia ascendente 1) rapta(X, Y) :- rufián(X), desea(X, Y).  2) desea(X,Y) :- noble(X), princesa(Y), guapa(Y). 3) desea(X,Y) :- plebeyo(X), princesa(Y). 4)adinerado(X):-noble(X). 5)adinerado(X):-rufian(X),plebeyo(X).   6) rufián(bertoldo). 7) rufián(bartolo). 8) noble(romeo). 9) noble(bertoldo) 10) plebeyo(bartolo). 11) princesa(gertrudis). 12) princesa(julieta). 13) guapa(julieta). Bases de datos deductivas (BDD)

Consulta: ?- adinerado(X) 1)adinerado(romeo) 2)adinerado(bertoldo) 3)adinerado(bartolo) Tras encontrar los hechos derivados buscara los resultados propios para la consulta, en este caso todos los hechos derivados lo son. Probar: ?- adinerado(X),noble(X). Bases de datos deductivas (BDD)

8.-Programas Datalog/prolog y su evaluación Es posible la creación de programas inseguros, por ejemplo relizando una consulta cuyo resultado sea infinito Programas como estos se pueden reparar reajustando las formulas(reglas o consultas), y añadiendo algún tipo de tope Reglas a cumplir por atributos que aparecen en los predicados de las reglas para ser variable limitada: aparece en un predicado normal (no integrado) en el cuerpo de la regla. aparecen en formas como las siguientes, donde X es la variable y c*los valores constantes: X=c o c=X o (C1 <=X and X<= C2) aparece en un predicado de la forma X=Y o Y=X en el cuerpo de la regla, donde Y es una variable limitada. Bases de datos deductivas (BDD)

9.-Algebra relacional y Prolog/Datalog Las formulas del álgebra relacional es posible verlas como reglas de prolog y datalog. Ejemplo: rel_uno(A,B,C). rel_dos(D,E,F). seleccionar_uno_A_igual_c(X,Y,Z):-rel_uno(c,Y,Z). seleccionar_uno_B_menor_5(X,Y,Z):- rel_uno(X,Y,Z),Y<5. Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) 10.-Sistemas LDL. El proyecto Logic Data Languaje (Lenguaje Lógico de dato: LDL) de Microelectronics and Computer Corporation (MCC) se inicio en 1984 con dos objetivos primarios: -Crear un sistema que extendiera el modelo relacional y a la vez que aprovechara algunas de las características positivas de un SGBDR. -Mejorar la funcionalidad de un SGBD de modo que operara como un SGBD deductivo y además permitiera la creación de aplicaciones de propósito general. Ahora el sistema resultante es un SGBD deductivo que se encuentra en el mercado. Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) Sistemas LDL(2) Aplicaciones de LDL Modelado de empresas: implica modelar la estructura, los procesos y las restricciones dentro de una empresa. Los datos relacionados con ella pueden resultar en modelo ER extendido que contiene cientos de entidades y vinculos y miles de atributos. Prueba de hipótesis o dragado de datos: Formular una hipótesis, traducirla a un conjunto de reglas LDL y una consulta y luego ejecutar la consulta contra los datos para probar la hipótesis. Esto se ha aplicado al análisis de datos de genoma en el campo de la microbiología. El dragado de datos consiste en identificar las secuencias de DNA a partir de autoradiografías digitalizadas de bajo nivel obtenidas de experimentos con bacterias E.coli. Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) Sistemas LDL(3) Reutilización del software: Una pequeña fracción de una aplicación se basa en reglas y se codifica en LDL.Por ejemplo, en cada modulo en C empleado en un programa se pueden definir un conjunto de reglas que definen las formas en que los módulos pueden exportar/importar funciones. Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) 11.-Conclusiones Creación de prototipos de Bases de datos Posiblidad de creación de bases de datos de mas tamaño Posibilidad de portar cualquier base de datos relacional a BDD Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) 12.-GNU prolog pauillac.inria.fr/~diaz/gnu-prolog/ Instalación linux, windows. Utilización: Crear fichero de hechos y reglas Ejecutar gprolog Consult(‘ficheroBDD.pl’). Consultas Halt. Bases de datos deductivas (BDD)

Bases de datos deductivas (BDD) 13.-Bibliografia -Sistemas de bases de datos, conceptos fundamentales. ELMASRI/NAVATHE -http://www.lsi.upc.es/~rigau/ Ejemplo mecanismos inmersión. -http://www.google.com Información general http://pauillac.inria.fr/~diaz/gnu-prolog/ Página donde lograr el gprolog Bases de datos deductivas (BDD)