• Nenhum resultado encontrado

Restri¸ c˜ ao da fun¸ c˜ ao de distor¸ c˜ ao

Apesar de n˜ao ter sido definido um formalismo para definir poss´ıveis fun¸c˜oes de distor¸c˜ao neste trabalho, podem ser identificadas algumas regras para a defini¸c˜ao da fun¸c˜ao de distor¸c˜ao.

A fun¸c˜ao deve ser n˜ao-linear, pois uma fun¸c˜ao de distor¸c˜ao linear iria simples-mente aproximar ou afastar todos elementos no espa¸co, mas a distribui¸c˜ao, continu-aria a mesma, e ´e justamente a distribui¸c˜ao que se deseja mudar com uma fun¸c˜ao de distor¸c˜ao.

A B B D C D C A B C D A ptr(subárvore ) raio (m étrico) raio (distorcido) distância(pai) A Espaço Métrico Espaço Distorcido

Figura 4.6: Uma ´arvore TM

Al´em disso, deve-se garantir que qualquer objeto que est´a dentro de um raio de consulta no espa¸co m´etrico tamb´em est´a dentro do raio de consulta no espa¸co distorcido, n˜ao havendo, dessa forma, falsos negativos. Ou seja, dada uma fun¸c˜ao de distˆancia m´etrica d, uma fun¸c˜ao de distor¸c˜ao t e trˆes objetos o1, o2, o3 no espa¸co m´etrico, se d(o1, o2) > d(o1, o3) ent˜ao t(d(o1, o2)) > t(d(o1, o3)). Para que isso seja garantido, basta que a fun¸c˜ao t n˜ao seja decrescente em nenhum ponto. Portanto a fun¸c˜ao de distor¸c˜ao deve ser n˜ao-linear e n˜ao-decrescente, ou seja, deve ser crescente.

4.7 Experimentos

Foram feitos experimentos usando a ´arvore TM para verificar sua eficiˆencia. Indexou-se 200 elementos da base XML de bibliografia pelo elemento <TITLE> usando 4kB de tamanho de p´agina, e as fun¸c˜oes de distˆancia de Levenshtein e grams (veja Se¸c˜ao 3.2). V´arios ´ındices foram constru´ıdos usando-se diversas fun¸c˜oes para distorcer o espa¸co. As fun¸c˜oes usadas foram:

Arcotangente hiperb´olico: atanh(x) = 12 · ln(1+x 1−x) potˆencia2: x2

potˆencia30: x30 divX: x−1−1 − 1 potˆenciaX: 4x− 1

suas representa¸c˜oes gr´aficas est˜ao na figura 4.7. Todas elas respeitam as restri¸c˜oes propostas acima.

A compara¸c˜ao do desempenho usando a fun¸c˜ao de distˆancia baseada em grams ´e mostrada na figura 4.8. Por quest˜oes de escala, o gr´afico mostra o desempenho da busca at´e um raio de 0, 6, para que fiquem mais claras as diferen¸cas (um gr´afico com

atanh divX

potênciaX

potência2

potência30

Figura 4.7: Gr´afico das fun¸c˜oes usadas.

os raios de busca at´e 1 podem ser vistos na figura 4.9). Claramente, a aplica¸c˜ao dessa t´ecnica de distor¸c˜ao espacial (´arvore TM) teve um bom desempenho comparado com a fun¸c˜ao linear (nenhuma distor¸c˜ao no espa¸co, ou seja, a ´arvore M) tanto em rela¸c˜ao a c´alculos de distˆancia necess´arios (CPU) quanto a p´aginas de disco solicitadas (IO). A figura 4.10 mostra a compara¸c˜ao de desempenho usando-se a fun¸c˜ao de Le-venshtein sem distor¸c˜ao (linear) e com a fun¸c˜ao de distor¸c˜ao “potˆencia30”. O uso da fun¸c˜ao de distor¸c˜ao para a fun¸c˜ao de distˆancia de Levenshtein teve uma melhora bastante t´ımida comparada com a melhora proporcionada na fun¸c˜ao baseada em grams. Mas pode-se observar no gr´afico que o desempenho da busca com a fun¸c˜ao de Levenshtein j´a est´a bastante superior ao desempenho da busca usando-se a fun¸c˜ao grams. Isso ´e um ind´ıcio de que os agrupamentos gerados pela ´arvore M usando a fun¸c˜ao de Levenshtein j´a estavam mais homogˆeneos e portanto n˜ao precisavam ser t˜ao melhorados como no caso da fun¸c˜ao de grams.

