TPref-SQL: uma linguagem de consultas para bancos de dados com suporte a preferências temporais



Documentos relacionados
TPref-SQL, uma linguagem de consultas para bancos de dados com suporte a preferências temporais

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS

Dadas a base e a altura de um triangulo, determinar sua área.

Feature-Driven Development

Arquitetura de Banco de Dados

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Geração de código intermediário. Novembro 2006

PLANOS DE CONTINGÊNCIAS

Metodologia de Gerenciamento de Projetos da Justiça Federal

Processamento e Otimização de Consultas

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Manual Geral do OASIS

Engenharia de Software III

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

4 Segmentação Algoritmo proposto

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Sistemas especialistas

Resolução de problemas e desenvolvimento de algoritmos

Noções de. Microsoft SQL Server. Microsoft SQL Server

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Organizaçãoe Recuperação de Informação GSI521. Prof. Rodrigo Sanches Miani FACOM/UFU

Planejando o aplicativo

Especificação do 3º Trabalho

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

IBM Managed Security Services for Agent Redeployment and Reactivation

ENGENHARIA DE SOFTWARE I

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

NOME SEXO CPF NASCIMENTO SALARIO

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

Tarefa Orientada 16 Vistas

Tarefa Orientada 14 Subconsultas

Organização e Arquitetura de Computadores I

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

Roteiro 3 Modelagem relacional

Processo de Controle das Reposições da loja

Faculdade Pitágoras 24/10/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

7.Conclusão e Trabalhos Futuros

Boas Práticas em Gerenciamento de Projetos Material utilizado nas aulas de Pós-graduação do Centro de Informática

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas.

Análise e projeto de sistemas PROF. REGILAN SILVA

1.6. Tratamento de Exceções

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

2 Diagrama de Caso de Uso

Processos de Desenvolvimento de Software

4 Implementação e Resultados Experimentais

Implantação. Prof. Eduardo H. S. Oliveira

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Curso superior de Tecnologia em Gastronomia

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Controle de Almoxarifado

Programa de Capacitação em Gestão do PPA Curso PPA: Elaboração e Gestão Ciclo Básico. Elaboração de Planos Gerenciais dos Programas do PPA

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

MODELO DE APRESENTAÇÃO DE PROJETO DE PESQUISA

Guia de qualidade de cores

ISO/IEC 12207: Gerência de Configuração

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Renata Alves Campos (CoInfo) Sandra Maria Peron de Lima (DP) Março/2012

F.1 Gerenciamento da integração do projeto

Prof. Daniela Barreiro Claro

Problemas de Satisfação de Restrições

Análise qualitativa do processo de workflow da ouvidoria do IFMG campus Bambuí: um estudo de caso

Tarefa Orientada 13 Agrupamento e sumário de dados

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

CPrefSQL-Tool: Uma Ferramenta Web para Consultas com Suporte a Contextos e Preferências do Usuário

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

Gerenciamento de Riscos do Projeto Eventos Adversos

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Sloan School of Management

Prof.: Clayton Maciel Costa

LINGUAGEM DE BANCO DE DADOS

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Estrutura do Trabalho: Fazer um resumo descrevendo o que será visto em cada capítulo do trabalho.

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Transcrição:

