• Nenhum resultado encontrado

Em dom´ınios m´etricos, existem dois operadores principais de consulta por similaridade: a consulta por abrangˆencia (“range queries”, RQ), que considera os elementos que estejam at´e uma distˆancia limite do elemento de referˆencia; e a consulta aos vizinhos mais pr´oximos (“k-nearest neighbor queries”, k − NNQ) [Yianilos, 1993] [Korn et al., 1996] [Braunm¨uller et al., 2000], que limita os elementos do conjunto resposta a um n´umero m´aximo.

Considerando um conjunto de elementos S = {s1, s2, ..., sn} de um dom´ınio S, S ⊂ S,

uma fun¸c˜ao de distˆancia (m´etrica) d entre esses elementos, s˜ao apresentados a seguir os principais operadores de sele¸c˜ao por similaridade.

2.5.1

Consulta por abrangˆencia

Uma consulta por abrangˆencia recebe como parˆametros um elemento do dom´ınio de

dados sq ∈ S (chamado de elemento central da consulta ou elemento de referˆencia) e

um grau de dissimilaridade rq ≥ 0, e obt´em todos os elementos da base de dados S que

diferem do elemento da consulta sq por no m´aximo a dissimilaridade indicada rq.

Formalmente,tem-se:

range(sq,rq)={si|si ∈ S, d(si, sq) ≤ rq}

Um exemplo de consulta por abrangˆencia em uma base com dados geogr´aficos seria “selecione as cidades que estejam a uma distˆancia de at´e 100 quilometros da cidade apresentada como referˆencia”. Na Figura 2.3 pode-se ver uma ilustra¸c˜ao desse exemplo.

2.5.2

Consulta aos vizinhos mais pr´oximos

Uma consulta aos vizinhos mais pr´oximos recebe como parˆametros um elemento do

dom´ınio de dados sq ∈ S (o elemento de referˆencia, tamb´em chamado de elemento central

da consulta) e uma quantidade k > 0, e obt´em os k-elementos da base de dados mais pr´oximos do elemento da consulta.

Formalmente,tem-se:

2.5 Consultas por similaridade

s

q

r

q

Figura 2.3: Consulta por abrangˆencia.

Um exemplo de consulta de vizinhos mais pr´oximos em uma base de dados com imagens seria “selecione as 4 imagens mais similares `a imagem apresentada como referˆencia para a consulta”, como ilustrado na Figura 2.4

s

q

K=4

Figura 2.4: Consulta pelos vizinhos mais pr´oximos

2.5.3

Algoritmos para consultas por similaridade

Os algoritmos de consulta por abrangˆencia e aos k-vizinhos mais pr´oximos s˜ao aplic´aveis em todas as ´arvores m´etricas e espaciais [Roussopoulos et al., 1995]. Em ambos os algoritmos, a resposta ´e ordenada pela distˆancia dos elementos encontrados para o elemento de referˆencia da consulta.

Algoritmos de consultas por abrangˆencia range(sq,rq) tˆem o raio limitante rqconhecido durante todo o processo de busca. Assim, o algoritmo de consulta por abrangˆencia

percorre a estrutura e calcula a distˆancia entre o elemento de referˆencia sq com os

elementos armazenados si, e inclui na resposta todos aqueles que est˜ao a uma distˆancia

inferior ou igual ao raio de consulta rq.

J´a na consulta por vizinhos mais pr´oximos k-NN (sq,k), o raio limitante final da

resposta da consulta n˜ao ´e conhecido desde o in´ıcio da busca. Portanto, o raio limitante ´e dinˆamico, definido inicialmente com valor infinito. Da mesma maneira que o algoritmo de consultas por abrangˆencia, o algoritmo de consulta percorre a estrutura e calcula

a distˆancia entre o elemento de referˆencia sq com os elementos armazenados si. Se ´e

encontrado um elemento com distˆancia inferior ao raio limitante, este elemento ´e inserido na resposta. No caso de j´a haver k elementos na resposta, o elemento encontrado ´e inserido e ent˜ao o elemento mais distante da resposta anterior ´e cortado. Ao se preencher a resposta com k elementos, o raio limitante passa a ser atualizado a cada inser¸c˜ao com a distˆancia do k-´esimo elemento do conjunto resposta.

Em estruturas baseadas em ´arvores, uma sub´arvore somente ´e percorrida se seus elementos de controle (representantes) e o elemento central da consulta atenderem `a propriedade de desigualdade triangular da maneira determinada pelo algoritmo de busca de cada estrutura em particular [Traina Jr. et al., 2002b].