Analisando-se o volume das ´arvores (figura 4.11), as fun¸c˜oes atanh, potˆencia2, potˆencia30 e divX geraram ´arvores menores do que a t´ecnica tradicional. A fun¸c˜ao potˆenciaX gerou ´arvores maiores, e por isso teve o desempenho prejudicado quando a consulta tem um raio muito grande. Mesmo assim, teve um bom desempenho para raios de buscas pequenos, que ´e o caso mais comum.

0 10 20 30 40 50 60 0 0,1 0,2 0,3 0,4 0,5 0,6 raio de busca IO linear potência2 potência30 atanh divX potênciaX

0

50

100

150

200

250

300

0 0,1 0,2 0,3 0,4 0,5 0,6

raio de busca CPU linear potência2 potência30 atanh divX potênciaX

Figura 4.8: Compara¸c˜ao do desempenho da ´arvore M e a ´arvore TM, indexando o campo <TITLE>, usando grams.

0 100 200 300 400 500 600 700 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 raio de busca CPU linear potênciar2 potência30 atanh divX potênciaX 0 50 100 150 200 250 300 350 400 450 500 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 raio de busca IO linear potência2 potência30 atanh divX potênciaX

Figura 4.9: Compara¸c˜ao do desempenho da ´arvore M e a ´arvore TM, indexando o campo <TITLE>, usando grams at´e raio de busca 1

0 20 40 60 80 100 120 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 raio de busca IO Levenshtein linear Levenshtein potência30 grams linear 0 50 100 150 200 250 300 350 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 raio de busca CPU Levenshtein linear Levenshtein potência30 grams linear

Figura 4.10: Compara¸c˜ao do desempenho da ´arvore M e a ´arvore TM, indexando o campo <TITLE>, usando a distˆancia de Levenshtein.

0 50 100 150 200 250 300 350 400 450 500 linear potência2 potência30 atanh divX potênciaX

5 CONCLUS ˜AO

Existem v´arios tipos de dados como imagem, sons, v´ıdeos, que requerem M´ eto-dos de Acesso mais sofisticaeto-dos. Para suprir essa necessidade, M´etodos de Acesso M´etricos vˆem sendo usados. A ´arvore M ´e um importante representante desse grupo, sendo pioneira em importantes caracter´ısticas como acesso a mem´oria secund´aria e dinamismo, servindo de base para M´etodos de Acesso mais sofisticados que vieram depois.

No entanto, identificou-se um problema nesse M´etodo de Acesso. Esse M´etodo de Acesso se baseia na constru¸c˜ao de grupos representados em uma ´arvore. Em alguns casos, esse agrupamento pode ficar bastante prejudicado devido a distribui¸c˜ao dos objetos no espa¸co indexado.

Esse problema foi solucionado introduzindo-se o espa¸co distorcido, onde os obje-tos s˜ao redistribu´ıdos de forma que o algoritmo de agrupamento dos objetos pode identificar melhor em que grupo inserir novos objetos gerando uma ´arvore cujo acesso ficou mais r´apido: a ´arvore TM.

5.1 Contribui¸c˜oes

S˜ao contribui¸c˜oes desse trabalho:

• Experimentos com a ´arvore M que mostraram o problema de agrupamentos desequilibrados, de forma que pode haver representativos com um grande raio em oposi¸c˜ao a outros representativos com raios pequenos e agrupando poucos elementos, desperdi¸cando espa¸co de armazenamento.