TPref-SQL: uma linguagem de consultas para bancos de dados com suporte a preferências temporais Autor: Marcos Roberto Ribeiro 1, Orientadora: Sandra Aparecida de Amo 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do Uberlândia (UFU) Uberlândia MG Brasil mribeiro@pos.facom.ufu.br, deamo@ufu.br Nível: Mestrado Ano de ingresso no programa: 2006 Época esperada de conclusão: Julho / 2008 Resumo. Em virtude do grande crescimento do volume de informação com a qual os usuários são confrontados, diversas pesquisas envolvendo formalismos permitindo especificar e deduzir preferências e linguagens de consultas para bancos de dados com suporte a preferências têm sido realizadas com o intuito de fornecer mecanismos para obter os melhores objetos (ou tuplas) atendendo certas preferências ou estabelecer uma relação de ordem de preferência sobre um conjunto de objetos. Porém as linguagens de consultas com suporte a preferências tratam apenas de preferências sobre objetos individuais. O objetivo deste trabalho é especificar a linguagem de consultas para bancos de dados TPref-SQL com suporte a preferências temporais. Para isso serão implementados algoritmos de otimização para obtenção de seqüências ótimas a partir de um conjunto de objetos e de preferências especificadas. Será definida uma álgebra relacional incluindo operadores que permitam a especificação de condições envolvendo preferências temporais utilizando um formalismo que lida com seqüências de objetos. E, por fim, será implementado um protótipo capaz de executar tais operadores. Palavras-Chave. Linguagem de consultas, Extensão de SQL, Linguagem de Preferências, Preferências Temporais, Personalização de consultas

1. Introdução e Motivação Com o enorme aumento de informação tanto na Internet quanto em bancos de dados privados, ao se realizar uma pesquisa qualquer, um usuário pode se deparar com uma quantidade muito grande de resultados. Sendo que, muitas vezes, tais resultados encontram-se sem qualquer tipo de organização. Para solucionar esse problema, pesquisas recentes têm se preocupado em atender às preferências do usuário da melhor forma possível. Dessa maneira, os resultados retornados por uma busca podem ser filtrados e organizados para atender interesses específicos. O tratamento de preferências pode ser feito de forma quantitativa ou de outras maneiras, porém trabalhos mais recentes vêm buscando tratar preferências de forma qualitativa. Por exemplo, dada uma certa coleção de músicas, para se conhecer aquelas que são preferidas por um usuário de forma quantitativa, pode-se solicitar ao mesmo que dê uma nota a cada música e então seleciona-se aquelas músicas com maiores notas. No entanto, esse método pode ser inviável para uma coleção de músicas muito grande. De forma qualitativa, pode-se obter do usuário informações sobre quais atributos afetam sua preferência. Por exemplo, se o usuário diz que músicas Country são melhores do que músicas Pop, já se consegue obter uma classe de músicas preferidas sem que o usuário avalie cada música individualmente. A comparação de objetos de forma qualitativa leva em consideração a semântica ceteris paribus, ou seja, pode-se comparar dois objetos que se distinguem em apenas um atributo. É possível também, no tratamento de preferências de forma qualitativa, fazer uso de dependência preferencial e importância absoluta ou relativa. Dependência preferencial é quando o valor de um atributo influencia na preferência de outro atributo. A importância absoluta ou relativa permite especificar quando um atributo é mais importante do que outro no momento de decidir entre dois objetos. Outra importante tarefa no tratamento de preferências de forma qualitativa é a obtenção de um subconjunto ótimo de objetos. Uma solução para esse problema é associar a cada conjunto possível um objeto e, a partir daí, proceder com o tratamento de preferências sobre objetos. Existem também certos tipos de aplicações que necessitam de um tratamento de preferências sobre estruturas mais complexas, como seqüências de objetos. Um exemplo do uso de preferências sobre seqüências pode ser considerado a criação de uma lista de música, onde cada música é um objeto com atributos próprios, e a disposição das músicas na lista pode torná-la mais ou menos preferida. Nesse trabalho devem ser tratadas instruções de preferências com condições temporais, o exemplo 1 exibe algumas instruções com essas características. Exemplo 1 Supõe-se que seja necessário montar uma lista de músicas ótima dado um repositório com músicas de diversos gêneros e durações. E o usuário imponha as seguintes condições relativas a suas preferências pessoais: 1) Para músicas Country uma duração longa é melhor do que uma duração breve, mas para músicas Pop uma duração breve é melhor do que uma duração longa. 2) É melhor que a lista de música inicie com uma música Country. 3) Se a música anterior foi Pop é melhor que a próxima seja Country, mas se a música anterior foi Country é melhor que a próxima Pop. Outros trabalhos têm abordado um aspecto muito importante, no sentido de acrescentar instruções de preferências em consultas SQL para banco de dados, permitindo assim, que diversas aplicações possam tratar melhor o interesse de uma busca realizada por seus usuários, mesmo considerando um grande volume de dados. O principal problema tratado nesse trabalho será especificar uma linguagem de consulta para banco de dados, denominada TPref-SQL, com suporte a instruções de preferências temporais. Para que tal linguagem seja especificada serão necessárias várias tarefas, inicialmente serão implementados algoritmos de otimização para preferências temporais. De posse desses algoritmos, será definida uma álgebra relacional com novos operadores para tratar preferências

