• Nenhum resultado encontrado

Eduardo J Marcondes Marcelo Brischke

N/A
N/A
Protected

Academic year: 2021

Share "Eduardo J Marcondes Marcelo Brischke"

Copied!
32
0
0

Texto

(1)

Banco de Dados Dedutivos

Eduardo J Marcondes

Marcelo Brischke

(2)

Banco de Dados Dedutivos

• Área de intersecção entre banco de dados,

lógica e inteligência artificial.

• Capacidade de definir (deduzir) regras a

partir de fatos armazenados em sua base de

dados.

(3)

BD Dedutivo X BD inteligente

• Inteligentes

– Geralmente assumem que os dados requeridos estão na memória principal.

– Os dados geralmente são extraídos por aplicações inteligentes.

• Dedutivos

– Preparados para trabalhar com memória secundária.

(4)

BDs Dedutivos

• Linguagem Declarativa;

• Mecanismo de inferência;

• Regras e fatos;

• Prolog e Datalog;

(5)

Notação Prolog / Datalog

• Baseada em predicados com argumentos;

(6)

Exemplo

• Facts • supervise(franklin,john). • supervise(franklin,ramesh). • supervise(franklin,joyce). • supervise(franklin,alicia). • supervise(jennifer,ahmad). • supervise(jennifer,franklin). • supervise(jennifer,jennifer). • ... • Rules • superior(X,Y):-supervise(X,Y). • superior(X,Y):-supervise(X,Y),superior(Z,Y). • subordinate(X,Y):-superior(Y,X). • Queries • superior(james,Y)? • superior(james,joyce)? james franklin jennifer

(7)

Regra

• superior(X,Y):-supervise

(X,Z),superior(Z,Y)

(8)

Notação Datalog

• atomic formulas;

• literais da forma p(a1,a2,a3,...,an);

• Aridade;

• Predicados embutidos:

– Predicados de comparação binária:

• <(less), <=(less_or_equal), >(greater), >= (greater_or_equal) ;

– Predicados de comparação:

(9)

Interpretação de Regras

• Prova - teórica;

• Modelo-teórico;

(10)

Prova - teórica

1. superior(x,y):- supervise(x,y) (regra 1)

2. superior(x,y):- supervise(x,z),superior(z,y) (regra 2)

3. supervise (Jennifer,ahmad) (axioma fundamental)

4. supervise(james,jennifer) (axioma fundamental)

5. superior(jennifer,ahmad) (aplicando a regra 1 em 3)

(11)

Modelo - teórico

Regras: – Superior(x,y):-supervise(x,y) – Superior(x,y):-supervise(x,z),superior(z,y) • Interpretação:Fatos Conhecidos: – Supervise(franklin,john) é verdadeiro – Supervise(franklin,ramesh) é verdadeiro – Supervise(franklin,joyce) é verdadeiro – Supervise(jennifer,alicia) é verdadeiro – Supervise(jennifer,ahmad) é verdadeiro – Supervise(james,franklin) é verdadeiro – Supervise(james,jennifer) é verdadeiro

– Supervise(x,y) é falso para todas as outras possíveis combinações (x,y)

Fatos Derivados: – Superior(franklin,john) é verdadeiro – Superior(franklin,ramesh) é verdadeiro – Superior(franklin,joyce) é verdadeiro – Superior(jennifer,alicia) é verdadeiro – Superior(jennifer,ahmad) é verdadeiro – Superior(james,franklin) é verdadeiro – Superior(james,jennifer) é verdadeiro – Superior(james,john) é verdadeiro – Superior(james,ramesh) é verdadeiro – Superior(james,joyce) é verdadeiro – Superior(james,alicia) é verdadeiro – Superior(james,ahmad) é verdadeiro

(12)

Mecanismos de Inferência

Básicos para programas lógicos

• Button – up (forward chaining)

– O motor de inferência inicia com os fatos e aplica as regras para gerar novos fatos.

• Top – Down (backward chaining)

