Buscar

Método de Acesso Métrico Dinâmico Eficiente

Prévia do material em texto

Desenvolvimento de um método de acesso métrico dinâmico
eficiente baseado em pivôs adicionais∗
Paulo Henrique de Oliveira1,
Prof. Dr. Daniel dos Santos Kaster1
1Programa de Pós-Graduação em Ciência da Computação
Universidade Estadual de Londrina
oliveira.ph17@gmail.com, dskaster@uel.br
Nı́vel Mestrado
Ano de ingresso no programa Agosto de 2013
Data da defesa da proposta Dezembro de 2014
Época esperada de conclusão Julho de 2015
Etapa Estado
Revisão bibliográfica Concluı́da
Definição do problema Concluı́da
Definição da metodologia Concluı́da
Definição da avaliação de resultados Concluı́da
Implementação do método Em desenvolvimento
Escrita do texto para o exame de qualificação Em desenvolvimento
Realização de experimentos Etapa futura
Análise de resultados Etapa futura
Resumo. Estruturas de indexação tradicionais não são adequadas para dados
complexos, uma vez que a relação de ordem total não se aplica para tais dados.
Existem estruturas adequadas para executar consultas sobre dados complexos,
como os Métodos de Acesso Métricos (MAMs). A utilização de pivôs em MAMs
permite particionar o espaço de busca de diferentes formas. Propostas recentes
de estruturas baseadas em pivôs globais têm apresentado bom desempenho em
consultas. Entretanto, o uso de pivôs globais pode comprometer a dinamicidade
das estruturas. Assim, este trabalho propõe a construção de um MAM dinâmico
baseado em múltiplos pivôs locais eficiente em termos de cálculos de distância
e de acessos a disco.
Palavras-chave: consultas por similaridade, MAMs, pivôs adicionais.
∗Os autores agradecem à CAPES o apoio financeiro para o desenvolvimento deste trabalho.
29th SBBD – WTDBD – ISSN 2316-5170 October 6-9, 2014 – Curitiba, PR, Brazil
paper:13
318
1. Fundamentação teórica
Dados complexos, no contexto deste trabalho, são dados que não são representáveis por
tipos de dados tradicionais, como números, datas e textos curtos. Dados multimı́dia, dados
georreferenciados e séries temporais são alguns exemplos de dados complexos. O volume
de dados complexos tem aumentado rapidamente devido à disseminação de dispositivos
de aquisição de dados, tais como câmeras digitais e equipamentos para exames médicos e
moleculares. O sucesso de serviços de compartilhamento como YouTube e Flickr é mais
uma evidência do crescimento desses tipos de dados [Barrios and Bustos 2011].
Para permitir a execução de consultas sobre dados complexos, usualmente, extrai-
se deles um conjunto de caracterı́sticas. A recuperação de dados complexos através dessas
caracterı́sticas é conhecida como recuperação baseada em conteúdo. O conjunto de ca-
racterı́sticas extraı́do, chamado de vetor de caracterı́sticas, é usado no lugar dos dados
originais para avaliar as consultas. Dados complexos são comparados através de relações
de (dis)similaridade entre pares de vetores de caracterı́sticas. Isso ocorre aplicando-se
uma função de distância cujo valor de retorno representa o quão distantes os dois vetores
de caracterı́sticas estão um do outro. Assim, consultas realizadas sobre dados complexos
são chamadas de consultas por similaridade. Essas consultas recuperam os elementos
mais similares ao elemento de consulta de acordo com a condição fornecida. As consultas
por similaridade mais comuns são a consulta por abrangência (Range query), que retorna
os elementos cuja dissimilaridade em relação ao elemento de consulta é menor ou igual a
um dado limiar, e a consulta aos k-vizinhos mais próximos (k-Nearest Neighbors query),
que retorna os k elementos mais similares ao elemento de consulta [Barioni et al. 2011].
Grande parte das estruturas de indexação implementadas por Sistemas Gerencia-
dores de Bancos de Dados (SGBDs) comerciais é capaz de executar consultas com muita
eficiência sobre dados tradicionais fazendo uso da propriedade de relação de ordem total
[Vieira et al. 2010]. O significado dessa propriedade é que, para cada par de elementos
do domı́nio, é possı́vel identificar qual deles precede o outro. No entanto, a propriedade
de relação de ordem total não se aplica para a maioria dos domı́nios de dados complexos
[Faloutsos 1996]. Portanto, as estruturas de indexação tradicionais não podem ser utiliza-
das para trabalhar em domı́nios complexos de forma apropriada. Por outro lado, existem
estruturas de indexação adequadas para a execução de consultas por similaridade sobre
dados complexos, dentre as quais destacam-se os Métodos de Acesso Métricos (MAMs).
1.1. Métodos de Acesso Métricos
Métodos de Acesso Métricos (MAMs) são estruturas de indexação que consideram que
os dados estão imersos em um espaço métrico. Um espaço métrico é definido por um par
〈S, δ〉, onde S é o domı́nio de dados e δ é uma função de distância definida sobre esse
domı́nio. A função δ : S× S 7→ R+ é denominada métrica e deve satisfazer as proprieda-
des a seguir, também conhecidas como postulados do espaço métrico [Zezula et al. 2006]:
• ∀x, y ∈ S, δ(x, y) ≥ 0 não-negatividade
• ∀x, y ∈ S, δ(x, y) = δ(y, x) simetria
• ∀x, y ∈ S, x = y ⇐⇒ δ(x, y) = 0 identidade
• ∀x, y, z ∈ S, δ(x, z) ≤ δ(x, y) + δ(y, z) desigualdade triangular
Com base nesses conceitos, os MAMs são capazes de indexar praticamente qual-
quer tipo de dado, sendo necessário apenas definir uma métrica para o domı́nio de dados
29th SBBD – WTDBD – ISSN 2316-5170 October 6-9, 2014 – Curitiba, PR, Brazil
319
em questão, que, tipicamente, são vetores de caracterı́sticas extraı́dos do conteúdo dos da-
dos complexos. Existem inúmeros MAMs relatados na literatura, categorizados em geral
com base em algumas caracterı́sticas. Uma caracterı́stica importante é se o MAM permite
responder a consultas de forma exata (a resposta é exata) ou aproximada (a precisão da
resposta é relaxada a fim de permitir uma execução mais eficiente). Outra caracterı́stica é
se a estrutura é estática (exige a existência a priori do conjunto de dados indexado e não
permite atualizações posteriores) ou dinâmica (permite adicionar elementos sem degene-
rar a estrutura). Por fim, o tipo de particionamento do espaço e o tipo dos pivôs (globais
ou locais) também são fatores importantes que diferenciam os MAMs. No contexto deste
trabalho, pivôs são elementos referenciados pelo restante dos elementos da base de dados
(ou por parte deles no caso de pivôs locais).
1.2. Escolha de pivôs em MAMs
O critério de escolha de pivôs no processo de construção dos MAMs influencia o desem-
penho das consultas, uma vez que eles ajudam a restringir a região de busca ao serem uti-
lizados na poda de elementos não relevantes. Estudos realizados por [Bustos et al. 2003]
apontam que bons pivôs estão distantes uns dos outros. Essa afirmação faz sentido, uma
vez que pivôs muito próximos tendem a dar a mesma informação no processo de poda.
Tipicamente, os pivôs podem ser pivôs globais ou pivôs locais. Pivôs globais são
referenciados por todos os elementos da base de dados, enquanto pivôs locais são refe-
renciados por apenas alguns elementos, isto é, cada pivô local é associado a um número
limitado de elementos do conjunto de dados. Para pivôs locais, existe também o critério
de proximidade: um pivô é bom se estiver próximo a algum elemento da base de dados ou
ao elemento de consulta. Em ambas as situações, o pivô fornece informações de distância
mais precisas em relação ao elemento de quem está próximo, o que torna mais efetiva a
poda de elementos não relevantes [Skopal and Hoksza 2007].
2. Caracterização da contribuição
2.1. Definição do problema e objetivo da pesquisa
MAMs que fazem uso de pivôs podem ser categorizados em: baseados em pivôs globais,
baseados em pivôs locais e hı́bridos. MAMs baseados em pivôs globais particionam bem
o espaço de busca se o número de pivôs e sua distribuição forem adequados. Porém, uma
eventual necessidade de modificaçãono conjunto de pivôs, em geral, exige a reconstrução
da estrutura. Por outro lado, a manutenção de pivôs locais requer a atualização de apenas
uma parte dos elementos indexados. Essa caracterı́stica é comum nos MAMs dinâmicos.
Para aprimorar o desempenho das estruturas dinâmicas com pivôs locais, uma estratégia
consiste em acrescentar pivôs globais ou locais. MAMs hı́bridos acrescentam pivôs glo-
bais, aumentando o desempenho, mas limitando a dinamicidade. Já no caso das propostas
existentes que utilizam múltiplos pivôs locais, os ganhos obtidos dizem respeito apenas à
redução no número de cálculos de distância.
Diante disso, este trabalho de mestrado tem como objetivo desenvolver um MAM
dinâmico baseado em múltiplos pivôs locais que seja eficiente tanto em termos de cálculos
de distância quanto de acessos a disco, explorando diferentes abordagens. O modo como
pretende-se atingir esses objetivos é descrito na subseção 2.2.
29th SBBD – WTDBD – ISSN 2316-5170 October 6-9, 2014 – Curitiba, PR, Brazil
320
2.2. Metodologia para resolução do problema
A metodologia desta proposta tem como foco estender um MAM dinâmico hierárquico.
As estratégias fundamentais do trabalho são: (i) eleger elementos em cada nó como pivôs
adicionais a fim de aprimorar a capacidade de poda da estrutura sem modificar a região de
cobertura dos nós, (ii) modificar a estrutura do nó a fim de obter os valores das distâncias
dos elementos aos pivôs e dos raios de cobertura sem acessar o nó em disco e (iii) definir
formas de particionamento dos nós em regiões disjuntas, mantendo a estrutura dinâmica.
As atividades a serem desenvolvidas são apresentadas a seguir.
1. Definir polı́ticas de escolha de pivôs adicionais.
2. Modificar o MAM para acrescentar pivôs adicionais sem alterar o particionamento
dos nós (i.e. as regiões de cobertura de cada nó são definidas pelo pivô principal).
3. Modificar a estrutura dos nós para antecipar o acesso às distâncias e aos raios.
4. Modificar o MAM definindo formas de particionamento dos nós em nós “gêmeos”
de forma que cubram regiões disjuntas. Note-se que as regiões de cobertura de nós
irmãos (não “gêmeos”) podem ainda ter sobreposição.
5. Acomodar essas mudanças nos métodos de inserção e remoção e nas consultas.
6. Executar experimentos e analisar os resultados.
7. Disseminar os resultados da pesquisa.
3. Estado atual do trabalho
Primeiramente, as atividades deste trabalho de mestrado concentraram-se no aprendizado
dos conceitos relacionados a dados complexos, buscas por similaridade, espaços métricos
e MAMs. Em seguida, iniciou-se o desenvolvimento do novo MAM utilizando a primeira
estratégia (utilizar pivôs adicionais sem modificar a região de cobertura dos nós), que usa
como base a estrutura hierárquica da Slim-tree [Traina Jr. et al. 2002]. Esta seção dá uma
visão geral da Slim-tree e do MAM em desenvolvimento, que recebeu o nome Slim*-tree.
3.1. Visão geral da Slim-tree
Na Slim-tree, os elementos são agrupados em páginas de tamanho fixo para serem grava-
dos em disco, cada página correspondendo a um nó da árvore, e são guardados nas folhas.
Os elementos são organizados em uma estrutura hierárquica em que um elemento deno-
minado representativo é utilizado como centro da região de cobertura de uma subárvore,
delimitada por um raio máximo. Cada elemento de um nó tem sua distância ao represen-
tativo calculada e armazenada no momento de construção da árvore. Isso é feito a fim de
que sejam economizados cálculos de distância durante as consultas.
Existem dois tipos de nós na Slim-tree: os nós ı́ndice (index nodes) e os nós folha
(leaf nodes). Um nó folha possui a seguinte estrutura:
leaf node [vetor de 〈OIDi, si, δ(si, srep)〉]
Nessa estrutura, OIDi é o identificador do elemento em questão, si é o elemento
propriamente dito, armazenado como um vetor de caracterı́sticas, e δ(si, srep) é a distância
de si ao representativo do nó. Um nó ı́ndice possui a seguinte estrutura:
index node [vetor de 〈si, ri, δ(si, srep), P tr(Tsi),#Ent(Tsi)〉]
Nessa estrutura, si é o vetor de caracterı́sticas do representativo da subárvore apon-
tada por Ptr(Tsi), ri é o raio de cobertura do nó dessa subárvore (definido pela distância
entre o representativo e o elemento mais distante nesse nó), δ(si, srep) é a distância de si
ao representativo dessa subárvore e #Ent(Tsi) é o número de entradas em Tsi .
29th SBBD – WTDBD – ISSN 2316-5170 October 6-9, 2014 – Curitiba, PR, Brazil
321
3.2. Visão geral da Slim*-tree
Na Slim*-tree, os elementos são organizados de forma hierárquica como na Slim-tree. A
principal diferença em sua estrutura está no conteúdo dos nós, de forma que os valores de
distância e o raio de cada elemento são deslocados um nı́vel acima para que sejam obtidos
antes de acessar o nó em disco, conforme descrito na subseção 2.2. Outra caracterı́stica é
que são escolhidos pivôs em cada nó para serem usados no processo de poda de elementos
não relevantes. Esse processo de poda faz uso da propriedade de desigualdade triangular
e ocorre da seguinte maneira:
1. Considerando o representativo do nó (Figura 1(a)), é podado todo elemento si (i.e.
não é preciso calcular a distância de si a sq) que satisfaz uma das inequações:
• δ(srep, si) + ri < δ(srep, sq)− ξ
• δ(srep, si)− ri > δ(srep, sq) + ξ
2. Para todo si não podado, considera-se cada um dos pivôs (Figura 1(b)) para tentar
podar mais elementos. É podado todo elemento que satisfaz uma das inequações:
• δ(pj, si) + ri < δ(pj, sq)− ξ
• δ(pj, si)− ri > δ(pj, sq) + ξ
Por fim, outra melhoria que a Slim*-tree possui é que os elementos de cada nó são
ordenados da maior para a menor soma da distância ao representativo mais o raio (apenas
pela distância ao representativo em um nó folha). Com isso, durante a varredura do nó que
utiliza a desigualdade triangular pelo representativo, ao encontrar o primeiro elemento que
satisfaz δ(srep, si) + ri < δ(srep, sq)− ξ, pode-se ignorar o restante dos elementos do nó
seguramente, pois sabe-se que eles não farão parte da resposta da consulta. Atualmente,
já existe uma implementação inicial da Slim*-tree em fase de testes.
 
s
q
s
rep
ξ
δ(s
rep
, s
q
) - ξ
δ(s
rep
, s
q
) + ξ
(a) Pelo representativo.
 
s
rep
δ(s
rep
, s
q
) - ξ
δ(s
rep
, s
q
) + ξ
s
q
ξ
p
δ(p, s
q
) - ξ
δ(p, s
q
) + ξ
(b) Pelo representativo mais um pivô adicional.
Figura 1. Processo de poda através da desigualdade triangular. Circunferências
pontilhadas representam nós podados durante a consulta.
29th SBBD – WTDBD – ISSN 2316-5170 October 6-9, 2014 – Curitiba, PR, Brazil
322
4. Trabalhos correlatos
Em [Traina Jr. et al. 2007], é proposta a técnica Omni, baseada em pivôs globais selecio-
nados a partir do conjunto de dados, que pode ser aplicada em diversos MAMs dinâmicos.
Tais MAMs podem ser considerados dinâmicos no que diz respeito a inserções e remoções
de elementos. No entanto, no caso de mudança de pivôs, deve-se atualizar toda a estrutura.
O trabalho de [Esuli 2012] apresenta um ı́ndice baseado em permutação, que realiza bus-
cas aproximadas, em que cada elemento é representado por uma sequência, ordenada em
relação à distância dos pivôs globais do conjunto, do pivô mais próximo ao pivô mais dis-
tante. A fim de economizar espaço em disco, são armazenados prefixos das permutações
que representam os elementos (daı́ o nome Permutation Prefix Index — PP-Index). Nesse
ı́ndice, também é necessário atualizar toda a estrutura no caso de mudança de pivôs. Como
resultado, esses métodos permitem diminuir os acessos a disco e os cálculos de distância.
Diferentemente desses métodos baseados em pivôs globais, a Slim-tree (apresen-
tada na subseção 3.1) usa pivôs locais, que são os representativos dos nós. Existe também
a M*-tree, proposta por [Skopal and Hoksza 2007], que utiliza múltiplos pivôs locaisem
cada nó, além do representativo. Tais métodos têm a vantagem de serem dinâmicos, pois
apenas parte da estrutura precisa ser reajustada quando há mudança de pivô. O mesmo
vale para a Slim*-tree, que é a proposta deste trabalho. Porém, tanto a Slim-tree quanto
a M*-tree são beneficiadas pelos pivôs apenas na redução de cálculos de distância. No
caso da Slim*-tree, deseja-se reduzir também os acessos a disco modificando-se sua es-
trutura. Outro método baseado em pivôs locais é a DAHC-tree [Almeida et al. 2010], cuja
maior diferença é o uso de regiões disjuntas e não disjuntas. Esse método é aproximado e
sua estrutura pode ser desbalanceada. Ele permite diminuir acessos a disco e cálculos de
distância. Porém, alguns de seus parâmetros dependem do conjunto de dados.
Existem também métodos hı́bridos. O trabalho feito por [Skopal et al. 2005] apre-
senta a PM-tree, uma estrutura que reduz a região de busca dos nós através de pivôs glo-
bais. Uma evolução dessa estrutura, a PM*-tree [Skopal and Hoksza 2007], acrescenta o
uso de múltiplos pivôs locais assim como na M*-tree. Entretanto, ambas são estáticas. Os
conceitos introduzidos pela PM-tree que diminuem a região de busca foram formalizados
em [Lokoč et al. 2014] e podem ser aplicados em outros métodos de acesso.
5. Avaliação dos resultados
Os resultados serão avaliados através de experimentos envolvendo dados reais e sintéticos.
No que diz respeito a dados reais, exemplos de bases de dados a serem usadas são: ALOI
[Geusebroek et al. 2005], que tem 72 mil imagens, e CoPhIR [Bolettieri et al. 2009], que
tem quase 106 milhões de imagens. Em relação a dados sintéticos, serão avaliados con-
juntos de dados variando-se a dimensionalidade, o tamanho e a distribuição dos dados. Os
parâmetros de avaliação incluem o desempenho de construção das estruturas, consumo de
espaço e desempenho de execução de consultas por similaridade. Esses são os parâmetros
normalmente considerados em trabalhos em que MAMs são desenvolvidos. Quanto ao de-
sempenho de consultas por similaridade, espera-se que seu tempo de execução seja menor
uma vez que os acessos a disco e os cálculos de distância possam ser reduzidos.
Referências
Almeida, J., Valle, E., da S. Torres, R., and Leite, N. J. (2010). DAHC-tree: An Effec-
tive Index for Approximate Search in High-Dimensional Metric Spaces. Journal of
29th SBBD – WTDBD – ISSN 2316-5170 October 6-9, 2014 – Curitiba, PR, Brazil
323
Information and Data Management, 1(3):375–390.
Barioni, M. C. N., Kaster, D. S., Razente, H. L., Traina, A. J. M., and Traina Jr., C.
(2011). Querying Multimedia Data by Similarity in Relational DBMS. In Yan, L. and
Ma, Z., editors, Advanced Database Query Systems: Techniques, Applications and
Technologies, pages 323–359. IGI Global, Hershey, PA, USA.
Barrios, J. M. and Bustos, B. (2011). Automatic Weight Selection for Multi-Metric Dis-
tances. In Proceedings of the 4th International Conference on Similarity Search and
Applications, SISAP ‘11, pages 61–68, New York, NY, USA. ACM.
Bolettieri, P., Esuli, A., Falchi, F., Lucchese, C., Perego, R., Piccioli, T., and Rabitti,
F. (2009). CoPhIR: a Test Collection for Content-Based Image Retrieval. CoRR,
abs/0905.4627v2.
Bustos, B., Navarro, G., and Chávez, E. (2003). Pivot selection techniques for proximity
searching in metric spaces. Pattern Recognition Letters, 24(14):2357–2366.
Esuli, A. (2012). Use of permutation prefixes for efficient and scalable approximate sim-
ilarity search. Information Processing & Management, 48(5):889–902.
Faloutsos, C. (1996). Searching Multimedia Databases by Content, volume 3 of Advances
in Database Systems. Kluwer Academic Publishers.
Geusebroek, J.-M., Burghouts, G. J., and Smeulders, A. W. M. (2005). The Amsterdam
Library of Object Images. International Journal of Computer Vision, 61(1):103–112.
Lokoč, J., Moško, J., Čech, P., and Skopal, T. (2014). On indexing metric spaces using
cut-regions. Information Systems, 43(0):1–19.
Skopal, T. and Hoksza, D. (2007). Improving the Performance of M-Tree Family by
Nearest-Neighbor Graphs. In Proceedings of the 11th East European Conference on
Advances in Databases and Information Systems, ADBIS ‘07, pages 172–188, Berlin,
Heidelberg. Springer-Verlag.
Skopal, T., Pokorný, J., and Snášel, V. (2005). Nearest Neighbours Search Using the
PM-Tree. In Zhou, L.-Z., Ooi, B. C., and Meng, X., editors, Database Systems for
Advanced Applications, volume 3453 of Lecture Notes in Computer Science, pages
803–815. Springer Berlin Heidelberg.
Traina Jr., C., Filho, R. F. S., Traina, A. J. M., Vieira, M. R., and Faloutsos, C. (2007).
The Omni-family of all-purpose access methods: a simple and effective way to make
similarity search more efficient. The VLDB Journal, 16(4):483–505.
Traina Jr., C., Traina, A. J. M., Faloutsos, C., and Seeger, B. (2002). Fast Indexing and
Visualization of Metric Data Sets Using Slim-Trees. IEEE Transactions on Knowledge
and Data Engineering, 14(2):244–260.
Vieira, M. R., Traina Jr., C., Chino, F. J. T., and Traina, A. J. M. (2010). DBM-Tree: A
Dynamic Metric Access Method Sensitive to Local Density Data. Journal of Informa-
tion and Data Management, 1(1):111–128.
Zezula, P., Amato, G., Dohnal, V., and Batko, M. (2006). Similarity Search — The Metric
Space Approach, volume 32 of Advances in Database Systems. Springer, 1st edition.
29th SBBD – WTDBD – ISSN 2316-5170 October 6-9, 2014 – Curitiba, PR, Brazil
324

Continue navegando