temporais e desenvolvido um protótipo que processe tais operadores. Este artigo encontra-se organizado da seguinte maneira. Na Seção 2 é apresentada uma breve relação de trabalhos tratando formalismos sobre preferências e linguagens de consultas para bancos de dados que suportam instruções de preferências. A Seção 3 descreve os principais objetivos desse trabalho e expõe as soluções que serão desenvolvidas para o problema proposto. Posteriormente, na Seção 4 encontra-se a metodologia que está sendo utilizada na pesquisa, bem como o cronograma do andamento das atividades e a previsão de término para as atividades pendentes. 2. Trabalhos Relacionados Há diversas pesquisas que tratam da especificação, representação e raciocínio com preferências. Em [Doyle and Wellman 1994], é introduzida uma representação de preferências utilizando a semântica ceteris paribus para comparar dois objetos que diferem em apenas um atributo. Nos trabalhos de [Boutilier et al. 2004a, Boutilier et al. 1999] foi proposta uma ferramenta para representar preferências de forma qualitativa sobre objetos com o uso de grafos, chamada CP-net. O formalismo por trás dessa ferramenta mantém a semântica ceteris paribus e acrescenta o conceito de dependência preferencial em que a preferência sobre um atributo é influenciada pelo valor de outro atributo. Ainda nesses trabalhos, são propostos algoritmos e técnicas para comparação e otimização de objetos. Em [Boutilier et al. 2004b] foi apresentado um algoritmo para obter os melhores objetos considerando um conjunto de restrições. Já em [Brafman et al. 2006a] é descrita a criação de uma extensão de CP-net, chamada de TCP-net que leva em consideração a importância absoluta ou relativa. Uma forma de trabalhar com preferências entre conjuntos de objetos foi desenvolvida por [Brafman et al. 2006b], onde se relata como reduzir uma especificação de preferências sobre conjuntos de objetos para uma especificação de preferências sobre objetos simples e um algoritmo para otimização de subconjuntos de objetos. Em [Kießling and Köstler 2002] foi desenvolvida a linguagem Preference SQL, que é uma extensão da linguagem SQL que suporta instruções de preferências. E, posteriormente, em [Endres and Kießling 2006] é tratado o problema de como transformar o formalismo lógico das TCP-nets em consultas na linguagem Preference SQL. Em [Wilson 2004] é definida uma linguagem lógica que permite expressar preferências mais genéricas do que aquelas tratadas pelas TCP-nets. A representação de preferências é feita através de regras de preferências condicionais no formato u : x > x [W ], onde u é uma condição, x > x denota a preferência do valor x sobre x e [W ] é um conjunto de variáveis que não são consideradas. O exemplo 2 mostra como é representado um conjunto de preferências. Outra importante contribuição desse trabalho foi a especificação de um algoritmo para obter os melhores objetos dado um conjunto de instruções, esse algoritmo é apresentado com maiores detalhes na seção 3.1. Exemplo 2 Supondo as seguintes preferências especificadas por um usuário sobre atributos musicais: 1) Gênero (G) Country (c) é melhor do que gênero Pop (p). 2) Se a música for Country prefere-se Ritmo (R) agitado (a) a ritmo tranqüilo (t), se a música for Pop prefere-se o contrário 3) Para músicas Country uma duração (D) longa (l) é melhor do que uma duração breve (b), caso contrário uma duração breve é melhor do que uma duração longa. Essas preferências podem ser representadas pelas seguintes instruções: 1): (G = c) > (G = p); 2)(G = c) : (R = a) > (R = t), (G = p) : (R = t) > (R = a); 3)(G = c) : (D = l) > (D = b), (G = p) : (D = b) > (D = l). Em [de Amo and Giacometti 2007] o trabalho de [Wilson 2004] foi estendido para suportar preferências temporais, dando origem a linguagem TPref. A representação de preferências na linguagem TPref é feita por um conjunto de regras de preferências condicionais temporais no formato u (X = x) > (X = x ), onde u é uma condição temporal e

