SUMÁRIO. Introdução... 3



Documentos relacionados
Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

Árvores Binárias Balanceadas

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

EAD Árvore árvore binária

Algoritmos e Estrutura de Dados III. Árvores

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Árvores Binárias de Busca

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Inteligência Computacional Aplicada a Engenharia de Software

Unidade 5 Armazenamento e Indexação

GUILHERME JOSÉ HENRIQUE CONSULTAS POR SIMILARIDADE EM UM AMBIENTE DISTRIBUÍDO

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

Busca. Pesquisa sequencial

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

2 Atualidade de uma base de dados

Árvore B UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 43

O Software Face Match

Sistemas Operacionais

DAS5102 Fundamentos da Estrutura da Informação

Consultas por similaridade em Big Data: alternativas e

ESTRUTURAS DE DADOS II

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Gerência de Processador

Análise e Complexidade de Algoritmos

Linguagem C: Árvores Binarias

Objetivos. Apresentar as superfícies regradas e superfícies de revolução. Analisar as propriedades que caracterizam as superfícies regradas e

POTENCIAL ELÉTRICO. por unidade de carga

BC1424 Algoritmos e Estruturas de Dados I. Aula 16: Árvores (introdução) Prof. Jesús P. Mena-Chalco. jesus.mena@ufabc.edu.br

ESTRUTURAS DE DADOS II MSc. Daniele Carvalho Oliveira

Algoritmos de pesquisa. Tabelas de dispersão/hash

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

Organização e Arquitetura de Computadores I

Backup.

Bem-vindo ao tópico sobre administração de listas de preços.

Prof. Daniela Barreiro Claro

Árvores Binárias de Busca

Linguagem algorítmica: Portugol

Análises Geração RI (representação intermediária) Código Intermediário

Almox Express Especificação de Requisitos

PROGRAMAÇÃO II 4. ÁRVORE

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

CADEX. Consultoria em Logística Interna. Layout de armazém. Objectivos. Popularidade. Semelhança. Tamanho. Características

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes

Algoritmos e Estrutura de Dados. Prof. Tiago A. E. Ferreira

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

BC Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

Técnicas de Caixa Preta de Teste de Software

INF 1007 Programação II

Tabelas Hash. Jeane Melo

INF PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15

CAPÍTULO 2. Grafos e Redes

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

INF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1

Tabelas de Espalhamento

Só Matemática O seu portal matemático FUNÇÕES

Estabilidade. Carlos Alexandre Mello. Carlos Alexandre Mello 1

Sumário. Tutorial: Editor de Exercícios Online para o professor

4 Segmentação Algoritmo proposto

Sistemas Operacionais

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

Organização de arquivos

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais

RECONHECIMENTO DE PLACAS DE AUTOMÓVEIS ATRAVÉS DE CÂMERAS IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

3 Classificação Resumo do algoritmo proposto

Métodos Computacionais. Árvores

TOTVS BA Guia de Customização Linha Logix

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

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

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

Classificação e Pesquisa de Dados

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Banco de Dados Espaciais. Banco de Dados Espaciais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

3 Estratégia para o enriquecimento de informações

Árvore Binária de Busca

Integrais Duplas e Coordenadas Polares. 3.1 Coordenadas Polares: Revisão

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Como melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008

1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3.

Complexidade de Algoritmos

ESTRUTURAS DE DADOS AVANÇADAS (INF 1010) (a) Seja um TAD definido por uma lista circular implementada em um vetor.

Polimorfismo. Prof. Leonardo Barreto Campos 1

OCOMON PRIMEIROS PASSOS

Prova Final de Matemática

Canguru Matemático sem Fronteiras 2014

EAD Árvore - representação usando listas ligadas

Ficheiros binários 1. Ficheiros binários

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

Sistemas Operacionais: Sistema de Arquivos

Até que Ponto Seus Dados estão Seguros? Por Kris Land, CTO, diretor de tecnologia da InoStor Corp.

Algoritmos e Programação _ Departamento de Informática

Trabalho 3: Agenda de Tarefas

Ivan Guilhon Mitoso Rocha. As grandezas fundamentais que serão adotadas por nós daqui em frente:

Transcrição:

SUMÁRIO Introdução..................................... 3 1 Consultas por Similaridade e Espaços métricos............. 5 1.1 Consultas por abrangência e consultas aos k-vizinhos mais próximos... 5 1.2 Funções de distância............................. 5 2 Métodos de Acesso métricos......................... 7 2.1 Estrutura da Slim-tree............................ 8 2.2 Consultas por similaridade na Slim-tree................... 9 Conclusão..................................... 11 Referências..................................... 13 Apêndices 15 Anexos 17

INTRODUÇÃO

