Banco de Dados de Restri - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Banco de Dados de Restri

Description:

Banco de Dados de Restri es, Multim dia e GIS Jairo Coutinho (jco) CIn-UFPE Programa o por restri es: defini o e origens Paradigma criado para problemas ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 29
Provided by: Departamen197
Category:

less

Transcript and Presenter's Notes

Title: Banco de Dados de Restri


1
Banco de Dados de Restrições, Multimídia e GIS
  • Jairo Coutinho (jco)
  • CIn-UFPE

2
Programação por restrições definição e origens
  • Paradigma criado para problemas de busca difícil
  • incorpora técnicas de matemática, inteligência
    artificial e pesquisa operacional
  • permite rápido desenvolvimento de programas,
    economia de manutenção e eficiência
  • pioneiro Sketchpad system (1963, Sutherland),
    linguagem por restrições para interações gráficas
  • modelagem declarativa e garantia de satisfação
    eficiente
  • Algoritmo Lógica Controle
  • Restrições para programação multidirecional
  • Programação em Lógica por restrição

3
Programação por restrições definição e origens
  • Problemas de satisfação de restrições (CSP)
  • investigados em busca e IA desde muito tempo
  • jogos (ex, n-rainhas) e problemas benchmark (ex,
    coloração de mapa)
  • resolução de tais problemas recentemente
    incorporadas a linguagens de programação
  • Buscas inteligentes e flexíveis
  • permitir que o usuário final possa controlar a
    busca
  • combinando técnicas genéricas de busca cega
  • com heurísticas para problemas específicos

4
Programação por restrições exemplo, coloração
de mapa
Simulação passo a passo... A green B green
(falha c/ A) Bred Cgreen (falha c/ A) C
red Dgreen E green (falha c/ A) E red (falha
c/ B) E blue Fgreen (falha c/ D) Fred (falha
c/ C) F blue (falha c/ E) F backtracking E
backtracking Dred Egreen (falha c/ A) E red
(falha c/ B) E blue Fgreen
variáveis A,B,C,D,E,F domínio
DaDb...Dfgreen,red,blue restrições A ? B
A ? C A ? E B ? E B ? F C ? E C ? F D ? F
E ? F
B
A
C
E
D
F
5
Programação por restrições aplicações práticas
  • alocação de recursos, agendamento
  • planejamento financeiro, manutenção, localização,
    gerenciamento de investimento.
  • projeto e implementação de interface gráfica (ex,
    Object Technology International).
  • escalonamento baseado em restrições, com
    aplicação na indústria pesada (ex, NASA, forças
    armadas)
  • projeto e integração de circuitos digitais, e
    controle tempo real.
  • banco de dados e comércio eletrônico

6
Programação por restrições paradigmas,
linguagens e sistemas
  • Paradigmas
  • Imperativo x Restrições
  • Funcional
  • Lógico
  • OO
  • 3 paradigmas básicos imperativo, funcional,
    lógico
  • OO e Restrições são meta-paradigmas que podem ser
    implementados como camada acima de cada dos
    básicos
  • Constraint Logic Programming (CLP)
  • CLP(R), Prolog III, ECLiPSe, LIFE
  • Constraint Functional Programming
  • Oz
  • Constraint Imperative Programming
  • 2LP(C), CHIP(C)