(X = x) > (X = x ) indica que o valor x é preferido ao valor x para a variável X. A condição temporal é uma fórmula que utiliza um fragmento da Lógica Temporal Proposicional (LTP) [Prior 1967] e além dos operadores comuns a (LTP) como, e possui operadores de tempo como: 1) P REV F, o objeto na posição anterior satisfaz a fórmula F ; 2) F, todos os objetos das posições anteriores satisfazem a fórmula F ; 3) F, existe um objeto em uma posição anterior que satisfaz a fórmula F. Onde F é uma fórmula, podendo ser true, false, (X = x) ou uma combinação usando os operadores, e. O exemplo 3 exibe instruções de preferências temporais utilizando a linguagem TPref. Exemplo 3 Para as preferências sobre uma lista de músicas especificadas no exemplo 1, as preferências temporais podem ser representadas pelo conjunto de fórmulas na linguagem TPref: 1) ϕ 1 : (G = c) (D = l) > (D = b), ϕ 2 : (G = p) (D = b) > (D = l); 2) ϕ 3 : F IRST (G = c) > (G = p); 3) ϕ 4 : P REV (G = p) (G = c) > (G = p), ϕ 5 : P REV (G = c) (G = p) > (G = c). Também em [de Amo and Giacometti 2007] foram especificados operadores de tempo futuro que não serão explorados nesse trabalho e um algoritmo para obtenção das seqüências ótimas a partir de um conjunto de regras na linguagem TPref que é apresentado com mais detalhes na seção 3.1. 3. Descrição do Trabalho Os principais objetivos desse trabalho são: 1) Desenvolver algoritmos de otimização baseados em preferências temporais. 2) Definir uma álgebra relacional com operadores para tratar preferências temporais. 3) Propor e implementar algoritmos para executar os operadores definidos. 4) Especificar uma linguagem de consulta para bancos de dados com suporte a preferências temporais. Nas subseções que se seguem serão apresentados maiores detalhes sobre cada um desses objetivos 3.1. Algoritmos de Otimização Uma das tarefas mais importantes no tratamento de preferências temporais é a obtenção de uma seqüência ótima de objetos ou de um conjunto de seqüências ótimas de objetos. Para realizar esse tipo de tarefa foram implementados os algoritmos BestObj baseado no trabalho [Wilson 2004] e o algoritmo BestSeq baseado no trabalho de [de Amo and Giacometti 2007]. Na implementação desses algoritmos foi acrescido o tratamento de restrições, dessa forma as restrições são consideradas no momento de se obter os melhores objetos ou as melhores seqüências e não após obtê-los trazendo um considerável ganho de performance. Por exemplo, se há uma restrição para uma determinada posição da seqüência todas as melhores seqüências já possuem essa restrição e não é necessário filtrar as seqüências ótimas para depois aplicar essa restrição. O algoritmo BestObj utiliza um grafo de dependência preferencial para ordenar as variáveis, atribui o melhor valor para as variáveis não dominadas e em seguida realiza atribuições para as variáveis dominadas que possuam todas suas variáveis dominantes já atribuidas. O grafo de dependência preferencial possui um vértice para cada variável e uma aresta (X, Y ) se X está presente na condição preferencial da variável Y, a ordenação das variáveis pelo algoritmo obedece a direção das arestas do grafo, iniciando-se pelas variáveis pais. Uma variável X não é dominada por Y se não existe uma aresta (Y, X) no grafo de dependência preferencial, caso exista a aresta (Y, X) então X é a dominada por Y que por sua vez é a variável dominante. O exemplo 4 descreve a execução do algoritmo BestObj. Exemplo 4 Para as preferências do exemplo 2 o grafo de dependência preferencial é exibido na figura 1(a) e a execução do algoritmo BestObj na figura 1(b). No passo 2 a única variável não dominada é G e no passo 3 as variáveis R e D podem ser atribuídas pois sua variável dominante G já foi atribuída.