1 CONSULTAS POR SIMILARIDADE E ESPA- ÇOS MÉTRICOS 1.1 CONSULTAS POR ABRANGÊNCIA E CONSULTAS AOS K-VIZINHOS MAIS PRÓXIMOS Uma consulta por abrangência retorna todos os elementos dissimilares de um elemento de consulta até uma certa distância máxima de um objeto de consulta. Formalmente, seja S um domínio de dados, S S um conjunto de elementos, s q S um elemento de consulta, δ uma função de distância sobre elementos de S e ε um limiar de dissimilaridade, uma consulta por é dada por [1]: {s i S δ(s q, s i ) ε} Já as consultas aos k-vizinhos mais próximos retornam os k elementos mais similares da consulta. Formalmente, dado um domínio S, um conjunto de elementos S S, um elemento de consulta s q ε S, uma função de distância δ definida sobre S e um inteiro k 1, o resultado de uma consulta será [1]: K = {s i S s j S K, K = l, δ(s q, s i ) δ(sq, sj)} A Figura 1 representa visualmente esses dois tipos de consultas Figura 1 (a) simboliza a consulta por abrangência e (b) retrata a consulta aos 6-vizinhos mais próximos. 1.2 FUNÇÕES DE DISTÂNCIA Funções de distância medem a dissimilaridade entre dois objetos e, em seguida, retornam um valor real não negativo e um valor da função de distância igual a zero equivale à total similaridade [1]. As funções de distância mais famosas são da família Minkowski(L p ), entre elas de distância euclidiana(l 2 ) e a distância Manhattan(L 1 ). As

funções da família Minkowski são representados por [2]: ni=1 d(x 1... x 2 )(y 1... y n ) = p x 1 y 1 p Um espaço métrico é formalmente definido como um par M = S, δ, onde S é um domínio de dados e δ é uma métrica,isto é, uma função δ : S S R que expressa a distância entre elementos de S e que satisfaz as seguintes propriedades, para quaisquer s 1, s 2, s 3 S [1]. identidade: δ(s 1, s 2 ) = 0 simetria: δ(s 1, s 2 ) = δ(s 2, s 1 ) não-negativa: 0 < δ(s 1, s 2 ) <

2 MÉTODOS DE ACESSO MÉTRICOS Um método de acesso (MA) utiliza algum tipo de estrutura de dados para uma consulta não realizar uma busca sequencial sobre todos os elementos do conjunto de dados. Através de propriedades dos elementos indexados, um MA pode descartar parte desse conjunto, o que economiza acessos a disco. Os MAs mais importantes são as estruturas hierárquicas ou as árvores, como a B-Tree, R-Tree e Slim-Tree [3]. Inicialmente esses MAs receberam enfoque para tratamento de dados numéricos e pequenas cadeias de caracteres, ou seja, dados que definem uma ordem total entre eles. Porém, para dados mais complexos, como dados espaciais, foi necessária a criação de novos MAs, que lidam com dados de mais de uma dimensão. Um dos métodos de acesso que tratam esses tipos de dados foram os Métodos de Acessos Espaciais (MAEs), tendo no geoprocessamento sua principal aplicação. Alguns exemplos dessas árvores são a R-tree e a R*-tree. Contudo, essas árvores degradam quando tratam dados de altas dimensionalidades [1]. Para dados com muitas dimensões, foram criados os Métodos de Acessos Métricos (MAMs). Esse tipo de MA requer que os objetos estejam em um espaço métrico e os associa a partir de suas relações de similaridade. Os MAMs selecionam seus elementos e os colocam como representantes dos subconjuntos de dados. A partir disso, a distância de cada elemento inserido com seu representante é calculada e disposta em sua estrutura. Com essas informações, a desigualdade triangular pode ser aplicada, o que permite o descarte de elementos que não estarão no conjunto resposta [1]. Esses MAMs podem ser classificados pela forma que os representantes são escolhidos; como os objetos estão dispostos em relação ao representante; e se é permitido inserir ou remover os objetos sem degenerar a estrutura já criada (estático ou dinâmico). [1] Vários MAMs estáticos foram criados, como o VPT-TREE (Vantage Point tree), MVP-Tree(Multi-Vantage Point tree) e FQ-tree (Fixed-Queries Tree). Contudo, esses métodos, depois de criados, não podem ser atualizados, pois eles perdem as propriedades de sua estrutura. O primeiro MAM dinâmico criado foi o M-tree, que é uma árvore balanceada com crescimento bottom-up, com dois tipos de nós (internos e folhas) e que permite a inserção de elementos a qualquer momento. A Slim-Tree é uma evolução da M-tree, e entre suas contribuições, está um novo algoritmo de escolha dos representativos, baseado na árvore de cobertura minimal (Minimal Spanning Tree - MST) [1].