• A proposta de uma fun¸c˜ao de distor¸c˜ao, definindo um novo espa¸co chamado de distorcido.

• A id´eia de se usar dois espa¸cos em um M´etodo de Acesso. At´e ent˜ao, sempre se trabalhou em apenas um espa¸co. Usando-se mais de um espa¸co, pode-se ter mais de uma vis˜ao de um mesmo universo. No caso desse trabalho, aproveitou-se o espa¸co m´etrico para fazer a consulta, e o espa¸co distorcido para indexa¸c˜ao dos objetos.

• A solu¸c˜ao para o problema identificado na arvore M: definindo-se o espa¸co distorcido e usando ele em conjunto com o espa¸co m´etrico, se criou a ´arvore TM, que apresentou desempenho no acesso bastante superior a ´arvore M As seguintes publica¸c˜oes resultaram desse trabalho:

• NADVORNY, C. F.; HEUSER, C. A. Twisting the Metric Space to Achieve Better Metric Trees. In: SIMP ´OSIO BRASILEIRO DE BANCO DE DADOS, SBBD, 19., 2004, Bras´ılia. Anais. . . , 2004. p.178–190.

• NADVORNY, C. F.; HEUSER, C. A. ´Arvore TM: melhorando ´Arvores m´ e-tricas agrupando melhor os objetos. In: ESCOLA REGIONAL DE BANCO DE DADOS, ER-BD, 1., 2005, Porto Alegre. Anais. . . , 2005. p.1–6.

5.2 Trabalhos futuros

Como mencionado no Cap´ıtulo 4, n˜ao foi definida uma forma de se encontrar a fun¸c˜ao de distor¸c˜ao ideal para determinado espa¸co m´etrico. A an´alise do espa¸co m´etrico determinando a fun¸c˜ao de distor¸c˜ao ideal para aquele espa¸co ´e um trabalho em aberto.

As fun¸c˜oes utilizadas para a distor¸c˜ao do espa¸co foram todas n˜ao m´etricas. Ape-nas com fun¸c˜oes n˜ao m´etricas se conseguiu o efeito de distor¸c˜ao espacial necess´ario para o melhor agrupamento dos objetos. Mas isso cria o problema na falha da busca, sendo necess´ario o uso do espa¸co m´etrico tamb´em. Encontrar uma fun¸c˜ao m´etrica que gere uma distribui¸c˜ao espacial adequada ao agrupamento seria, portanto, bas-tante ´util, sendo outro trabalho futuro.

O espa¸co distorcido definido nesse trabalho foi aplicado apenas a ´arvore M. No entanto, existe uma s´erie de outros M´etodos de Acesso mais sofisticados do que a ´

arvore M que tamb´em devem se beneficiar do uso do espa¸co distorcido. Portanto, a implementa¸c˜ao e experimenta¸c˜ao com esses outros M´etodos de Acesso tamb´em est´a entre os trabalhos futuros.

Os experimentos apresentados aqui foram todos com bases em XML. A ´arvore TM pode ser usada para indexa¸c˜ao de qualquer tipo de objeto imers´ıvel no espa¸co m´etrico, como som, imagem, texto. Seria interessante ter um base de testes mais abrangente, contendo v´arios tipos diferentes de objetos indexados e fazer experi-mentos usando consultas pelos vizinhos mais pr´oximos (N Nk) al´em da consulta por abrangˆencia (RQ). Al´em disso, devido a dificuldades t´ecnicas, o volume da base n˜ao foi muito grande. Experimentos com bases maiores poderiam mostrar estat´ısticas mais precisas.

REFERˆENCIAS

BAEZA-YATES, R. A.; CUNTO, W.; MANBER, U.; WU, S. Proximity Matching Using Fixed-Queries Trees. In: ANNUAL SYMPOSIUM ON COMBINATORIAL PATTERN MATCHING, 5., 1994, London, UK. Proceedings. . . [S.l.]: Springer-Verlag, 1994. p.198–212.