O algoritmo BestSeq busca as seqüências de objetos que melhor atendam a um conjunto de preferências temporais e trabalha de forma incremental, isto é, uma seqüência ótima de tamanho k + 1 é construída a partir de uma seqüência ótima de tamanho k, o algoritmo recebe como entrada também o tamanho desejado das seqüências. A cada passo considera-se as preferências relacionadas a posição atual da seqüência e utiliza-se o algoritmo BestObj para encontrar o melhor objeto para essa posição. Uma possível execução do algoritmo BestSeq pode ser vista no exemplo 5. Exemplo 5 Para o conjunto de preferências temporais do exemplo 3 e o tamanho das seqüências igual três pode-se ter uma execução do BestSeq como exibido na figura 1(c). As regras ϕ 1 e ϕ 2 são consideradas em todas as posições, pois não possuem operadores temporais, a demais regras analisadas de acordo com a seqüência construída até a posição atual e são consideradas quando a condição temporal se torna verdadeira. G R D (a) 1) Variáveis ordenadas: G, R, D 2) Atribuição: G = c 3) Atribuição: R = a, D = l 4) Melhores Objetos: (G = c, R = a, D = l) (b) Figura 1. Execução dos Algoritmos Posição 1: ϕ 1, ϕ 2, ϕ 3 < (G = c, D = l) > Posição 2: ϕ 1, ϕ 2, ϕ 5 < (G = c, D = l), (G = p, D = b) > Posição 3: ϕ 1, ϕ 2, ϕ 4 < (G = c, D = l), (G = p, D = b), (G = c, D = l) > (c) 3.2. Álgebra Relacional A linguagem de consulta proposta deve ser fundamentada em uma álgebra relacional. Portanto será definida uma álgebra relacional contendo um conjunto de operadores suficiente para a obtenção da melhor seqüência ou do conjunto com as melhores seqüências a partir de uma relação em um banco de dados considerando um conjunto de preferências temporais dadas. 3.3. Incorporação de Preferências Temporais a Consultas de Bancos de Dados Para se trabalhar com um grande volume de objetos a utilização de bancos de dados é crucial. De posse da álgebra relacional definida com os novos operadores será especificada a linguagem TPref-SQL. A especificação de tal linguagem permitirá a formulação de consultas que incluam preferências temporais como é mostrado no exemplo 6. Exemplo 6 Voltando ao exemplo da lista de música, o conjunto de preferências especificado anteriormente pode ser expressado pela seguinte consulta com o objetivo de obter a seqüência de músicas ótima: SELECT BESTSEQ(N) * FROM MUSICAS PREFER ((IF GENERO = country THEN DURACAO = longa > DURACAO = breve ) AND (IF GENERO = pop THEN DURACAO = breve > DURACAO = longa ) AND (IF PREV false THEN GENERO = country > GENERO = pop ) AND (IF PREV GENERO = pop THEN GENERO = country > GENERO = pop ) AND (IF (PREV GENERO = country AND DURACAO= breve ) THEN GENERO = country > GENERO = pop )) Onde N é o comprimento da seqüência e a tabela MUSICAS contém as músicas que devem aparecer nas seqüências. Esse tipo de consulta poderá ser criada diretamente por um usuário ou gerada por uma interface para fins de facilidade. 4. Metodologia e Estado da Pesquisa Este projeto será conduzido em etapas que podem ser descritas de forma geral como se segue: 1. Pesquisa bibliográfica sobre trabalhos relacionados a especificação, representação e raciocínio com preferências, linguagens de consulta para bancos de dados e métodos para incorporar instruções de preferências em linguagens de consulta para bancos de dados.