2.1 ESTRUTURA DA SLIM-TREE Na Slim-tree, assim como na B-tree e na M-tree, os elementos são reunidos em um tamanho fixo de acordo com o tamanho da página do disco. Todos os seus elementos são armazenados nas folhas, organizados em uma estrutura de árvore, em que um elemento representante é utilizado como a parte central dos elementos de uma região de cobertura dos elementos de uma subárvore. Esse método de acesso conta com dois tipos de nós, os nós folhas e os nós internos. Os nós folhas tem a disposição: Nó folha [vetor de OId i, d(s i, s rep ), s i ] em que OIdi é o identificador do elemento si e d(si,srep) é a distância entre o elemento si e seu representativo. A estrutura de um nó interno é a seguinte: Nó interno [vetor de s i, r i, d(s i, s rep ), Ptr(T si ), #Ent(Ptr(T si )) ] em que si armazena o elemento representante da subárvore apontada por Ptr(Tsi), ri é o raio de cobertura do nó, d(si,srep) é a distância entre si e o representante do nó e #Ent(Ptr(Tsi)) guarda o número de entradas da subárvore apontada por Ptr(Tsi). [1] A figura 2 retrata a estrutura de uma Slim-Tree. Figura 2 Exemplo de uma Slim-tree com 3 níveis. Os círculos brancos são os nós folhas e os cinzas são os nós internos. Os elementos representantes estão vinculados com a cor preta e o restante com a cor cinza. O algoritmo de inserção na Slim-tree tem início no nó raiz e sua estrutura é percor-

rida até se encontrar um nó folha. O objetivo é que não se aumente o raio de cobertura. Se o novo objeto não estiver dentro no raio de cobertura de nenhum nó interno, é selecionado o nó cuja distância com o novo elemento seja a menor. Se mais de um nó contiver o objeto dentro do seu raio de cobertura, o algoritmo de escolha de subárvore é aplicado [4]. O algoritmo de escolha de subárvore tem grande impacto sobre as características das árvores resultantes. A opção de ocupação miníma (minoccup), em que o nó que tenha o menor número de nós é classificado, gera árvores de menor altura, porém com um maior grau de sobreposição. A opção de distância mínima (mindist), em que o nó eleito é aquele que tiver a menor distância em relação ao novo elemento, gera árvores mais altas com um grau de sobreposição menor. Já a opção aleatória (random), em que o nó é escolhido sem nenhum critério, surpreendemente gera árvores tão boas quanto as outras duas [4]. Durante a inserção do novo elemento, existe a chance do nó escolhido já estar com sua capacidade máxima ocupada. Quando isso ocorre, é necessária a criação de um novo nó e a consequente redistribuição dos elementos entre o nó cheio e o recentemente alocado. Dois representativos são escolhidos e inseridos no nó pai. Se o processo de divisão ocorrer na raiz, uma nova raiz é criada e a altura da árvore é incrementada. A Slim-tree conta com três maneiras de se redistribuir os nós, entre elas: Aleatório (random): é o algoritmo mais rápido, pois a escolha dos representativos ocorre ao acaso. Mínimo dos Maiores Raios (minmax): método custoso, em que cada possível par de objetos é candidato a representativo. É escolhido o par de objetos que minimizar o raio de cobertura. Minimal Spanning Tree: A árvore de caminho é construída e é removido a aresta mais longa da árvore. Assim, dois agrupamentos são espalhados entre os nós e o objeto central de cada grupo é eleito como o representativo. 2.2 CONSULTAS POR SIMILARIDADE NA SLIM-TREE Os algoritmos de consulta por abrangência e aos k-vizinhos mais próximos podem ser utilizados em todas as árvores métricas e espaciais. A principal propriedade usada para se podar elementos, que não fazem parte do conjunto resposta, é a desigualdade triangular. Na realização do algoritmo da consulta por abrangência, o algoritmo tem início no nó raiz. Se o nó corrente é índice, tenta-se utilizar a desigualdade triangular a partir do representativo dos elementos desse nó e do elemento de consulta. Caso ainda não tenha sido possível podar a subárvore, é calculada a distância entre o elemento de consulta e o

elemento iterado para se aplicar a desigualdade triangular. Esse método é utilizado até o algoritmo atingir um nó folha, no qual é verificado se os elementos desse nó estão dentro do raio de consulta. Se estiverem no interior desse limiar, esse elemento é inserido no conjunto resposta. Já na consulta aos k-vizinhos mais próximos, a ordem de visita dos nós na árvore influencia seu desempenho, ao contrário das consultas por abrangência. Além disso, não há um raio de consulta predeterminado. Para sua realização, é utilizada uma fila de prioridade global de ponteiros para as páginas (subárvores), organizada em ordem crescente de distância mínima entre o elemento de consulta e a região coberta por uma subárvore.

CONCLUSÃO

REFERÊNCIAS 1 KASTER, D. d. S. Tratamento de condições especiais para busca por similaridade em bancos de dados complexos. Tese (Doutorado) Instituto de Ciências Matemáticas e de Computação(ICMC), Universidade de São Paulo (USP), 2012. 2 CIACCIA, P.; PATELLA, M.; ZEZULA, P. Similarity Search:The Metric Space Approach. [S.l.]: Springer, 2006. 3 POLA, I. R. V. Explorando conceitos da teoria de espaços métricos em consultas por similaridade sobre dados complexos. Tese (Doutorado) Instituto de Ciências Matemáticas e de Computação(ICMC), Universidade de São Paulo (USP), 2010. 4 VIEIRA, M. R. DBM-Tree: Método de acesso métrico sensível à densidade local. Dissertação (Mestrado) Instituto de Ciências Matemáticas e de Computação(ICMC), Universidade de São Paulo (USP), 2004.

Apêndices

Anexos