– Inicia com o objetivo do predicado da query e

busca os fatos coincidentes com as variáveis no banco de dados.

(13)

Programas Datalog e suas

avaliações

• Fato-definidos (ou relações);

• Regras-definidas (ou visões).

(14)

Segurança dos programas

• Um programa ou uma regra é seguro se gerar

um grupo finito de fatos.

• Big_salary(Y) :- Y>60000

• Big_salary(Y) :- employee(X), salary(X,Y), Y>60000 • Big_salary(Y) :- Y>60000, employee(X), salary(X,Y)

(15)

Uso das Operações Relacionais

• Baseado no modelo relacional;

• Assume que os predicados( relações de

fatos e resultados de query) especificam

grupos de tuplas;

• O poder adicional está nas queries

recursivas e visões baseadas em queries

recursivas.

(16)

Avaliação de Queries

Não-Recursivas Datalog

• É realizada uma tradução da consulta Query

para uma expressão relacional.

(17)

Conceitos de Queries Recursivas

em Datalog

• Técnica da avaliação pura: Criando um

plano de avaliação de query para produzir a

resposta para a query.

• Técnica da regra reescrita: Otimiza o plano

para uma estratégia mais eficiente.

(18)

Conceitos de Queries Recursivas

em Datalog

• linearmente recursiva;

– Sg(X,Y) :-parent(X,XP), parent(Y,YP), sg(XP,YP)

• linearmente recursiva à direita.

• linearmente recursiva à esquerda.

– Direita: ancestor(X,Y):- parent(Z,Y), ancestor(X,Z) – Esquerda: ancestor(X,Y):- ancestor(X,Z),parent(Z,Y)

(19)

Conceitos de Queries Recursivas

em Datalog

• Estratégia ingênua

– É um método iterativo, onde para cada iteração todas as regras são aplicadas para todo o grupo de tuplas, gerando assim todas as implícitas

tuplas.

• Estratégia Semi-Ingênua

– Em cada iteração ao invés de gerar todas as possíveis tuplas, são geradas apenas as que ainda não existem.

(20)

Estratégia Maravilhosa

• Não usa a relação inteira correspondente ao

predicado intencional mas sim um pequeno

grupo desta relação.

• Ex.:

– sg(X,Y) :- flat(X,Y).

– sg(X,Y) :- up(X,U), sg(U,V), down(V,Y). Query: sg(jonh, Z)

(21)

Estratégia Maravilhosa

• top-down

– Não pesquisa caminhos irrelevantes. – Difícil de implementar (looping infinito)

• bottom-up

– Pesquisa caminhos irrelevantes.

• A estratégia maravilhosa une o melhor dos

dois métodos.

(22)

Técnica Maravilhosa

• A técnica foca o objetivo inerente ao método top-down sem os problemas de looping infinito, fácil término do teste e

avaliação eficiente do bottom-up.

Sg(X,Y) :- magic - sg(X,Y), flat(X,Y).

Sg(X,Y) :- magic- sg(X,Y), up(X,Y), sg(X,Y), down(X,Y). Magic-sg(U) :- magic-sg(X), up(X,U).

(23)

Negação Estratificada

• modelo mínimo

• Ex.:

– p(a) :- not p(b)

– tem dois mínimos modelos: {p(a)} e {p(b)}

• Um programa é estratificado se não houver

recursão junto com a negação.

(24)

Negação Estratificada

r1 : ancestor(X,Y) :- parent(X,Y).

r2 : ancestor(X,Y) :- parente(X,Z), ancestor(Z,Y).

(25)

Negação Estratificada

• Negação localmente estratificada:

– Um programa P é localmente estratificado se para um determinado banco de dados, quando forem substituídas suas variáveis em todos os possíveis caminhos, o resultado não contenha recursão junto com negação.

(26)

Sistemas de Banco de Dados

Dedutivos

• Sistema LDL

• NAIL!

(27)

O Sistema LDL

