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