BAYER, R.; MCCREIGHT, E. M. Organization and Maintenance of Large Ordered Indexes. Acta Informatica, Berlin, v.1, n.3, p.173–189, Feb. 1972.

BECKMANN, N.; KRIEGEL, H.-P.; SCHNEIDER, R.; SEEGER, B. The R*-Tree: an efficient and robust access method for points and rectangles. In: ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 1990, Atlan-tic City, NJ. Proceedings. . . [S.l.: s.n.], 1990. p.322–331.

BENTLEY, J. L. Multidimensional Binary Search Trees Used for Associative Sear-ching. Communications of the ACM, [S.l.], v.18, n.9, p.509–517, Sept. 1975. BENTLEY, J. L. Multidimensional Binary Search Trees in Data Base Applications. IEEE Transactions on Software Engineering, [S.l.], v.SE-5, n.4, p.333–340, July 1979.

BERCHTOLD, S.; KEIM, D. A.; KRIEGEL, H.-P. The X-tree: an index structure for high-dimensional data. In: INTERNATIONAL CONFERENCE ON VERY LARGE DATA BASES, VLDB, 22., 1996, Mumbai (Bombay), In-dia. Proceedings. . . [S.l.]: Morgan Kaufmann, 1996. p.28–39. Dispon´ıvel em <http://www.vldb.org/conf/1996/P028.PDF>. Acesso em: mar. 2003.

BIMBO, A. del. Visual Information Retrieval. San Francisco, California: Mor-gan Kaufmann, 1999.

B ¨OHM, C.; BERCHTOLD, S.; KEIM, D. A. Searching in high-dimensional spaces: Index structures for improving the performance of multimedia databases. ACM Computing Surveys, [S.l.], v.33, n.3, p.322–373, Sept. 2001.

BOZKAYA, T.; OZSOYOGLU, M. Distance-Based Indexing for High-Dimensional Metric Spaces. SIGMOD Record, New York, v.26, n.2, p.357–368, June 1997. Trabalho apresentado na ACM SIGMOD International Conference on Management of Data; SIGMOD, 1997.

BRAGANHOLO, V. d. P.; FEIJ ´O, D. d. V. Estudo de solu¸c˜oes co-merciais para integra¸c˜ao relacional/XML. 2002. Dispon´ıvel em

<http://www.mycgiserver.com/˜diegofeijo/disciplinas/cmp303/ProjetoPesquisa2.pdf>. Acesso em: jan. 2003.

BRIN, S. Near Neighbor Search in Large Metric Spaces. In: INTERNATIONAL CONFERENCE ON VERY LARGE DATA BASES, VLDB, 21., 1995, Zurich, Swit-zerland. Proceedings. . . San Francisco: Morgan Kaufmann, 1995. p.574–584. BURKHARD, W. A.; KELLER, R. M. Some Approaches to Best-Match File Sear-ching. Communications of the ACM, [S.l.], v.16, n.4, p.230–236, Apr. 1973. CAVNAR, W. B. N-gram-based text filtering for TREC-2. In: TEXT RETRIEVAL CONFERENCE, TREC, 2., 1993. Proceedings. . . [S.l.: s.n.], 1993.

CHAVEZ, E.; NAVARRO, G.; BAEZA-YATES, R. A.; MARROQUIN, J. L. Sear-ching in metric spaces. ACM Computing Surveys, [S.l.], v.33, n.3, p.273–321, 2001.

CHIUEH, T. Content-Based Image Indexing. In: INTERNATIONAL CONFE-RENCE ON VERY LARGE DATA BASES, VLDB, 20., 1994, Santiago, Chile. Proceedings. . . Hove: Morgan Kaufmann, 1994. p.582–593.

CIACCIA, P.; PATELLA, M. The M2-tree: processing complex multi-feature queries with just one index. In: DELOS NETWORK OF EXCELLENCE WORKSHOP, 1., 2000. Proceedings. . . [S.l.: s.n.], 2000.