7
Programação por restrições domínios e operadores
  • Domínios Finitos (FD)
  • Domínios ?, ?, strings, f(a, ...,b) com a,... b
    constantes simbólicas
  • Operadores , -, . /, lt, gt, lt, gt etc..
  • Conjuntos
  • Domínios ?(?), ?(?), ..., ?(f(a, ...,b) / a,
    ..., b ? ?, ?
  • Operadores inter, union, set-diff, etc
  • Intervalos
  • Domínios Implementa variáveis que variam
    sobre Inteiros e Reais. Baseados resolvedores
    aritméticos.
  • Reais (RIA - Real Number Interval Arithmetic)
  • Capaz de resolver problemas sobre os reais.
  • Funções Reais já implementados

8
Programação em lógica com restrições (CLP)
  • clausulas de Horn proposicionais
  • C ? P1 ? ... ? PN
  • em lógica de predicados, necessidade de tratar
    das variáveis
  • p(a) ? q(b,Z), r(Z)
  • ? p(X)
  • Unificação dois termos podem ser unificados se
    há valores na consulta que façam os termos
    iguais.
  • P(X) ? X a, Y b, q(Y,Z), r(Z)
  • Idéia da CLP
  • estender equações entre termos da PL
  • com inequações e outras restrições
  • ex, P(X) ? X gt 1, Y b, q(Y,Z), r(Z)

9
Programação em lógica com restrições
  • CLP admite somente clausulas de Horn
  • Programas CLP podem ser explicitamente escritos,
    exceto que no lugar de equações existem
    restrições mais gerais
  • CLP(X) com sua semântica define domínio de
    restrições
  • Resolvedor é necessário para garantir a
    corretude e completude para o algoritmo CLP(X)

10
Exemplo de CLP dieta em ECLIPSE
  • Programa
  • dieta(A,M,D) - Igt0, Jgt0, Kgt0, IJK ? 10,
    entrada(A,I), principal(M,J), sobremesa(D,K).
  • principal(M,I) - carne(M,I).
  • principal(M,I) - peixe(M,I).
  • entrada(rabanete,1).
  • entrada(massa,6).
  • carne(filé,5)
  • carne(porco,7)
  • peixe(solha,2)
  • peixe(atum,4)
  • sobremesa(fruta,2)
  • sobremesa(sorvete,6)
  • Resolução
  • _at_dieta(X,Y,Z)
  • XA, YM, ZD , IJK ? 10 ,Igt0, Jgt0, Kgt0 _at_
    entrada(A,I), principal(M,J), sobremesa(D,K)
  • Xrabanete, YM, ZD , 1JK ? 10 , Jgt0, Kgt0 _at_
    principal(M,J), sobremesa(D,K)
  • Xrabanete, YM, ZD , 1JK ? 10 , Jgt0, Kgt0 _at_
    carne(M,J), sobremesa(D,K)
  • Xrabanete, Yfilé, ZD, 15K ? 10 Kgt0 _at_
    sobremesa(D,K)
  • Xrabanete, Yfilé, Zfruta_at_

11
BD de restrições motivação e agenda
  • Banco de dados
  • Persistência
  • Otimização de acesso a memória segundaria
  • Acesso concorrente
  • Recuperação
  • Linguagem de manipulação
  • Visões e dados derivados
  • Restrições de integridades
  • Manipulação dinâmica de esquema
  • Utilitários administrativos
  • Programação por restrição
  • Alta declaratividade com equações e inequações
    entre variáveis lógicas
  • Dedução em lógica da 1a ordem
  • Completude computacional
  • Resolução de restrições eficiente em domínios
    predefinidos
  • Codificação direta e bem fundamentada das
    restrições de integridade
  • Fornece modelos de dados relacional e dedutivo
    como casos particulares

BD de restições
12
Tupla generalizada visão dos BD relacionais no
paradigma de programação por restrições
  • Idéia de BD de restrições ver uma tupla como
    conjunto de restrições sobre um dado domínio de
    restrições
  • Tupla generalizada tupla anotada com restrições
    entre valores dos seus elementos pj(X1, ... ,
    Xk) C
  • Ex, tupla pessoa simples
  • Em relacional (Bruce,Willis,GroupLeader,01/
    05/90)
  • Como restrições (FN,LN,Pos,Date) FNBruce ?
    LNWillis ?

  • PosGroupLeader ? Date01/05/90
  • Generalizada com inequação (FN,LN,Pos,Date)
    FNBruce ?
  • LNWillis ? PosGroupLeader ?
  • 01/01/95 ? Date ? Date ? 01/05/90
  • Numero finito de tuplas generalizadas podem
    representar infinidade de tuplas relacionais

13
Agentes, armazém e resolvedores de restrições
  • Armazém
  • aplica informação parcial sobre uma variável,
    expressa como uma restrição da mesma
  • um modelo que trate das restrições primitivas de
    um domínio
  • aproximação da uma solução intermediária da
    consulta corrente
  • Resolvedor (computação global centralizada)
  • verifica automaticamente a consistência de cada
    nova primitiva passada com as existentes no
    armazém
  • Agentes (computação local distribuída)
  • daemons tratando de um conjunto dado variáveis
  • disparados por alteração da faixa de uma dessas
    no armazém
  • propagada efeito dessa alteração nas suas outras
    variáveis
  • manda novas faixas para a armazém e suspende-se
  • o estado corrente da computação distribuído entre
    armazém e agentes

14
Exemplo de resolução de restrições por meio de
agentes, armazém e resolvedores
  • Quatro agentes trabalhando no problema
  • 3 ? X, X ? 1, X ? Y, Y? X
  • A1 aplica 3 ? X, A2 aplica X ? 1, A3 aplica X ?
    Y, A4 aplica Y? X

15
Arquiteturas de BD de restrições
  • Acoplamento fraco
  • idéia armazenar restrições persistentemente num
    BD relacional
  • reaproveita serviços de BD como indexação e
    otimização de acesso a memória secundária e de
    gerenciamento de transações
  • desenvolvimento rápido
  • overhead de conversão de restrição para relação
  • ineficiência e perda de significado
  • Acoplamento forte
  • idéia tornar restrições persistentes
  • sem perda de significado, nem overhead de
    conversão
  • reimplementação no novo paradigma de todos os
    serviços de BD
  • desenvolvimento custoso
  • conceitualmente bem fundamentada
  • ? escalabilidade, extensibilidade, etc.

16
BD de restrições sistemas implementados
  • ECLIPSE/MegaLog
  • ECLiPSe linguagem de programação em lógica por
    restrições implementando CLP(R), CLP(FD),
    CLP(Intervalos), CLP(Conjuntos), CLP(Estruturais)
  • Megalog pode armazenar variáveis de restrição e
    suporta indexação multidimensional
  • Falta uma linguagem de consulta de restrições
    integrada, indexação e otimização
  • DISCO
  • implementadas intervalos ordenados de inteiros e
    conjuntos ordenados
  • linguagem de consulta baseada na lógica e
    não-procedimental
  • usuários pode representar entradas na base usando
    restrições
  • incorpora vários métodos de otimização

17
BD de restrições sistemas implementados
  • C3
  • modelo de dados e linguagem de consulta LiriC
  • baseada no paradigma de OO
  • incorpora restrições para a descrição de
    informações espaço-temporal em BD de restrições
  • trata cada objeto de restrição separadamente
  • expressividade e eficiência

18
BD de restrições limitações do estado da arte
  • Técnicas de otimização ainda não madura para
    grande massas de dados
  • Abordagem de restrições puras ainda não fornecem
    todas os serviços de BD (segurança, transações
    etc.)
  • Pouca integração com sintaxe e formalismos de
    massa
  • Paradigma de programação por restrições pouco
    divulgado e ensinado
  • Falta de um padrão
  • Porém
  • conceitualmente muito elegante, expressivo,
    versátil e otimizável e então promissor
  • já usada para BD temporais, espaciais, multimídia
    e distribuídas heterogêneas

19
BD multimídia definição e questões
  • Novos tipos de dados
  • imagens, gráficos, texto, áudio, discurso, vídeo,
    mídia gerada
  • Dificuldades de tratar desses separadamente
  • não suportados como built-in por linguagens de
    programação de propósito gerais ou por linguagens
    de consulta de BD
  • produção, manipulação e apresentação requer
    dispositivos e ferramentas especiais
  • tamanho (de MB a TB no mínimo)
  • estrutura e semântica interna complexa
  • novas linguagens de consultas expressivas
  • consultas aproximativas (reconhecimento de
    padrão)
  • dependência do tempo (ex, áudio)
  • Inter-relacionamento entre
  • informações representadas por diferentes mídias
    (ex, legenda de uma imagem, imagem de texto
    escaneado)
  • sincronização de dados em várias mídias temporais
    (ex, animações, vídeo)

20
BD multimídia definição e questões
  • Armazenamento de informações
  • referências externas
  • campos longos
  • uso de funções externas
  • sistemas extensíveis e orientados a objetos
  • Modelagem dos dados multimídia
  • diferentes técnicas de compressão (áudio e vídeo)
  • Recuperação de informação
  • trechos específicos, composição de novas mídias
  • metaconhecimento
  • Arquitetura
  • protocolo de transporte

21
BD espaciais e GIS definição e questões
  • Armazenamento compacto de grande massas de dados
    espaciais (representações baseadas em pontos não
    viáveis para muitas aplicações)
  • Raciocínio geométrico sofisticado e eficiente
  • ex, interseção, opacidade, navegação, alocação de
    espaço., etc.
  • Ontologia espacial
  • Indexação multidimensional dos objetos
    geométricos
  • Linguagem de consulta especializada

22
BD espaciais e GIS abordagens
  • Abordagens principais
  • BDOO retângulos, polígonos e objetos espaciais
    mais complexos são naturalmente representados
  • BD de restrições
  • representação conjunto de pontos e polígonos de
    modo natural.
  • permite a avaliação de predicados consulta
    espacial como interseção e distância.
  • Otimização de técnicas de indexação
    multidimencional

23
BD espaço temporal definição e questões
  • Ausência de uma padrão
  • proliferação de diferentes
  • modelos lógicos e físicos de dados
  • linguagens de consulta
  • variedade das necessidades das aplicações
    dificulta padronização
  • necessidade de interoperabilidade
  • BD de restrições
  • muitos modelos espaciais, temporais e espaço
    temporais são casos particulares do modelo
    abstrato das tuplas generalizadas
  • Linguagens de restrições excelente candidata como
    língua franca para interoperabilidade entre
    diferentes bancos espaciais, temporais e
    espaço-temporal

24
Integração de dados e interoperabilidade em BD
distribuídos
  • BD de restrições generaliza
  • BD relacionais
  • BD dedutivas
  • BD espaciais
  • BD temporais
  • Fornece serviços e capacidade de modelagem
    ortogonal às fornecidas pelos BDOO
  • BDOO de restrições excelente candidato para
    tornar-se padrão universal de interoperabilidade
    entre aplicações avançadas
  • Porém, não sub-estima SQL2999 ! )