A ordem em que a estrutura de indexa¸c˜ao ´e percorrida n˜ao influencia o desempenho das consultas por abrangˆencia, mas pode influenciar muito o desempenho dos algoritmos de consultas aos vizinhos mais pr´oximos: encontrando os elementos mais pr´oximos no in´ıcio da execu¸c˜ao da consulta, o raio limitante dinˆamico ser´a reduzido mais rapidamente, aumentando as possibilidades de poda.

Muitos trabalhos foram propostos com o objetivo de acelerar o processo de

consultas por similaridade, principalmente k-NNQ [Roussopoulos et al., 1995,

Berchtold et al., 1998, Hjaltason & Samet, 1999, Samet, 2003, Chen et al., 2007,

Tao et al., 2009, Bustos & Navarro, 2009].

2.5 Consultas por similaridade

para estimar o raio da resposta da consulta foi proposto em [Arantes et al., 2003]. Em [Bueno et al., 2005a] s˜ao utilizados algoritmos gen´eticos para encontrar respostas aproximadas para k-NNQ e RQ. Em [Patella & Ciaccia, 2009] ´e apresentada uma revis˜ao bibliogr´afica das v´arias propostas para consultas por similaridade aproximadas.

Algoritmos para buscas incrementais aos vizinhos mais pr´oximos s˜ao discutidas em [Hjaltason & Samet, 1999]. Tais algoritmos baseiam-se no fato que ap´os a realiza¸c˜ao de uma consulta aos k vizinhos mais pr´oximos,o vizinho k + 1 pode ser obtido sem a necessidade de reiniciar a busca, tornando-os mais eficientes. Em [Park & Kim, 2003] ´e apresentada uma nova vers˜ao do algoritmo incremental para consultas com atributos n˜ao-espaciais em seu predicado, utilizando-os para podas.

V´arios trabalhos propuseram algoritmos k-NN para aplicac˜oes espec´ıficas. Em

[Koudas et al., 2004] s˜ao apresentadas consultas aproximadas de k-NN para aplica¸c˜oes de “data-stream”, em que os dados chegam continuamente e podem ser acessados somente uma vez . Em [Papadias et al., 2003] s˜ao apresentados algoritmos para consultas em redes espaciais (spatial network databases). J´a em [Ku et al., 2006] ´e apresentado o prot´otipo de um sistema baseado em informa¸c˜oes de tr´afego com algoritmos de k-NN desenvolvidos para “travel time networks” (TTN) , que utilizam o tempo de viagem ao inv´es da distˆancia, utilizada nas “spatial networks”.

Outros algoritmos baseados nas consultas ao vizinhos mais pr´oximos s˜ao chamados

de consultas k-NN cont´ınuas [Song & Roussopoulos, 2001, Huang et al., 2009]. Em

[Tao et al., 2002] ´e proposta a consulta “continuous nearest-neighbor” (CNN), que recupera os elementos mais pr´oximos de todos os pontos de um segmento de linha. Em [Hu & Lee, 2006] ´e proposta a consulta “range nearest-neighbor”(RNN), que dado um conjunto de dados de dimens˜ao d, recupera os elementos mais pr´oximos de todos os pontos de um hyper-retˆangulo de dimens˜ao d.

Varia¸c˜oes que levam a algoritmos bem mais custosos s˜ao as consultas aos vizinhos mais pr´oximos reversos (“reverse nearest neighbor queries” [Tao et al., 2006, Lee et al., 2008, Achtert et al., 2009, Tran et al., 2009]. Essas consultas retornam quais s˜ao os elementos do conjunto de dados que tˆem o elemento central da consulta como o vizinho mais

pr´oximo, com as correspondentes varia¸c˜oes que permitem retornar os elementos que tˆem o elemento central da consulta como um dos seus at´e k elementos mais pr´oximos [Tao et al., 2006, Xia et al., 2005]. Embora essas consultas sejam opera¸c˜oes de sele¸c˜ao, as consultas por similaridade reversas tˆem complexidade de execu¸c˜ao quadr´atica, semelhante aos operadores de jun¸c˜ao por similaridade.

Documentos relacionados