CIACCIA, P.; PATELLA, M.; ZEZULA, P. M-tree: an efficient access method for similarity search in metric spaces. In: INTERNATIONAL CONFERENCE ON VERY LARGE DATA BASES, VLDB, 23., 1997. Proceedings. . . [S.l.: s.n.], 1997. p.426–435.

DORNELES, C. F.; LIMA, A. E. N.; HEUSER, C. A. Experiments on simila-rity query over XML data sources. Porto Alegre: Universidade Federal do Rio Grande do Sul, 2003. (RP-337).

FINKEL, R. A.; BENTLEY, J. L. Quad Trees: A data structure for retrieval on composite keys. Acta Informatica, Berlin, v.4, n.1, p.1–9, Nov. 1974.

FREESTON, M. A General Solution of the n-dimensional B-tree Problem. In: ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 1995, San Jose, California. Proceedings. . . [S.l.: s.n.], 1995. p.80–91.

FUCHS, H.; ABRAM, G. D.; GRANT, E. D. Near real-time shaded display of rigid objects. Computer Graphics, Detroit, MI, v.17, n.3, p.65–72, July 1983.

FUCHS, H.; KEDEM, Z. M.; NAYLOR, B. F. On Visible Surface Generation by a Priori Tree Structures. Computer Graphics, [S.l.], v.14, n.3, p.124–133, July 1980. GAEDE, V.; G ¨UNTHER, O. Multidimensional access methods. ACM Computing Surveys, [S.l.], v.30, n.2, p.170–231, June 1998.

GUTTMAN, A. R-trees: a dynamic index structure for spatial searching. SIGMOD Record (ACM Special Interest Group on Management of Data), [S.l.], v.14, n.2, p.47–57, 1984.

HENRICH, A.; SIX, H.-W.; WIDMAYER, P. The LSD tree: spatial access to multidimensional point and nonpoint objects. In: INTERNATIONAL CONFE-RENCE ON VERY LARGE DATA BASES, 15., 1989, Amsterdam, The Nether-lands. Proceedings. . . Palo Alto: Morgan Kaufmann, 1989. p.45–53.

JAGADISH, H. V. Spatial Search with Polyhedra. In: IEEE INTERNATI-ONAL CONFERENCE ON DATA ENGINEERING, 1990, Los Angeles, CA. Proceedings. . . [S.l.: s.n.], 1990. p.311–319.

LEVENSHTEIN, V. I. Binary codes capable of correcting spurious insertions and deletions of ones. Russian Problemy Peredachi Informatsii, [S.l.], v.1, p.12–25, Jan. 1965.

LOMET, D. B.; SALZBERG, B. A Robust Multi-Attribute Search Structure. In: INTERNATIONAL CONFERENCE ON DATA ENGINEERING, 5., 1989, Los An-geles, CA. Proceedings. . . [S.l.: s.n.], 1989. p.296–304.

LOMET, D. B.; SALZBERG, B. The hB-Tree: A multiattribute indexing method with good guaranteed performance. ACM Transactions on Database Systems, [S.l.], v.15, n.4, p.625–658, Dec. 1990.

OHSAWA, Y.; SAKAUCHI, M. A New Tree Type Data Structure with Homoge-neous Nodes Suitable for a Very Large Spatial Database. In: INTERNATIONAL CONFERENCE ON DATA ENGINEERING, 6., 1990. Proceedings. . . Los Ala-mitos: IEEE Computer Society Press, 1990.

OOI, B. C. Spatial kd-Tree: an indexing mechanism for spatial databases. In: IEEE COMPUTER SOFTWARE AND APLICATIONS CONFERENCE, 1987. Proceedings. . . [S.l.: s.n.], 1987. p.433–438.

