Repositório RCAAP
Implementações de tableaux para raciocínio por aproximações
Atualmente não se conhece nenhum método de prova para a lógica proposicional clássica que tenha tempo polinomial. Os métodos de tabela-verdade e o de tableux analíticos são imediatamente implementáveis em uma máquina, mas já foi provado [D¦A90] que nenhum dos dois é mais eficiente que o outro no caso geral. Por outro lado, o sistema de tableux KE de D¦Agostino é essencialmente mais eficiente que ambos. Uma outra abordagem para resolver o problema da validade de fórmulas é o raciocínio por aproximações. Cadoli e Schaerf [SC95] propuseram um método de raciocínio por aproximações com respostas aproximadas que: a) dão informações semanticamente claras sobre o problema a cada passo de aproximação, b) cada resposta aproximada é mais fácil de computar que a resposta do problema original, e c) podem ser melhoradas, e eventualmente convergem para a resposta correta. No entanto este método está restrito ao formato clausal e não fornece uma heurística de aproximação. Finger e Wassermann [FW01] propuseram um método que generaliza o raciocínio por aproximações de Cadoli e Schaerf, eliminando a restrição a cláusulas e introduzindo a heurística de aproximação. Eles entendem a semântica da lógica S3 usada no método de Cadoli e Schaerf para a lógica proposicional, e propõem o método de tableux KE-S3 para essa lógica - baseado nos tableux KE de D¦Agostino. O objetivo deste trabalho é implementar o método de Tableux Analíticos, o método de Tableux de KE de D¦Agostino e o método de Tableux KE-S3 e fazer um teste comparativo dos métodos
Um estudo de um protocolo de comunicação para dispositivos móveis usando Distributed Join-Calculus
Esta dissertação de mestrado especifica os aspectos de mobilidade de um protocolo de comunicação para computação móvel usando o Ditributed Join-Calculus. A especificação foi utilizada para a verificação das características do protocolo com relação à mobilidade. Além disso, estudamos como o uso do Distrubuted Join-Calculus pode ajudar numa melhor visão e compreensão do comportamento de agentes móveis. O Join-Calculus é um modelo formal de concorrência, com conceitos de mobilidade e distribuição, que pode ser visto de duas formas: como um cálculo de processos e como uma linguagem de programação baseada em técncas de desenvolvimento formal. O formalismo utilizado foi o Distributed Join-Calculus, uma extensão do Join-Calculus com primitivas para mobilidade e localidades explícitas. O protocolo escolhido para a especificação foi o RDP (Result Delivery Protocol). Implementando o modelo para RDP, no Distributed Join-Calculus, em relação às características de mobilidade, analisamos e verificamos se algumas das propriedades esperadas pelo protocolo RDP são atendidas. Além disso, analisamos o uso do Distributed Join-Calculus com relação à especificação do protocolo e às dificuldades de se especificar um protocolo de mobilidade. Para isso, o nosso trabalho foi dividido em três fases: a especificação de um modelo simples e restrito das características de mobilidade do protocolo RDP, para um melhor entendimento do seu funcionamento e das propriedades que analisamos, a especificação deste protocolo de forma global, e a análise final com a verificação de algumas propriedades
Algoritmos paralelos de granularidade grossa para problemas de alinhamento de cadeias
Problemas de alinhamento de cadeias são fundamentais em aplicações diversas, das quais se destacam as relacionadas à Biologia Molecular. O alinhamento de duas cadeias A e B indica quão semelhantes elas são ou quais operações são necessárias para transformar uma em outra. Uma variação do problema de alinhamento de cadeias envolve comparar a cadeia A com todas as subcadeias de B. Para este problema, são conhecidos algoritmos seuqenciais que o resolvem em tempo O(|A||B|log(|A|+|B|)), um dos quais é apresentado nesta tese. É também apresentado um algoritmo seqüencial de tempo O(|A||B|) para um caso especial de alinhamento de todas as subcadeias, que envolve a busca pela maior subseqüência comum a duas cadeias. Propomos novos algoritmos paralelos para estes problemas, utilizando um modelo próprio para máquinas de memória distribuída, o CGM (Coarse Grained Multicomputers). Um dos objetivos fundamentais no desenvolvimento de algoritmos CGM é a redução do número de rodadas de comunicação, se possível tornando-o dependente apenas do número de processadores (p). Os algoritmos aqui propostos apresentam aceleração (speed-up) linear e apenas O(log p) etapas de comunicação. Não há algoritmos do nosso conhecimento com tais características na literatura
2002
Carlos Eduardo Rodrigues Alves
Alternativas para propagação das atualizações de um banco de dados operacional para um Data Warehouse
Os sistemas de data warehouse comerciais (SDWC) IND.1 disponibilizam técnicas de armazenamento de dados para acesso eficiente e facilidades de consultas para o usuário final. As aplicações de SWDC possuem operações clássicas de sincronismo de dados, que não exigem uma atualização imediata dos dados replicados. Entretanto, com a evolução da representação semântica dos dados em ambiente de banco de dados operacionais, as análise realizadas no SWDC requerem novas necessidades de sincronismo. Assim, existe um crescente interesse em SWDC que possam absorver rapidamente as atualizações do banco de dados operacional sem comprometer o processo de consulta aos dados armazenados no ambiente analítico. Com esses novos sistemas, o tempo de atualização dos dados entre o ambiente analítico e o ambiente operacional deve ser reduzido. Nossa pesquisa objetiva a caracterização dos limites dos algoritmos síncronos e assíncronos para atualização de dados em SDWC. Tal caracterização gerou subsídios para a criação de um processo simplificado de propagação das atualizações no SDWC
2002
Bianka Maria Moura Teixeira Gonçalves
Componente de controle transacional para integração assíncrona de bases de dados
O advento da computação móvel e o uso de bancos de dados autonômos têm suprido a crescente demanda de recursos computacionais para apoio às bases de dados assíncronas. Mesmo em condições de isolamento de comunicação, os bancos de dados autônomos permitem a comunicação entre os dados por meio de armazenamento de cópias de dados locais, as quais foram obtidas previamente por processos de replicação de dados. Em relação a essa cópia local são permitidas operações de leitura e escrita sobre os dados. Essas operações devem ser repassadas às demais instâncias de banco de dados. Nos ambientes tradicionais também existem justificativas para o uso de banco de dados autonômo. Um exemplo é o incremento da segurança para possíveis falhas de comunicação entre as instâncias dos bancos de dados. Em tais ocorrências de falhas de comunicação, o acesso ao banco de dados torna-se o local para registro das transações pendentes. As transações registradas são propagadas para as demais instâncias após o restabelecimento da comunicação. Nossa proposta apresenta uma alternativa para utilização de instâncias de bases de dados, de modo a permitir a integração de transações conflitantes realizadas sobre réplicas de dados. Este trabalho tem como hipótese de solução a parametrização de transações, de acordo com o conjunto de regras do domínio de aplicação, para diminuir o conflito entre transações postergadas
2003
Marcelo Camacho de Souza
Integração para dados e aplicações em Biologia Molecular Computacional
Um dos grandes desafios atuais na área de Biologia Molecular Computacional é a manipulação de estruturas heterogêneas. Basicamente, podemos dividir este ambiente heterogêneo em dois conjuntos semanticamente distintos: dados e aplicações. A heterogeneidade de dados é representada pela variação estrutural das fontes de dados que armazenam informações biológicas. O crescente volume de dados, sem padronização, tem dificultado cada vez mais a elaboração de estudos conclusivos. A heterogeneidade de aplicações trata as diferenças semânticas e estruturais de um conjunto de implementações algorítimicas (aplicações) utilizadas nas análises dos dados. Nossa pesquisa apresenta uma alternativa para integração de dados e aplicações que usa um ambiente para controle automatizado de um fluxo de execução. Tal controle otimiza o processo computacional de descoberta de conhecimento. Definimos nesse trabalho um metadados para a integração e gerenciamento de dados heterogêneos. Para controlar a heterogeneidade das aplicações definimos um conjunto de operadores para criar um fluxo consecutivo mencionado neste trabalho de gen-pipe
Adaptação dinâmica de sistemas distribuídos
Esta tese aborda o desenvolvimento de software adaptativo, capaz de modificar o seu comportamento dinamicamente em resposta a variações detectadas em seu ambiente de execução. A demanda por software adaptativo tem sido impulsionada por recentes avanços nas áreas de computação distribuída, móvel e ubíqua caracterizadas por um ambiente de execução com um alto grau de dinamismo. O desenvolvimento de aplicações adaptativas é bastante complexo. Os desenvolvedores devem levar em consideração diversas questões além da implementação do comportamento funcional da aplicação. Estas questões incluem a escolha de quais elementos do ambiente de execução devem ser monitorados, como realizar este monitoramento, que ações de adaptação devem ser realizadas e quando elas devem ser executadas. A complexidade inerente ao processo de desenvolvimento de aplicações distribuídas adaptativas é abordada através da proposição de um modelo para construção desta classe de aplicações. Tendo por base este modelo, foi implementado um arcabouço que simplifica o processo de desenvovimento, disponibilizando ferramentas para a monitoração do ambiente de execução, detecção de mudanças no mesmo e reconfiguração dos componentes da aplicação. Descreve-se o modelo e a implementação do arcabouço, bem como resultados experimentais obtidos através da construção de uma aplicação distribuída adaptativa para a disseminação de informações a clientes móveis. Os resultados dos testes reforçam a aplicabilidade do arcabouço, além de evidenciar a importância de levarmos em consideração a análise das interações entre os componentes da aplicação como forma de identificar a necessidade de reconfiguração da mesma
2003
Francisco José da Silva e Silva
Maximização de Entropia em Lingüística Computacional para a Língua Portuguesa
Neste trabalho, estudamos o método estatístico de Maximização de Entropia, exemplificando o seu uso para resolução do problema lingüístico da Análise Morfossintática. Desta forma procuramos tornar o mesmo mais fácil de ser entendido e implementado para outros problemas de aprendizado computacional. Para tanto, o algoritmo de Maximização de Entropia é caracterizado como um método de aprendizado computacional, explicado e matematicamente definido. Em seguida é aplicado ao problema da Análise Morfossintática usando o Corpus Tycho Brahe como base de treinamento, seus resultados são comparados com os obtidos pelo método de Brill já aplicado ao mesmo Corpus e comparado com os resultados obtidos pelo mesmo método, porém aplicado ao Inglês
2003
Archias Alves de Almeida Filho
Configuração automática de sistemas na plataforma Enterprise JavaBeans
Com a popularização do computador, a necesidade pelos mais diversos tipos de softwares se multiplicou fazendo com que o proceso de desenvolvimento de sistemas e aplicações se tornasse necessariamente mais ágil. A tecnologia de componentes trouxe essa agilidade necesária ao possibilitar a reutilização de código, de uma forma organizada e simples, favorecendo a construção de sistemas complexos simplesmente encaixando-se `componentes de prateleira` uns aos outros. Tecnologias de programação distribuídas e arquiteturas de servidores baseados em componentes surgiram para auxiliar ainda mais nesse desenvolvimento. Contudo não solucionaram todos os problemas, ainda continuaram existindo dificuldades de desenvolvimento de softwares confiáveis, eficientes e dinamicamente configuráveis baseados em componentes. Alguns trabalhos surgiram mostrando como a representação das dependências entre os componentes auxilia na construção de softwares mais confiáveis, eficientes e dinamicamente configuráveis. Nessa dissertação, mostramos esses trabalhos e suas características. Também transportamos o arcabouço (framework) de um desses trabalhos para plataforma Enterprise JavaBeans (EJB) mostrando sua viabilidade também nessa plataforma. Outra contribuição dessa dissertação é a extensão do arcabouço de forma a possibilitar a utilização de operadores booleanos na descrição das dependências e a utilização dos serviços de nomes e diretórios na resolução das dependências
2003
Herbert Yutaka Watanabe
Algoritmos paralelos de granularidade grossa em grafos bipartidos convexos
Neste trabalho discutimos os principais modelos de computação paralela e apresentamos, como principal foco do trabalho, soluções para alguns problemas em classes especiais de grafos usando modelos de granularidade grossa que acreditamos sirvam de reflexão para a validação de tais modelos. Tratamos alguns problemas em grafos bipartidos convexos. Estes problemas são: encontrar um emparelhamento máximo, encontrar um conjunto independente máximo, determinar um circuito hamiltoniano e determinar os caminhos mínimos entre todos os pares de vértices em grafos bipartidos biconvexos. Relatamos os resultados experimentais da implementação de alguns dos algoritmos apresentados. Como principais contribuições, descrevemos uma adaptação para o Modelo BSP/CGM de um algoritmo PRAM para encontrar uma coloração em grafos cujo grau máximo é limitado por uma constante, fazemos uma correção no algoritmo BSP/CGM de Bose et al [BCDL99] para encontrar um emparelhamento máximo em grafos bipartidos convexos, descrevemos um novo algoritmo seqüencial para encontrar um conjunto independente máximo nesta classe de grafo e estendemos a idéia deste algoritmo formulando um algoritmo para o modelo BSP/CGM, e desenvolvemos um algoritmo seqüencial linear para encontrar um circuito hamiltoniano de fácil paralelização nesta mesma classe
Estratégias de hand-off com balanceamento de carga para computação móvel
Em um ambiente tradicional de Computação Móvel, as unidades móveis se comunicam através de comunicação sem fio com bases, que por sua vez estão ligadas à rede fixa. Um processo denominado alocação de canais disponibiliza recursos para que uma unidade móvel possa se conectar à rede. Uma célula é uma área geográfica atendida por um transmissor, ou melhor, por uma estação base de rádio. Em uma região podem ser instaladas mais de uma estação, ocasionando a sobreposição de células. Quando uma unidade em movimento atravessa a região de fronteira entre estações base adjacentes, ela ativa um processo chamado hand-off, que negocia a transição desta unidade para a nova base. Em grande parte dos trabalhos da literatura, as áreas de cobertura das bases são consideradas disjuntas. Entretanto, existem áreas de inserção onde sinais de mais de uma base estão disponíveis. Nós propomos novas políticas onde o hand-off também pode ser realizado por iniciativa das bases, ou seja, a decisão de transferir uma unidade móvel, em uma área de intersecção, também fica a cargo da base que está responsável por ela. Este trabalho apresenta algumas estratégias para repartir as unidades móveis ativas em áreas de intersecção entre as bases, de forma a aproveitar melhor os recursos disponíveis
2003
Alessandro Santiago dos Santos
Identificação de sistemas dinâmicos finitos e aplicações na modelagem de redes gênicas
O objetivo do presente trabalho é a identificação de sistemas dinâmicos finitos, nos quais o tempo é considerado discreto à escala de valores discreta e finita. Estes sistemas modelam adequadamente a evolução temporal dos graus de ativação dos genes numa rede de expressão gênica (REG). Os genes que integram uma rede deste tipo são segmentados de DNA que codificam proteínas específicas. A expressão gênica consiste de dois passos: i) transcrição da informação codificada no DNA em moléculas de RNA e ii) tradução da informação codificada no mRNA (um dos tipos de RNA sintetizados no passo anterior) em uma seqüência definida de aminoácios de uma proteína. As proteínas produzidas, como conseqüência da expressão gênica, formam complexos multiproteicos inter-atuantes os quais enviam sinais ao núcleo da célula para mudar os padrões da expressão gênica. Assim, os genes formam uma rede, que é chamada de expressão gênica, na qual o grau de ativação (ou nível de expressão) de cada gene depende dos níveis de expressão dele mesmo e de outros genes em instantes anteriores, e de estímulos externos. O estado de um sistema dinâmico finito num instante de tempo é definido pelo valor de um vetor de variáveis chamadas de variáveis de estado, no caso de uma REG, o nível de expressão de cada gene. O valor de uma variável de estado num instante de tempo depende dos estados anteriores e de estímulos externos em instantes anteriores. As transições de estado são definidas pela função de transição do sistema, que é na verdade um vetor de funções cujas componentes determinam as transições de cada variável de estado. Foram realizadas a modelagem e simulação do ciclo celular hipotético, a partir de fatos conhecidos e conjecturas sobre a dinâmica desse fenômeno. Para testar técnicas de identificação de sistemas, foi simulado também um sistema mais simples, sem vínculo co fenômenos biológicos. A partir de amostras incompletas das transições de ) estado destas simulações, foi realizada a identificação do sistema dinâmico por técnicas de aprendizado computacional. Tal identificação consiste em achar as componentes da função de transição. Também foi efetuada a identificação com a aplicação de restrição de envelope dinâmico (limite inferior e superior das dinâmicas). Finalmente, ambos os sistemas identificados (com e sem restrição de envelope) foram simulados e comparados com as respectivas simulações do sistema ideal, medindo-se os erros de estimação. Também foi desenvolvida uma técnica de geração automática de árvores de classificação por multirresolução, a qual poderá vir a ser aplicada no futuro à identificação de sistemas dinâmicos finitos
Análise experimental de algoritmos de planaridade
O problema da planaridade consiste em: dado um grafo G, decidir se G é ou não é planar. A resposta deve vir acompanhada de uma justificativa. Se G é planar, então uma justificativa é uma representação de um desenho de G no plano sem cruzamento de arestas. Se G não é planar, então uma justificativa é uma subdivisão do 'K IND.3,3' ou do 'K IND. 5' em G. Existem vários algoritmos lineares para testar planaridade. Dois deles são bem conhecidos: o algoritmo proposto por Auslander e Parter [1], posteriormente corrigido por Goldstein [9] (APG), e o algoritmo proposto por Lempel, Even e Cederbaum [12] (LEC). Hopcroft e Tarjan [10] apresentaram em 1974 a primeira implementação linear do algoritmo de APG. Pouco depois, Booth e Lueker apresentaram uma implementação linear do algoritmo de LEC, introduzindo uma nova estrutura de dados chamada PQ-árvore. Recentemente, Shih e Hsu [15] e Boyer e Myrvold [3] publicaram duas implementações lineares do algoritmo de LEC que evitam o uso da PQ-árvore. Este trabalho apresenta uma descrição do algoritmo de LEC e uma descrição da implementação de Shih e Hsu, bem como um estudo comparativo desta implementação com as implementações de Hopcroft e Tarjan, Booth e Lueker e de Boyer e Myrvold
Cache comprimido adaptativo: projeto, estudo e implementação
Neste trabalho, reavaliamos o uso do cache comprimido adaptativo para melhorar o desempenho do sistema através da redução dos acessos aos dispositivos secundários de armazenamento. Nós propomos uma nova política de adaptabilidade que ajusta o tamanho do cache comprimido em tempo de execução, e avaliamos o sistema de cache comprimido com essa política através de uma implementação em um sistema operacional amplamente usado, o Linux. Também reprojetamos o cache comprimido de modo a prover melhoras de desempenho para todos os workloads testados e acreditamos que ele aborde os problemas encontrados em trabalhos e implementações anteriores. Entre essas modificações fundamentais, o nosso cache comprimido é o primeiro a também comprimir páginas do cache de arquivos e a desabilitar adaptativamente a compressão de páginas limpas quando necessário. Testamos um sistema com o nosso cache comprimido adaptativo com muitos aplicativos e benchmarks, cada um com diferentes pressões de memória. Os resultados mostraram melhoras de desempenho (até 171,4%) em todos eles se há pressão de memória, overhead mínimo (até 0,39%) quando há muito baixa pressão de memória e praticamente nenhum overhead quando não há nenhuma pressão de memória. Acreditamos que esse trabalho mostre que esse projeto de cache comprimido adaptativo deva ser considerado como um efetivo mecanismo para melhoras no desempenho do sistema
2003
Rodrigo Souza de Castro
Alinhamento de seqüências biológicas
Uma das tarefas mais básicas em Biologia Computacional é fazer a comparação de seqÜências de espécies que estejam em estudo. Uma das maneiras de fazer a comparação é pela construção de um alinhamento das seqüências de interesse. Alinhamentos de seüências biológicas são ferramentas que, além de serem usadas para análise de regiões conservadas e de regiões que sofreram mutações em seqüências homólogas, também servem como ponto de partida para outras aplicações em Biologia Computacional, como o estudo de estruturas secundárias de proteínas e a construção de árvores filogenéticas. Na dissertação procuramos abranger os resultados teóricos conhecidos mais importantes sobre alinhamentos de seqüências. Nela apresentamos, inicialmente, uma introdução ao conceito de alinhamentos de seqüências e aos algoritmos básicos para a busca de alinhamentos ótimos. Mostramos também que, em geral, o problema de encontrar um alinhamento ótimo de várias seqüências é NP-difícil e, além disso, exibimos dois algoritmos de aproximação para o problema. Finalmente, damos uma descrição de modelos estatísticos chamados Modelos de Markov de Estados Ocultos (em inglês, Hidden Markov Models), que possuem amplas aplicações e que podem ser usados para a construção de alinhamentos de várias seqüências. Nosso objetivo com a dissertação é fazer uma discussão em língua portuguesa que seja detalhada, unificada, clara e bastante acessível de aspectos computacionais do problema de busca de alinhamentos que figuram apenas em artigos científicos e que são freqüentemente omitidos em livros-texto
2003
Rogério Theodoro de Brito
OGS/R: um serviço para grupos de objetos com consitência relaxada
Replicação de objetos em sistemas distribuídos é comumente usada para garantir uma maior disponobilidade de serviços e de dados, bem como para implementar funções resilientes à falhas. O uso de serviços de grupo para amanutenção das réplicas de objetos torna possível uma separação entre as questões específicas da aplicação e as questões intrínsecas do gerenciamento de réplicas. Com a consolidação da computação móvel em nosso cotidiano, inúmeros trabalhos na área de replicação de objetos vêm pesquisando soluções para esta nova realidade. No entanto, há poucos serviços de grupo que dão apoio a sistemas nos quais haja a possibilidade de desconexões frequentes entre os nós da rede. Neste cenário, faz-se necessária a implementação de um estilo de replicação com consistência relaxada em um serviço de grupo de objetos. Este trabalho discorre sobre as principais abordagens para manutenção de consistência entre réplicas, apresenta alguns trabalhos relacionados e especifica um serviço de grupo com consistência relaxada entre réplicas. Como resultado conreto, foi implementada uma extensãode OGS denominada OGS/R, que é um serviço CORBA de grupos de objetos que dá suporte à replicação com consistência relaxada
2003
Marcelo Brito dos Santos
Analisador sintático estatístico orientado ao núcleo-léxico para a Língua Portuguesa
O desenvolvimento do Corpus Tycho Brahe do Português histórico anotado sintaticamente motivou a criação de uma ferramenta automática para a geração das árvores sintáticas das sentenças de um texto. Com este fim, utilizamos um método já desenvolvido e aplicado para a mesma tarefa aplicada ao Inglês, que utiliza um modelo estatístico orientado ao núcleo-léxico através da definição das dependências léxicas presentes na sentença. Neste trabalho, estudamos tal método aplicado à Língua Portuguesa, chegando até a implementação de dois sistemas automáticos para análise sintática. O primeiro utiliza o modelo baseado em dependências léxicas e o segundo baseia-se em regras gramaticais livre de contexto probabilísticas. Desta forma, esperamos não só auxiliar o processo de anotação sintática do corpus Tsycho mBrahe como também apresentar os primeiros resultados comparativos de acurácia do método escolhido aplicado ao Português
2003
Fabiano de Carvalho e Sousa
Sistemas criptográficos baseados em identidades pessoais
Nos dias de hoje, diversas operações - coo compras e transações bancárias de pequena e grande monta - podem ser feitas através da internet, possibilitando um compartilhamento de recursos, o que, por sua vez, propicia um ganho de economia em escala. Infelizmente, as informa'Õoes que circulam na grande rede podem ser facilmente observadas por terceiros, muitas vezes mal-intencionados. Faz-se necessário, portanto, uma preocupação constante com a segurança no transporte e armazenamento de informações sensíveis. É impensável se falar em 'ambiente seguro' se as informações não estiverem protegidas por uma criptografia forte e outros mecanismos de segurança. Os sistemas criptográficos de chave pública que seguem o padrão PKI apresentam alguns problemas, como a necessidade de uma complexa infra-estrutura de gerenciamento de chaves e a necessidade de o detentor de uma chave pública provar sua identidade, por meio de certificados digitais. Mais recentemente, o emprego de curvas elípticas em criptografia permitiu o desenvolvimento de uma criptografia assimétrica em que a chave pública de um usuário não é uma seqüência aleatória de its e sim um identificador que caracteriza esse usuário de forma única, como por exemplo seu número de CPF ou seu endereço eletrônico. Tal fato possibilitou que se estabeleça uma comunicação segura sem troca de segredos, sem troca de certificados digitais e sem a necessidade de se manter um diretório público de chaves. Este esquema de criptografia assimétrica, que será apresentado nesta dissertação, é hoje conhecido como criptografia baseada em identidades (ID-based cryptosystems)
2003
Waldyr Dias Benits Júnior
Sistemas de localização dinâmica de serviços em ambientes de computação móvel
Um dos desafios atuais, com o aumento do número de serviços em uma rede, é a localização dinâmica dos mesmo. Várias tecnologias de localização de serviços foram desenvolvidas para simplificar o seu uso, permitindo que eles sejam encontrados, configurados e usados com um mínimo de esforço. Entretanto, não encontramos nenhum sistema que selecione o servidor mais conveniente ao cliente, como o mais próximo a ele. Apresentamos uma solução para estender os sistemas existentes, integrando-os com sistemas de localização física de unidades móveis, a fim de localizar o serviço mais próximo, segundo algum critério cionfigurável, ao cliente. Acreditamos que isso incentivará a criação de serviços sensíveis à localização (location-aware), como o de impressão, ou de um guia turístico virtual, entre outros.
2003
Leonardo Marques Alves de Pinho
Descoberta de regras de classificação com hierarquias conceituais
A descoberta de conhecimento em bancos de dados (KDD - Knowledge Discovery in Databases) é um tópico de pesquisa que envolve diversas áreas de interesse como Reconhecimento de Padrões, Aprendizado de Máquina, Bancos de Dados e Inteligência Artificial. KDD é definida como um processo não trivial de identificação de padrões válidos, novos, potencialmente úteis e compreensíveis incluídos nos dados. Na mineração de dados, uma das etapas do proceso de KDD, o uso de hierarquias de conceitos pode permitir a descoberta de conhecimento num nível de abstração mais elevado, compacto e muitas vezes mais interessante. Amineração de dados em múltiplos níveis conceituais é mais complexa do que a mineração num único nível, pois o espaço de busca é geralmente maior. Alguns trabalhos empregam a pré-generalização dos dados como forma de reduzir este espaço, dificultando a descoberta em níveis de abstração arbitrários. No entanto, para descobrir regrasa em diferentes níveis de generalidade de maneira eficiente, sem pré-generalizar os dados, é necessário um acesso rápido às hierarquias bem como métodos de avaliação de consultas velozes. Nesta dissertação, é apresentado o sistema NETUNO-HC que realiza indução de regras de classificação em diferentes níveis de generalidade, através do uso de hierarquias de conceitos sobre os valores dos atributos de um banco de dados, sejam eles numéricos ou categóricos. É mostrado como o nível de generalidade das regras descobertas é afetado pela estratégia de busca empregada e pela variação das medidas de relevância. Além disso, como é demonstrado através de uma série de experimentos, o sistema NETUNO-HC implementa técnicas que resultam num aumento de eficiência significativo, a saber: (i) uso de uma primitiva em SQL para efetuar as consultas ao banco de dados, (ii) codoficação numérica da hierarquia conceitual, (iii) estratégia de Busca em Feixe (Bream Search), (iv) codificação e indexação das regras descobertas numa tabela hash.
2004
Marco Eugênio Madeira Di Beneditto