• No se han encontrado resultados

SE PF 1. Base de Datos Deductiva

N/A
N/A
Protected

Academic year: 2020

Share "SE PF 1. Base de Datos Deductiva"

Copied!
29
0
0

Texto completo

(1)

BASES DE DATOS

DEDUCTIVAS

(2)

INDICE

1.¿Que es una base de datos deductiva?

2.Lenguajes declarativos

3.Prolog/Datalog

4.Algunas BDD en el mundo real

5.Conclusiones

(3)

1.¿Que 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 hecho

almacenados en la base 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).

(4)

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 relacionadas con el modelo de datos relacional y en particular buscan cubrir algunos defectos que plantea el algebra relacional:

-como la ausencia de la recursion.

-como el desconocimiento de inconsistencia de datos.

(5)

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 estas reglas 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.

(6)

llegados a este punto podemos decir que:

A) las bases 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

(7)

Para compender las diferentes componentes que integran la BDD usaremos como ejemplo uno de los lenguajes

declarativos mas 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 interprete de PROLOG hace de

maquina de inferencia.

(8)

3.Prolog/Datalog

PROLOG, proveniente del francés Programation et Logique, es un lenguaje de declarativo bastante popular en el medio de investigació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.

(9)

Hechos: Son un conjunto de premisas que intentan inferir una cierta información de una representació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:

(10)

Relaciones unarias:

Juan y Jorge fuman => fumadores (Juan, Jorge)

Las relaciones binarias 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.

(11)

Bases De Datos Deductivas

a1 a2 a3 a4

b1 b2 b3 b4

c1 c2 c3 c4 c5

d1 d2 d3 d4

Relaciones y predicados: Ejemplo

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)}

(12)

Reglas: Las reglas consiste en el conjunto de restricciones o cualidades que exigimos a nuestra representación. Stas

reglas se representan mediante composiciones logicas.

ej: X esta enfermo implica ser fumador .

X esta enfermo implica que X es padre de Y e Y esta

enfermo

En PROLOG la simbolizacion logica se representa tal que:

a,b => a and b

not(a) => not a

a;b => a or b a:-b => a->b

(13)

Ademas PROLOG incorpora terminos para realizar comparaciones:

= , < , > , <= , >= , /= , == , /==

Predicados aritméticos:

+ , - , * , / , rem , X is <Exp. Aritm>

Ademas tambien puede trabajar con otras tipos de datos como:

string , listas , terminos complejos

(14)

De tal manera que las consultas antes realizadas quedarian de la forma:

enfermo(X):- fumador(X).

enfermo(X):- padre_de(X,Y), enfermo(Y).

cura(medicamento, enfermedad) :- síntomas(sintoma, enfermedad), alivia(medicamento, sintoma).

(15)

reglas recursivas: Una de las capacidades que tiene este lenguaje frente al relacional normal es la recursion.

Esta se expresa en la definición de las reglas.

Una regla seria recursiva si se llama a si misma.

ej:

ascendente(X,Y) :- progenitor(X,Y).

ascendente(X,Y) :- progenitor(X,Z), ascendente(Z,Y).

(16)

Ahora que tenemos los hecho iniciales y

las reglas (según la definición de estas)

podremos tener unos hechos derivados:

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)

(17)

Maquina de inferencia: Dentro de las maquinas de inferencia podemos distinguir dos mecanismos de inferencia:

• Encadenamiento hacia atrás (backward chaining). Inicia con la conclusión que se desea demostrar y procura

establecer la certeza de los hechos que conducen a ella.

• Encadenamiento hacia delante (forward chaining). Realiza comparaciones entre las reglas y los hechos disponibles de manera que se establezcan nuevos hechos hasta llegar al objetivo deseado.

(18)

Bases De Datos Deductivas

Hacia adelante

(19)

Ej: encadenamiento hacia atras

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

(20)

Bases De Datos Deductivas

(21)

Ej: encadenamiento hacia delante

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

(22)

Lo primero que haría es buscar las posibles soluciones que podrían dar; una vez las tiene solo tendría que coger las apropiadas cuando le efectuamos una consulta.

1)adinerado(romeo) 2)adinerado(bertoldo) 3)adinerado(bartolo)

Probar: ?- adinerado(X),noble(X).

En este caso las tres posibles soluciones seria apropiadas

(23)

Por ultimo cabe destacar que tendremos que tener cuidado con la recursion ( ver las relaciones entre los elementos) ya que podríamos meternos en procesos que nunca terminan.

PROLOG usa encadenamiento hacia atrás en su maquina de inferencia

(24)

Consultas: por ultimo vamos a ver como se realizan las

consultas y los problemas que podriamos tener al hacerlas. Las consultas se simbolizan con un signo ? Al final y nos las

podemos encontrar de dos tipos:

1- consultamos un predicado donde ponemos todos los datos son constantes ,con lo que el sistema nos

devolverá una respuesta booleana

Superior(jaime,pedro)? ;

resp=>true o false.

(25)

2. Consultamos un predicado donde alguna a todas las

datos del predicado son variables, en las que la repuesta será una lista de los hechos que lo cumplirían.

Superior(jaime,Y)? ;

resp=> Superior(jaime,pedro); resp=> Superior(jaime,antonio); resp=> Superior(jaime,maria);

Un punto importante de las

(26)

4.Algunas BDD en el mundo real

Hoy en día nos podemos encontrar con diferentes proyectos de BDD, entre las que se pueden incluir:

El proyecto Aditi [Rama93] :comenzó en 1988 en la

universidad de Melbourne y ha dado como resultado una segunda versión (Aditi 2) que se inició en 1994 y la versión alfa está disponible desde abril de 2001.

Incorpora:

acceso concurrente

gestión de transacciones

paralelismo a varios niveles

resolución de predicados descendente.

(27)

El proyecto VALIDITY [FGLV95] [LMV95], que se inició en Bull Corporation de la mano de Jean-Marie Nicolas y

Laurent Vieille para desarrollar un sistema de bases de datos deductivas que integrase características de

orientación a objetos

El proyecto Logic Data Languaje (Lenguaje Lógico de dato: LDL) de Microelectronics and Computer Corporation (MCC) se inicio en 1984

Otras referencias que nos podemos encontrar son Coral y XSB

(28)

5.Conclusiones

1. las bases de datos deductivas son bases de datos a las que aplicamos la programación lógica.(aunque esta en una etapa experimental).

2. se crearon para intentar suplir las deficiencias de el algrebra relacional.

3. al utilizar la logica podemos otorgar a los datos una propiedades que nos permiten (al poder inferirse

informacion) realizar consultas mas precisas y realizar labores de mantenimiento en bases de datos muy

grandes.

(29)

4. al estar basado en el modelo relacional podemos transformar cualquier base de datos a una BDD

Referencias

Documento similar

dente: algunas decían que doña Leonor, &#34;con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

U-Ranking cuenta con la colaboración del Ministe- rio de Universidades, al permitirnos el acceso al Sistema Integrado de Información Universitaria (SIIU). El SIIU es

El valor agregado 6 del indicador por universidad se pre- senta en una escala de 0 (mínimo valor obtenido por una universidad del sistema en ese indicador) a 100 (correspondiente

El segundo paso es elegir la comunidad autónoma o comunidades que se contemplan como lugares en los que cursar los estudios. Para ello, el usuario debe marcar las elegidas

El segundo paso es elegir la comunidad autónoma o comunidades que se contemplan como lugares en los que cursar los estudios. Para ello, el usuario debe marcar las elegidas

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la