• Logic Data Language (LDL) é um projeto da Microelectronics and Computer Technolology

Corporation (MCC)

• Objetivos:

– Desenvolver um sistema que estende o modelo relacional mas explora algumas características do RDBMS;

– Aumentar a funcionalidade de um DBMS para que além de sua funcionalidade dedutiva ele suporte também

aplicações de propósito gerais.

• Tenta combinar a capacidade do Prolog com a funcionalidade dos DBMS de uso geral.

(28)

NAIL!

• NAIL! (Not Another Implementation of Logic!) é um projeto iniciado pela Universidade de Stanford em 1985 ;

• Objetivo inicial era o estudo de otimizações da lógica usada em sistemas orientados a banco de dados, para suportar otimizações de execução do Datalog sobre RDBMS;

• Em colaboração com o grupo MCC foi responsável por:

– Grupos maravilhosos;

– Primeiro trabalho em recursão regular;

– Lida com negação e agregação em regras lógicas;

(29)

Coral

• Desenvolvido pela Universidade de Wisconsin at Madison; • Baseado no LDL;

• Pode ser visto como uma linguagem de programação para banco de dados que combina importantes características de SQL e Prolog;

• Coral implementa um grande número de otimizações:

– Templates maravilhosos para queries recursivas; – Ativações de projeções;

– Ativações especiais para programas lineares; – Boa interface com C++;

– Extremamente extensível.

• Uma característica interessante é o pacote de extensão, que permite ao usuário examinar graficamente como um fato é gerado.

(30)

Aplicações de Banco de Dados

Dedutivos Comerciais

• Alguns exemplos de domínios de aplicações comerciais / industriais baseadas no banco de dados dedutivo LDL:

– Modelagem empresarial: sistema que modela estrutura, processos e restrições organizacionais que gera como resultado um modelo ER. Utilizado para o Design de novas aplicações.

– Teste de hipóteses e mineração de dados: este domínio envolve a formulação de hipóteses traduzidas em regras LDL. Esse sistema foi aplicado na análise de dados do genoma.

– Reuso de software: Obtém dados de códigos de módulos em C

usados em sistemas e utiliza regras que podem exportar e importar funções para reaproveitamento de software.

(31)

Referências Bibliográficas

• ELMASR, Ramez; NAVATHE, Shamkant B.;

1996. Fundamentals of Database Systems.

3. Ed. Reading : Addison Wesley.

• MELO, Rubens Nascimento; 1988. Bancos

de Dados não convencionais: a tecnologia

de BD e suas novas áreas de aplicação.

Campinas - SP : UNICAMP, IMEC.

(32)

Referências

Documentos relacionados

• Lista de argumentos tipados como uma função; • Resposta tipada declarada ou inferida;. • Captura de contexto no escopo onde foi declarado; • Modificar o contexto no escopo

É perceptível, desta forma, o constante aumento do aprofundamento dos personagens: os “príncipes” têm agora não só nome e falas, mas personalidades bem desenvolvidas,

O candidato poderá obter informações e orientações sobre o Simulado Virtual, tais como Editais, processo de inscrição, horário de prova, gabaritos, ranking e resultados

As vidas úteis e métodos de amortização de bens são revistos anualmente. O efeito de alguma alteração a estas estimativas será reconhecido prospectivamente

Para que o estudante de graduação conheça o repertório orquestral e desenvolva flexibilidade, é importante que os cursos de graduação incluam mais espaço para os

Com relação à germinação das sementes armazenadas em câmara fria, aos três meses de armazenamento (Tabela 10), observou-se em sementes tratadas ou não com fungicidas e

Ocorre que foi o fornecimento de outra tabela, associado ao interesse em observar o céu, de pelo menos usar a tabela, que fez o participante se interessar em saber interpretar o

Entre as situações de pressão de insuflagem dos pneus indicadas pelo fabricante do trator para trabalhos de campo e a pressão de insuflagem indicada pelo fabricante dos pneus não