2. Seminários para entendimento do cenário do problema a ser tratado. 3. Desenvolvimento dos algoritmos de otimização para preferências temporais. 4. Definição de uma álgebra relacional com novos operadores capazes de tratar preferências temporais. 5. Implementação de protótipo que execute os novos operadores definidos pela álgebra relacional. 6. Especificação de uma linguagem de consultas para banco de dados com suporte a preferências temporais. 7. Redação da dissertação e conclusão do trabalho. 4.1. Cronograma do Trabalho até a Defesa A tabela 1 exibe o cronograma com os semestres previstos para a realização de cada etapa. No momento, a etapa 3 foi concluída e a etapa 4 está sendo executada. Etapas 2/2006 1/2007 2/2007 1/2008 Etapas 2/2006 1/2007 2/2007 1/2008 Etapa 1 X Etapa 5 X Etapa 2 X Etapa 6 X Etapa 3 X Etapa 7 X Etapa 4 X Tabela 1. Cronograma semestral com as etapas do trabalho 5. Trabalhos Futuros Como perspectivas para trabalhos futuros pode-se considerar o tratamento de operadores de tempo futuro da linguagem TPref, desenvolvimento de algoritmos para testes de dominância (comparação de seqüências) e a implementação de um protótipo para a linguagem TPref-SQL. Referências Boutilier, C., Brafman, R. I., Domshlak, C., Hoos, H. H., and Poole, D. (2004a). Cp-nets: A tool for representing and reasoning with conditional ceteris paribus preference statements. Journal of Artificial Intelligence Reasearch (JAIR), 21:135 191. Boutilier, C., Brafman, R. I., Domshlak, C., Hoos, H. H., and Poole, D. (2004b). Preference-based constrained optimization with cp-nets. Computational Intelligence, 20(2):137 157. Boutilier, C., Brafman, R. I., Hoos, H. H., and Poole, D. (1999). Reasoning with conditional ceteris paribus preference statements. In Proceedings of the 15th Annual Conference on Uncertainty in Artificial Intelligence (UAI), pages 71 80. Morgan Kaufmann Publishers. Brafman, R. I., Domshlak, C., and Shimony, S. E. (2006a). On graphical modeling of preference and importance. Journal of Artificial Intelligence Research (JAIR), 25:389 424. Brafman, R. I., Domshlak, C., Shimony, S. E., and Silver, Y. (2006b). Preferences over sets. In Proceedings of the 21st National Conference on Artificial Intelligence (AAAI). AAAI Press. de Amo, S. and Giacometti, A. (2007). Temporal conditional preferences over sequences of objects. In 19th IEEE International Conference on Tools with Artificial Intelligence. Doyle, J. and Wellman, M. P. (1994). Representing preferences as ceteris paribus comparatives. In Proceedings of the AAAI Spring Symposium on Decision-Theoretic Planning, pages 69 75. Endres, M. and Kießling, W. (2006). Transformation of tcp-net queries into preference database queries. In Proceedings of the Multidisciplinary Workshop on Advances in Preference Handling, pages 23 30. Kießling, W. and Köstler, G. (2002). Preference sql - design, implementation, experiences. In Proceedings of 28th International Conference on Very Large Data Bases (VLDB), pages 990 1001. Prior, A. N. (1967). Past, Present and Future. Oxford University Press. Wilson, N. (2004). Extending cp-nets with stronger conditional preference statements. In Proceedings of the 19th National Conference on Artificial Intelligence (AAAI 2004), pages 735 741. AAAI Press.