PATELLA, M. Similarity Search in Multimedia Databases. 1999. Ph.D. in Electronic and Computer Engineering — Universit`a degli Studi di Bologna, Bologna. PREPARATA, F. P.; SHAMOS, M. I. Computational Geometry. New York: Springer-Verlag, 1985.

ROBINSON, J. T. The K-D-B-Tree: A search structure for large multidimensio-nal dynamic indexes. In: ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 1981, Ann Arbor, Michigan. Proceedings. . . New York: ACM Press, 1981. p.10–18.

SAMET, H. The Quadtree and Related Hierarchical Data Structures. ACM Com-puting Surveys, [S.l.], v.16, n.2, p.187–260, June 1984.

SAMET, H.; WEBBER, R. E. Storing a collection of polygons using quadtrees. ACM Transactions on Graphics, [S.l.], v.4, n.3, p.182–222, July 1985.

SANTOS FILHO, R.; TRAINA, A. J. M.; TRAINA J ´UNIOR, C.; FALOUTSOS, C. Similarity Search without Tears: the OMNI-family of all-purpose access methods. In: INTERNATIONAL CONFERENCE ON DATA ENGINEERING, ICDE, 17., 2001, Heidelberg, Germany. Proceedings. . . Washington: IEEE, 2001. p.623–632.

SCHIWIETZ, M. Speicherung und anfragebearbeitung komplexer geo-objekte. 1993. Tese (Doutorado em Ciˆencia da Computa¸c˜ao) — Ludwig-Maximilians-Universit¨at M¨unchen, Germany.

SELLIS, T. K.; ROUSSOPOULOS, N.; FALOUTSOS, C. The R+-Tree: a dynamic index for multi-dimensional objects. In: INTERNATIONAL CONFE-RENCE ON VERY LARGE DATA BASES, VLDB, 13., 1987, Brighton, England. Proceedings. . . [S.l.]: Morgan Kaufmann, 1987. p.507–518.

TRAINA J ´UNIOR, C.; TRAINA, A. J. M.; SANTOS FILHO, R.; FALOUTSOS, C. How to improve the pruning ability of dynamic metric access methods. In: IN-TERNATIONAL CONFERENCE ON INFORMATION AND KNOWLEDGE MA-NAGEMENT, CIKM, 11., 2002. Proceedings. . . New York: ACM Press, 2002. p.219–226.

TRAINA J ´UNIOR, C.; TRAINA, A. J. M.; SEEGER, B.; FALOUTSOS, C. Slim-Trees: high performance metric trees minimizing overlap between nodes. In: INTER-NATIONAL CONFERENCE ON EXTENDING DATABASE TECHNOLOGY, EDBT, 7., 2000, Konstanz, Germany. Proceedings. . . [S.l.]: Springer, 2000. p.51– 65.

UHLMANN. Satisfying General Proximity / Similarity Queries with Metric Trees. IPL: Information Processing Letters, [S.l.], v.40, 1991.

VIEIRA, M. R. DBM-Tree: M´etodo de acesso m´etrico sens´ıvel `a densidade local. 2004. Disserta¸c˜ao (Mestrado em Ciˆencia da Computa¸c˜ao) — Universidade de S˜ao Paulo.

W3C. XML Path Language (XPath) 1.0. Dispon´ıvel em

<http://www.w3.org/TR/xpath>. Acesso em: dez. 2002.

W3C. XQuery 1.0: an xml query language . Dispon´ıvel em <http://www.w3.org/TR/xquery>. Acesso em: dez. 2002.

YIANILOS, P. N. Excluded Middle Vantage Point Forests for Nearest Neigh-bor Search. In: DIMACS IMPLEMENTATION CHALLENGE WORKSHOP: NEAR NEIGHBOR SEARCHES, 6., 1999, Baltimore, Maryland. Proceedings. . . [S.l.: s.n.], 1999.

ZHOU, X. et al. A New Dynamical Multidimensional Index for Metric Spaces. In: AUSTRALIAN DATABASE CONFERENCE, 4., 2003, Adelaide, Australia. Proceedings. . . [S.l.: s.n.], 2003. p.1–8.

Documentos relacionados