25
Exemplo interoperabilidade via restriçõesBD
Temporal
  • Relação dos pesquisadores
  • Representando como tupla generalizada
  • reseacher(name,comp,t) - nameAnderson, comp
    ATT,
  • 1980?t, t ?1993
  • reseacher(name,comp,t) - nameBrown, comp
    IBM,
  • 1985?t, t ?1996
  • reseacher(name,comp,t) - nameClark, comp
    ATT,
  • 1990?t, t ?1991

26
Exemplo interoperabilidade via restriçõesBD
Espacial
Representação em tupla generalizada
object(p1,x,y) - x10, y4 object(l1,x,y) -
5?x, x?9, y -x15 object(l1,x,y) - x9, 3?y,
y?6 object(t1,x,y) - 2?x, x?6, 3?y, y?7, y ?
-x9 object(r1,x,y) - 1?x, x?11.5, 2?y?11
object(p2,x,y) - x?3, y?5, y?x-1, y?x5, y ?
-x13
r1
l1
p2
11 10 9 8 7 6 5 4 3
2 1
p1
t1
1 2 3 4 5 6 7 8 9
10 11 12
27
Exemplo interoperabilidade via restriçõesBD
Espaço-Temporal
Representação em tupla generalizada
object(p1,x,y) - x10, y4,
1980?t, t?1996 object(l1,x,y) - 5?x, x?9, y
-x15, 1995?t, t?1996
object(l1,x,y) - x9, 3?y, y?6,
1995?t, t?1996 object(t1,x,y) - 2?x, x?6, 3?y,
y?7, y ? -x9, 1975?t, t?1990
object(r1,x,y) - 1?x, x?11.5, 2?y?11,
1994?t, t?1996 object(p2,x,y) - x?3, y?5,
y?x-1, y?x5, y ? -x13,
1991?t, t?1996
1994-1996
r1
1995-1996 l1
p2 1991-1996
11 10 9 8 7 6 5 4 3
2 1
t1 1975-1990
p1 1980-1986
1 2 3 4 5 6 7 8 9
10 11 12
28
BD de restrições conclusão
  • Estende BD relacionais e dedutivas
  • Permite implementar elegantemente BD espaciais,
    temporais, multimídia e interoperabilidade em BD
    distribuídas heterogêneas
  • Resolve impedance-mismatch (já que programação
    por restrições é computacionalmente completa)
  • Reaproveita de técnicas de IA (busca heurística),
    pesquisa operacional e matemática para conseguir
    eficiência
  • Vasto leque de aplicações práticas e industriais
  • Apenas na fase inicial em termos de
  • Implementação de SGBD
  • Divulgação e ensino do formalismo
  • Padronização
Write a Comment
User Comments (0)
About PowerShow.com