Вы находитесь на странице: 1из 22

O conteudo do presente relatorio e de unica responsabilidade do(s) autor(es).

(The contents of this report are the sole responsibility of the author(s).)

Paradigmas de algoritmos na soluc~o de a problemas de busca multidimensional


frezende|filetog@dcc.unicamp.br

Pedro J. de Rezende Renato Fileto

Relatorio Tecnico DCC{95-01

Janeiro de 1995

Paradigmas de algoritmos na soluc~o de a problemas de busca multidimensional


Pedro J. de Rezende Renato Fileto

frezende|filetog@dcc.unicamp.br

Neste trabalho, descrevemos alguns problemas de busca em subespacos (range se) e soluc~es encontradas na literatura, a partir das quais s~o identi cados dois o a paradigmas de algoritmos: arvores de partic~o e linearizac~o. Estes paradigmas levam a a a algumas das soluc~es assintoticamente otimas e a soluc~es generalizadas para detero o minados tipos de problemas de busca em subespacos. A abordagem adotada possibilita uma vis~o geral e abrangente das tecnicas envolvidas, encarando diversas soluc~es disa o tintas como variac~es de uma mesma concepc~o basica. Realcamos ainda possibilidades o a de aplicac~o e quest~es abertas, levantando os poss veis impactos da evoluc~o das pesa o a quisas a respeito de buscas multidimensionais.
arch

Sumario

In this paper, we describe some range search problems and solutions found in the literature, from which two algorithmic paradigms are identi ed: partition trees and linearization. These paradigms lead to some asymptotically optimal solutions and to generalized solutions for certain types of range search problems. The adopted approach propitiates a general view of the techniques, in such a way that several distinct solutions are perceived as variants of the same basic conception. We emphasize the applications and related subjects of research, giving a avor of the possible e ects that may result from the evolution of the methods for multidimensional search.

Abstract

1 Introduc~o a
Este artigo considera soluc~es para alguns problemas de busca em varias dimens~es, os quais o o pertencem a uma classe mais ampla, conhecida como problemas de busca. A literatura a respeito, no enfoque de projeto de algoritmos e geometria computacional, e farta e inclui muitos resultados recentes. Diversas soluc~es t^m sido apresentadas com diferentes relac~es o e o entre as medidas de desempenho assintotico, cada vez mais proximas das cotas inferiores estabelecidas.
y

SP.

Trabalho desenvolvido com o apoio nanceiro do CNPq e da Fapesp. Departamento de Ci^ncia da Computac~o, IMECC, Caixa Postal 6065, UNICAMP, 13081-970 Campinas e a

O valor dos resultados relativos a problemas de busca multidimensional esta tanto no suporte que oferecem a soluc~o de outros problemas nas areas de algoritmos, geometria a computacional e computac~o gra ca, quanto na possibilidade de derivac~o de novos metodos a a de acesso multi-chave e a dados geometricos dispersos num espaco multidimensional (ou aperfeicoamento dos metodos ja existentes), os quais s~o de grande valia em aplicac~es a a o areas como bancos de dados, geoprocessamento e projeto auxiliado por computador (CAD). Analisando algumas das soluc~es de um ponto de vista geral, de modo a destacar aso pectos em comum entre elas, pode-se identi car algumas abordagens gerais relacionadas a concepc~o basica dessas soluc~es, que classi camos como paradigmas de algoritmos. Alguns a o desses paradigmas s~o ilustrados nas soluc~es descritas neste trabalho. Eles permitem estaa o belecer uma vis~o uni cadora e encarar diversas soluc~es como manifestac~es de um mesmo a o o fundamento racional, propiciando uma certa sistematizac~o. a Este artigo e organizado em 5 sec~es. Na sec~o 2, s~o fornecidos os conceitos e claso a a si cac~es basicos, a m de localizar a area de estudo e prover os fundamentos necessarios o a compreens~o dos resultados descritos posteriormente. Na sec~o 3 s~o descritas algumas a a a soluc~es para os problemas considerados, de modo a ilustrar as tecnicas envolvidas, evideno ciando alguns paradigmas de algoritmos. Na sec~o 4 esses paradigmas s~o discutidos em a a maior grau de generalizac~o, procurando formalizar as de nic~es e apresentar o potencial a o de utilizac~o. Finalmente, na sec~o 5 s~o resumidas as contribuic~es. Em todas as sec~es a a a o o s~o oferecidas refer^ncias adicionais detalhando os assuntos e/ou estendendo o tema central. a e

Problemas de busca aparecem frequentemente em computac~o e diversos problemas podem a ser reduzidos a busca ou vistos como inst^ncias desta classe de problemas. De nic~es para a o problemas de busca em geral podem ser encontradas em Knu73, Ben79, Mel84, IRKV88]. Esses problemas envolvem uma base de dados a respeito dos quais deseja-se extrair alguma informac~o ou determinar se satisfazem determinadas propriedades. a Ha dois tipos de consultas poss veis em problemas de busca:

2.1 Problemas de busca

2 Conceitos basicos

Consultas unitarias: A consulta e feita somente uma vez, dispensando qualquer tipo de preprocessamento que pudesse agilizar as buscas. Exemplos: calcular a domin^ncia dos pontos de um conjunto, conjunto dominante e a par mais proximo (enunciados destes problemas podem ser encontrados em PS85]). Consultas em modo repetitivo: S~o realizadas repetidas consultas sobre uma mesma colec~o a a de dados, cada qual relativa a algum objeto de consulta, obtido de um espaco de objetos de consulta possivelmente in nito. Em cada consulta, deseja-se identi car (ou simplesmente contar) os objetos da base de dados satisfazendo a uma dada propriedade com relac~o ao objeto de consulta. Pode ser util arranjar a informac~o em uma a a estrutura organizada e mant^-la armazenada, a m de facilitar as buscas, o que, se e

realizado, implica num custo de memoria e pre-processamento (e, no caso de estruturas din^micas, de reorganizac~o). Esses custos s~o compensados pela agilizac~o dos a a a a tempos das buscas, que s~o realizadas repetidas vezes. a Exemplos: busca em subespaco (range search)1, domin^ncia de um ponto e k vizinhos a mais proximos a um dado ponto. Outra classi cac~o para as consultas diz respeito ao tipo de resposta a ser retornado. a Problemas de enumerac~o s~o aqueles onde a resposta consiste em enumerar os elementos da a a base de dados satisfazendo uma propriedade. Ha outras possibilidades como, por exemplo, retornar simplesmente a quantidade desses elementos de dados. A analise de desempenho dos metodos de busca com consultas em modo repetitivo para um conjunto P de N objetos de dados armazenados, usualmente leva em considerac~o as a quatro (ou, muitas vezes apenas as tr^s primeiras) medidas de custo abaixo, que s~o func~es e a o de N : 1. tempo de consulta: o tempo de processamento de uma consulta; 2. uso de memoria: a quantidade de espaco de memoria requerida pela estrutura preprocessada; 3. tempo de pre-processamento: o tempo necessario para montar a estrutura de dados de busca; 4. tempo de atualizac~o: pode ser o tempo despendido para inserir um elemento, o tempo a para remover um elemento ou o tempo para atualizar (reorganizar) a estrutura apos um certo numero de inserc~es e remoc~es. o o As medidas de complexidade acima podem ser tanto de pior caso quanto de caso medio e neste trabalho, trataremos sempre de medidas de complexidade de pior caso. O tempo de consulta no caso de problemas de enumerac~o (veja sec~o 2.2) costuma ser a a denotado por (f (N )+k) onde f (N ), denominado tempo de busca, e o tempo despendido para procurar na estrutura pre-processada os elementos satisfazendo a propriedade em quest~o e a k e o tamanho da sa da (quantidade de elementos satisfazendo a propriedade), que e o tempo m nimo necessario para retorna-la. Esta separac~o permite contornar o limite inferior trivial a de pior caso O(N ) para o tempo total de consulta, possibilitando uma comparac~o mais a acurada entre os metodos nas situac~es em que k 2 o(N ). o As duas medidas de complexidade mais importantes em grande parte das situac~es s~o o a o tempo de consulta e o uso de memoria. Os diversos metodos existentes para um mesmo problema proporcionam diversas relac~es distintas entre essas grandezas. Assim, e comum o referir-se aos metodos com tempo de consulta e uso de memoria proporcionais a f (N ) + k e g (N ), respectivamente, como sendo da ordem de O(f (N ) + k; g (N )). O tempo de preprocessamento algumas vezes pode ser desprezado, por ser efetuado uma unica vez, ao passo que a memoria dispensada para a estrutura pre-processada ca comprometida durante todo o tempo em que se desejar efetuar consultas.
1 Como n~o ha uma traduc~o estabelecida na literatura em portugu^s para o termo range, das traduc~es a a e o de range search: \busca em sub-regi~o" e \busca em subespacos", preferimos esta ultima. Para uma de nic~o a a do problema veja sec~o 2.2. a

Um desa o persistente na area de problemas de busca e conseguir soluc~es e cientes para o buscas em varias dimens~es. Dois termos comumente empregados para designar busca o em varias dimens~es s~o busca multidimensional (multidimensional search) DL76] e busca o a geometrica (geometric retrieval) CY85, PS85]. Este trabalho trata especi camente de alguns problemas de busca em varias dimens~es o denominados problemas de busca em subespacos (range search). Na vers~o consultas em a modo repetitivo, um problema de busca em subespacos, com objetos de dados pontuais pode ser formalmente enunciado da seguinte maneira:

2.2 O problema de busca em subespacos

Busca em subespacos: Sejam 1; 2; : : :; d espacos topologicos totalmente ordenados. Seja = 1 2 : : : d o produto cartesiano desses espacos (espaco multidimensional ou espaco d-dimensional). Seja P ; P = fp1; p2; ; pN g um conjunto nito de pontos dispersos em , constituindo a base de dados (conjunto de dados armazenados). Denota-se um ponto p 2 P por p = (x1; x2; : : :; xd) com xi 2 i (1 i d). Seja 2 um conjunto de subespacos de busca, de nidos atraves de alguma colec~o de predicados. a Deseja-se pre-processar P de modo a responder e cientemente a consultas relativas a quais pontos de P est~o contidos em um subespaco de busca 2 . a
Os tipos das respostas a serem fornecidas permitem uma classi cac~o das consultas em a tr^s tipos: e

Consultas de enumerac~o: Enumerar os pontos em P \ . a Consultas de contagem: Determinar o numero de pontos em P \ (jP \ j). Consultas de vacuosidade: Determinar se algum ponto de P esta contido em (P \ = ; ?).
O conjunto dos subespacos de busca permitidos e o principal determinante de um problema de busca em subespacos. Uma vez de nido o par (P; ), pode-se pre-processar a base de dados P , produzindo uma estrutura de dados T para auxiliar a responder consultas para qualquer 2 . Neste trabalho lida-se com o caso em que os objetos de dados s~o pontos em um espaco a multidimensional e explora-se variac~es da formulac~o do problema caracterizadas pelos o a formatos de subespacos de busca admitidos nas consultas2 . Entre os problemas classicos
2 Argumentos a favor desta abordagem, do ponto de vista da aplicabilidade, podem ser encontrados em Fil94].

encontrados na literatura para i = R (1 subespacos para d = 2 na gura 1):

d) encontram-se (veja ilustrac~es dos o

(a) - retangular

(b) - circular

(c) - semi-espaco

(d) - simplicial

Figura 1: Alguns tipos de subespacos de busca no plano euclideano. busca em subespaco ortogonal (tambem conhecida por busca em subespaco hiperretangular): O subespaco de busca e = 1 2 : : : d , o produto cartesiano de intervalos i = ai ; bi] i (1 i d), denotando um hiper-ret^ngulo, com as arestas a paralelas aos eixos coordenados ( gura 1-a). busca em subespaco circular: O subespaco de busca e um hiper-disco (o; r) de centro o e raio r arbitrarios3 ( gura 1-b). busca em semi-espaco: O subespaco de busca e um semi-espaco (h) do espaco limitado por um hiperplano h ( gura 1-c). busca em subespaco simplicial: O subespaco de busca e delimitado por um simplexo4 . A gura 1-d ilustra um simplexo em R2 (um tri^ngulo). a

dos resultados existentes na literatura digam respeito ao caso bi-dimensional, neste trabalho, usamos este termo para designar o problema em dimens~o arbitraria. a 4 Um -simplexo em Rd ( d) e um conjunto -dimensional formado pela envoltoria convexa de + 1 pontos fq0 ; q1 ; : : : ; q g, seus vertices, que de nem + 1 vetores linearmente independentes. O interior de

3 Busca em subespaco circular usualmente refere-se a este problema em duas dimens~es. Embora a maioria o

O subespaco de busca ortogonal constitui uma das formas mais simples pois neste caso o espaco pode ser particionado em faixas para as quais as buscas podem ser realizadas mais facilmente. Busca em subespaco circular, por outro lado, e um problema mais dif cil, pelo fato de sua fronteira ser n~o linear. a Os problemas de busca em semi-espacos e busca em subespacos simpliciais est~o bastante a relacionados desde sua de nic~o ate as tecnicas de soluc~o a eles empregadas. Frequentemente, a a as mesmas soluc~es se aplicam a ambos os problemas. Eles s~o de fundamental imo a port^ncia, pois suas soluc~es resultam em melhoria de algoritmos para outros problea o mas em geometria computacional e teoria da computac~o como, por exemplo, ray shooa + 91, AM92b, Sch92] e programac~o linear Mat93b]. ting dBHO a Uma resenha das soluc~es descritas na literatura para esses formatos de subespacos de o busca classicos pode ser encontrada em Fil94]. Um formato de subespacos de busca mais generico, englobando os formatos descritos acima e que recentemente comecou a ser considerado na literatura AM92a, Mat93a] e o dos subespacos determinados por inequac~es polinomiais. Os subespacos polinomiais s~o aqueles o a determinados por uma unica inequac~o polinomial, isto e: a

Subespacos polinomiais: Seja f (x; a) = f (x1; ; xd ; a1; ; aK ) um polin^mio de grau limitado em o d + K variaveis, onde x = (x1; x2; ; xd) e um ponto no espaco Rd e a = (a1 ; a2; ; aK ) e um vetor de K par^metros, sendo K uma constante. a
O conjunto f de subespacos de busca polinomiais determinados por f e dado por f = f f (a) j a 2 RK g, onde f (a) = fx 2 Rd j f (x; a) 0g.
O polin^mio f especi ca os tipos de subespacos de busca a serem considerados (por o exemplo, discos, c^nicas, cilindros, etc.) e o vetor de par^metros a determina um subespaco o a particular do tipo considerado. Por meio de conjunc~es, disjunc~es e complementos de inequac~es polinomiais, obtemo o o se diversos formatos de subespacos, que s~o denominados subespacos semi-algebricos. O a conjunto dos subespacos semi-algebricos admite obviamente subespacos com fronteira n~o a linear, como e o caso de subespacos circulares. Portanto, uma soluc~o para busca em a subespacos semi-algebricos se aplica a uma ampla variedade de subespacos de busca. E importante que os subespacos tenham complexidade de descric~o limitada, isto e, que possam a ser descritos por um numero limitado de polin^mios de grau limitado. o Nas proximas sec~es, s~o analisadas algumas soluc~es para busca em semi-espacos e o a o para buscas simpliciais e suas generalizac~es para busca em subespacos semi-algebricos, sob o o enfoque de paradigmas de algoritmos.
um -simplexo e o conjunto de todos os pontos da forma i=0 ( i qi ); sendo i=0 i = 1 e i > 0 para todo 0 i . Um -simplexo pode ser considerado como a intersec~o de ( + 1) semi-espacos onde a os hiperplanos limitantes est~o em posic~o geral. Quando = d chamamos o -simplexo simplesmente de a a simplexo.

Para exempli car o potencial de aplicac~o das soluc~es para problemas de busca em a o subespacos em geral, basta notar que uma consulta a uma base de dados, expressa por um conjunto de restric~es nos atributos pode ser vista como uma busca em subespaco, o de formato determinado pela natureza das restric~es, se convenientemente mapeada num o sistema de coordenadas.

3 Algumas soluc~es para busca em subespacos o


Nesta sec~o, s~o esbocadas algumas das soluc~es encontradas na literatura para busca em a a o semi-espacos, simplexos e discos no plano, as quais s~o essencialmente de uma mesma a natureza. O objetivo e apresentar as tecnicas envolvidas, identi cando alguns paradigmas de algoritmos, que s~o discutidos mais genericamente na sec~o 4. a a A arvore de Willard Wil82] foi originalmente proposta na soluc~o de busca em regi~es a o poligonais no plano n~o necessariamente conexas ou limitadas. Entretanto, ela pode ser a mais facilmente compreendida se analisada como um metodo de busca em semi-espacos no plano, conforme descric~o apresentada por Matousek em Mat93a]. a Seja P um conjunto de N pontos no plano. Por simplicidade, assuma os pontos de P em posic~o geral, isto e, nenhum subconjunto de P com tr^s pontos e colinear. Seja r1 a e uma reta de direc~o arbitraria dividindo o conjunto de pontos P ao meio. Pelo teorema do a ham-sandwich cut Ede87] existe uma reta r2 , tal que r1 e r2 dividem o plano em 4 regi~es, o R1, R2, R3 e R4, cada qual contendo 1=4 dos pontos de P (por simplicidade de descric~o, a c considere N = 4 , com c > 1 inteiro), como ilustra a gura 2-a. Seja (h) um semi-plano limitado por uma reta h. E facil ver que a reta h intercepta o interior de no maximo 3 regi~es Ri (1 i 4), ou seja uma das regi~es ca totalmente o o dentro ou totalmente fora do semi-plano (h), como ilustra a gura 2-b. No processo de busca pelos pontos contidos em (h), esta regi~o pode ser tratada diretamente. Para as a demais regi~es e necessario processamento adicional para determinar quais pontos contidos o no interior das mesmas pertencem ao semi-plano de busca (h). Esta tecnica de decomposic~o do problema permite ums economia de 25% do procesa samento de uma consulta e aplicando-a recursivamente nas regi~es decompostas, tem-se a o seguinte equac~o de recorr^ncia para o tempo de consulta de pior caso: a e (1) onde k e o numero maximo de pontos contidos em uma regi~o de uma partic~o e k e o a a tempo de enumerac~o da resposta. a Este metodo sugere uma estrutura de dados T em forma de arvore, armazenando a informac~o das partic~es aplicadas recursivamente, de modo a dar suporte ao processamento a o das consultas. A cada no v n~o folha e associada uma regi~o R(v ) do espaco, um conjunto a a de pontos P (v ) = P \ R(v ) com os pontos de P nela contidos e uma partic~o (v ) de a R(v) em sub-regi~es de acordo com P (v). Para cada sub-regi~o ' 2 (v) e atribu do um o a
T (N ) = k + 3T (N=4) 2 O(N log4 3 + k) O(N 0;7925 + k)

3.1 Soluc~o atraves da arvore de Willard a

R1 R4 R3
(a)

r1 R2 R4

R1 R2 R3
(b)

r1

r2

r2

Figura 2: A decomposic~o de um conjunto de pontos no plano em 4 partes iguais (a) e uma a regi~o totalmente contida em um semi-espaco (b). a lho a v . Ao no raiz e associado todo o espaco e o conjunto de pontos P . Aos nos folha s~o associadas regi~es contendo uma quantidade de pontos de P inferior a um valor a o pre-estabelecido. A gura 3 ilustra uma partic~o do plano e a arvore correspondente. a
R 11 R 13 R 31 R 33 R 34 R 32 R 43 R 44 R 11R 12 R 13R 14R 21R 22R 23R 24 R 31R 32R 33R 34R 41R 42R 43R 44
(a) (b)

R 12 R 14

R 21

R 22 R 23 R 24 R 41 R 42

R1

R2

R3

R4

Figura 3: A soluc~o de Willard: uma partic~o do plano (a) e a arvore correspondente (b). a a O processo de busca comeca pela raiz e descende recursivamente nos nos relativos as regi~es interceptadas por h. Para problemas de contagem, pode-se armazenar em cada no v o o numero de pontos contidos em R(v ). No caso de problemas de enumerac~o os pontos de P a cam armazenados nas folhas de T associadas com as regi~es que os cont^m. Para enumerar o e os pontos contidos em uma regi~o R(v ) e necessario descer ate as folhas descendentes de v , a mas o tempo despendido neste processo e proporcional ao tamanho da sa da, de modo que este processamento adicional n~o aumenta o tempo de busca assintotico (um processamento a

de mesma ordem e necessario para enumerar a sa da)5. Willard originalmente prop^s uma partic~o determinada por duas retas mais um numero o a con guravel de semi-retas. Utilizando esta partic~o para construir uma estrutura de arvore a conforme a descrita acima, tem-se as seguintes medidas de complexidade para busca em semi-espacos e regi~es poligonais no plano (vide Wil82]): o Consulta: O(N log6 4 + k) O(N 0;774 + k) Memoria: O(N ) Pre-processamento: O(N 2) (pior caso) O(N log2 N ) (caso medio)

3.2 Soluc~o atraves da arvore de conjugac~o de Edelsbrunner e Welzl a a

A soluc~o de Edelsbrunner e Welzl EW86] e um aperfeicoamento da arvore de Willard, dia ferindo pelo tipo de partic~o utilizada. A estrutura e denominada arvore de conjugac~o pelo a a fato das regi~es relativas a nos adjacentes na arvore n~o serem particionadas independeno a temente, mas possu rem uma linha divisoria em comum. Uma partic~o do plano segundo a este criterio e a correspondente arvore de conjugac~o s~o ilustradas na gura 4. a a
R1 R2 R3 R 1-8 R4 R 1-4 R5 R8 R6 R 1-2 R 3-4 R 5-6 R 7-8 R 5-8

r3 r1
(a)

r4 R 7

r2

R1 R2 R3 R4 R5 R6 R7 R8
(b)

Figura 4: A soluc~o de Edelbrunner e Welzl: a partic~o do plano (a) e a arvore de conjugac~o a a a correspondente (b). Com esta estrutura consegue-se reduzir os tempos de consulta e pre-processamento em relac~o a soluc~o de Willard: a a Consulta: O(N log2 (1+ 5) 1 + k) O(N 0;695 + k) Memoria: O(N ) Pre-processamento: O(N log N ) (pior caso)
search),

5 Observa-se aqui o princ pio basico do paradigma de algoritmos denominado ltragens sucessivas ( ltering

descrito por Chazelle em Cha86].

Note que a concepc~o basica da soluc~o n~o mudou, embora se tenha empregado outro a a a tipo de partic~o para determinar a conformac~o f sica da arvore (numero de lhos por no) e a a o metodo de construc~o da estrutura. Esta forma abstrata da soluc~o e denominada arvore a a de partic~o e os tipos espec cos de partic~es que podem ser empregados s~o chamados a o a esquemas de partic~o. Existem tambem soluc~es baseadas em arvores de partic~o para a o a algumas dimens~es mais altas (d = 2, 3 e 4) e mesmo para dimens~es arbitrarias onde a o o dimens~o d e um par^metro. Outras quest~es relativas ao paradigma de arvores de partic~o a a o a s~o discutidas na sec~o 4.1. a a Os metodos de busca em semi-espacos e buscas simpliciais, como os descritos acima, podem ser empregados para solucionar problemas de busca em subespacos semi-algebricos. Existem tecnicas para se estabelecer correspond^ncias entre problemas de busca em subespacos semie algebricos e problemas de busca em semi-espacos ou simplexos em dimens~es mais altas. o Busca em subespaco circular e um dos problemas que podem ser solucionados por este caminho. Um disco (o; r) em R2, de centro em o = (ox; oy ) e raio r e o conjunto de pontos (x; y ) satisfazendo a inequac~o polinomial (x ox )2 + (y oy )2 r2 . Re-arranjando os termos a desta inequac~o, temos: a (o; r) = f(x; y ) 2 R2 j r2 ox 2 oy 2 + 2ox x + 2oy y x2 y 2 0g: (2) Considere o hiperplano: h = f(t1 ; t2; t3 ; t4) 2 R4 j r2 ox 2 oy 2 + t1 + t2 + t3 + t4 = 0g: Mapeando cada ponto (x; y ) 2 R2 num ponto (t1 ; t2; t3; t4 ) 2 R4 com t1 = 2oxx, t2 = 2oy y , t3 = x2 e t4 = y 2 temos que: onde: (x; y ) 2 (o; r) () (t1 ; t2; t3; t4 ) 2 (h) (h) = f(t1 ; t2; t3; t4 ) 2 R4 j r2 ox 2 oy 2 + t1 + t2 + t3 + t4 0g (3) (4)

3.3 Soluc~es para busca em subespaco circular o

O problema de busca em subespaco circular no plano e portanto reduzido a busca em semi-espacos em 4 dimens~es. Este e um exemplo do paradigma conhecido como lineao rizac~o. A dimens~o do espaco para onde e mapeado o problema e chamada de dimens~o da a a a linearizac~o. a Note porem que a linearizac~o descrita acima n~o e a de menor dimens~o para discos em a a a R2 . A transformac~o de elevac~o ao paraboloide possibilita uma linearizac~o de dimens~o a a a a 2 em pontos do paraboloide z = x2 + y 2 . Seja : R2 ! R3 a 3, mapeando os pontos de R transformac~o que leva o ponto (x; y ) no ponto (x; y ) = (x; y; x2 + y 2 ) em R3. O leitor pode a veri car que pontos cocirculares s~o mapeados por em pontos coplanares e que a imagem a 2 e a intersecc~o do paraboloide com um dos semi-espacos do interior do disco (o; r) em R a determinados pelo plano que contem a imagem da fronteira de (o; r).

Portanto, determinar os pontos de P contidos no disco (o; r) equivale a determinar os pontos de (P ) contidos nesse semi-espaco. Esta transformac~o e ilustrada na gura 5. a

Figura 5: A transformac~o de elevac~o ao paraboloide. a a Na sec~o 4.2 apresentamos uma de nic~o mais formal e generica do paradigma de linea a arizac~o e relatamos alguns resultados provenientes de sua aplicac~o. a a

4 Paradigmas de algoritmos
A analise e o projeto de soluc~es baseando-se em paradigmas permite uma melhor compreo ens~o dos problemas e suas soluc~es, promovendo a aplicac~o de tecnicas sistematicas e o a o a aparecimento de soluc~es para problemas mais gerais. o Na sec~o anterior foram identi cados os paradigmas de arvores de partic~o e linearizac~o, a a a os quais aparecem com frequ^ncia (as vezes sem ser mencionado que se tratam de abordae gens gerais) em soluc~es descritas na literatura para problemas de busca em subespacos. o Nesta sec~o, discutimos algumas quest~es relativas aos paradigmas de arvores de partic~o a o a e descrevemos mais formalmente e de maneira generalizada o paradigma de linearizac~o. a

Uma estrutura do tipo arvore de partic~o aparece pela primeira vez no trabalho de Wila lard Wil82] e o conceito e formalizado por Matousek Mat91, Mat93a]. As soluc~es baseao das em arvores de partic~o prop~em diversos esquemas de partic~o distintos. A e ci^ncia de a o a e uma soluc~o utilizando um determinado esquema de partic~o e determinada pelo numero a a maximo de regi~es da partic~o que podem ser cortadas pela fronteira de um subespaco de o a busca, assim como pela distribuic~o dos pontos da base de dados entre essas regi~es. a o Yao e Yao YY85] provam a exist^ncia de esquemas de partic~o tais que qualquer hie a perplano cruza um numero sub-linear de suas regi~es para cada dimens~o xa, o que tem o a motivado a pesquisa de soluc~es baseadas em arvores de partic~o para varias dimens~es. o a o Matousek Mat93a] oferece uma resenha dos resultados para semi-espacos e simplexos (incluindo n~o somente as soluc~es baseadas em arvores de partic~o). Observa-se que a abora o a dagem de arvores de partic~o e dominante na quantidade de trabalhos publicados e nos a desempenhos obtidos. As soluc~es baseadas neste paradigma est~o entre as mais e cientes o a para o caso geral de busca em semi-espacos e buscas simpliciais com uso de memoria quase linear6 . Entretanto, elas s~o superadas por outras soluc~es de concepc~es distintas, em a o o casos espec cos como enumerac~o dos pontos contidos em semi-espacos e simplexos, para a dimens~es pequenas. o Recentemente, arvores de partic~o t^m sido empregadas tambem para busca em suba e espacos semi-algebricos em geral, mas os resultados ainda s~o escassos AM92a, Mat93a]. a Dentre as quest~es abertas esta a determinac~o de esquemas de partic~o que possibilitem o a a soluc~es e cientes para estes tipos de subespacos. o O paradigma de linearizac~o AM92a, Mat93a] consiste em estabelecer uma correspond^ncia a e entre um problema de busca em subespacos de algum formato arbitrario em d dimens~es e o o problema de busca em semi-espacos num espaco de dimens~o D > d. O termo linearizac~o a a provem do fato da fronteira de um semi-espaco ser um hiperplano, dado por uma equac~o a linear. Aplicando este paradigma e poss vel tratar problemas de busca em subespacos onde a fronteira do subespaco de busca e constitu da de variedades algebricas dadas por equac~es o polinomiais de grau limitado. Os subespacos de busca s~o usualmente determinados por a conjunc~es e/ou disjunc~es de inequac~es polinomiais do tipo7 f (x1 ; x2; ; xd) 0, onde o o o x1; x2; ; xd s~o as coordenadas de um ponto x 2 (veja de nic~o de subespacos de busca a a polinomiais no nal da sec~o 2.2). a Considere um problema de busca em subespaco polinomial em Rd . Para empregar o paradigma de linearizac~o e necessario determinar uma func~o mapeando cada ponto a a d D (x1; ; xd) 2 R em algum ponto (t1 ; ; tD ) 2 R , de tal forma que buscas em subespacos semi-algebricos em Rd correspondam a buscas em semi-espacos em RD .
de compromisso estabelecida entre o uso de memoria e o tempo de busca. 7 As inequac~es tambem podem ser estritas (f (x1; x2 ; ; xd ) > 0). Os subespacos por elas determinados o recebem o mesmo tratamento.
6 Mais formalmente, \quase linear" signi ca da ordem de O(N 1+"), onde o valor de " depende da relac~o a

4.1 Arvores de partic~o a

4.2 Linearizac~o a

Func~o de linearizac~o: a a d Uma func~o : R ! RD , com D > d e chamada func~o de linearizac~o se: a a a
1. e cont nua; 2. dado um subespaco polinomial f 2 f , o subespaco a m gerado pela imagem de sua fronteira h (@ f )i e um hiperplano de dimens~o D 1. a
Decorre da continuidade de que a imagem ( f ) de um subespaco de busca polinomial D f 2 f esta inteiramente contida em um dos semi-espacos de R delimitados por h (@ f )i, donde se pode estabelecer a correspond^ncia do problema de busca em subespacos original e em Rd com busca em semi-espacos em RD , isto e:
x2
f

() (x) 2 ( f )

(5)

Agarwal e Matousek AM92a, Mat93a] conclu ram, a partir do trabalho de Yao e Yao YY85], que todo polin^mio e linearizavel, isto e, admite uma func~o de linearizac~o. o a a Um metodo geral para se obter uma linearizac~o e fazer corresponder a cada uma das a func~es coordenadas de (x) um mon^mio nas coordenadas de x aparecendo no polin^mio f . o o o Porem, como foi ilustrado na sec~o 3.3, este metodo produz linearizac~es de alta dimens~o a o a (exponencial no grau de f ), tornando tais soluc~es muito dispendiosas. o Na procura de uma func~o de linearizac~o, pode-se agrupar os mon^mios de f de divera a o sas maneiras distintas, para formar as func~es coordenadas de (x) = ( 1 (x); ; D (x)). o O fundamental e que para se ter uma linearizac~o, a fronteira de f determinada pelo poa lin^mio f , quando mapeada por em RD , deve determinar um hiperplano denotado por o uma equac~o da forma: a

X
D i=1

i i

(x) = 0

(6)

onde cada i (x) e um polin^mio em x obtido de somas de mon^mios de f e os i 's s~o o o a coe cientes determinados a partir dos coe cientes de f . Um problema em aberto e conseguir abordagens algor tmicas para se obter linearizac~es o da menor dimens~o poss vel (ou ate mesmo de dimens~o polinomial no grau de f ). a a

Aplicac~o e extens~es a o
A aplicac~o direta do paradigma de linearizac~o possibilita as melhores soluc~es conhecidas a a o para busca em alguns tipos de subespacos determinados por polin^mios. Para outros tipos o de subespacos, entretanto, s~o obtidos algoritmos mais e cientes generalizando metodos de a busca em subespacos de fronteira linear (tipicamente semi-espacos e simplexos) para o caso

n~o linear. Por exemplo, para busca em subespaco circular no plano, a aplicac~o direta de a a linearizac~o em 3 dimens~es resulta em um algoritmo com tempo de busca O(N 2=3) com a o memoria linear. Todavia, substituindo semi-espacos por c rculos em algumas soluc~es para o busca em semi-espacos (por exemplo Mat91]) e realizando as generalizac~es necessarias, o p pode-se obter tempo de busca O( N ) com memoria linear. Algoritmos inspirados em linearizac~o e baseados em generalizac~o de soluc~es proposa a o tas para busca em semi-espacos e para buscas simpliciais s~o abordados por Agarwal e a Matousek AM92a, Mat93a]. Eles prop~em uma estrutura para busca em subespacos detero minados por polin^mios com uso de memoria e tempo de pre-processamento linear, permio tindo efetuar buscas em tempo O(N 1 1=b+" ), onde b e uma constante tal que d b 2d 3 e " e uma constante arbitraria.

5 Conclus~es o
Foram abordados alguns problemas de busca em subespacos com dados pontuais discretos, segundo o enfoque de projeto de algoritmos e cientes e geometria computacional. Descreveram-se soluc~es da literatura, partindo de alguns dos primeiros metodos para solucio onar busca em semi-espacos e buscas simpliciais e chegando ate as abordagens recentemente propostas para busca em subespacos de natureza mais geral, com a fronteira determinada por polin^mios de grau limitado. o Do estudo dessas soluc~es concluiu-se que elas se baseiam numa mesma forma abso trata de estrutura de dados denominada arvore de partic~o. A arvore de partic~o prov^ a a a e conformac~o basica da estrutura de dados f sica e as diretrizes para o processamento das a consultas, constituindo um paradigma de algoritmos. As soluc~es particulares diferem pelo o esquema de partic~o utilizado e em alguns detalhes de seu funcionamento. a Outro paradigma de algoritmos identi cado neste artigo e a linearizac~o de subespacos a de busca. Por meio de tecnicas de linearizac~o consegue-se solucionar buscas em subespaa cos com fronteira n~o linear, a partir de soluc~es concebidas para subespacos com fronteira a o linear. Estes paradigmas constituem abordagens mais sistematicas para os problemas e agem como agentes uni cadores das soluc~es ou, pelo menos, conjuntos de soluc~es. Alem desses o o paradigmas, podem ser identi cados outros, nos diversos tipos de problemas de busca em subespacos. Em Fil94] e realizado um tratamento mais extensivo de problemas de busca em subespacos e dos paradigmas de algoritmos aplicados nas soluc~es dos mesmos. o Uma das quest~es que podem ser levantadas e o quanto paradigmas de algoritmos podem o contribuir na produc~o de soluc~es gerais para problemas de busca em subespacos. Cabe a o notar ent~o que n~o existe uma soluc~o boa para todos os tipos de subespacos. Em diversos a a a casos particulares as soluc~es gerais perdem em e ci^ncia e simplicidade para as soluc~es o e o espec cas e em alguns casos, existem inclusive soluc~es espec cas mais e cientes que os o limites inferiores estabelecidos para o caso geral. Porem, algumas soluc~es genericas podem o ser uteis e, para algumas subclasses de problemas, as primeiras soluc~es n~o triviais foram o a conseguidas com a aplicac~o (as vezes impl cita) de paradigmas de algoritmos, como e o a caso das soluc~es para busca em subespacos com a fronteira determinada por polin^mios. o o

Os temas de pesquisa em aberto relacionados com a aplicac~o dos resultados obtidos a para problemas de busca em subespacos incluem: generalizac~o das soluc~es de modo a permitir o tratamento de objetos de dados n~o a o a pontuais Sam90, Cox91]; dinamizac~o Ove83, CT92]; a adequac~o das estruturas de dados propostas aos mecanismos de armazenamento disa pon veis Sil81, IKO88, OSdBvK90, SO90]; implementac~o e experimentac~o das soluc~es. a a o

Refer^ncias e
P. K. Agarwal and J. Matousek. On range search with semialgebraic sets. In Proc. 17th MFCS - Internat. Sympos. on Mathematical Found. of Computer Science, volume 629 of Lecture Notes in Computer Science, pages 1{13. Springer-Verlag, 1992. AM92b] P. K. Agarwal and J. Matousek. Ray shooting and parametric search. In Proc. 24th Annu. ACM Sympos. Theory Comput., pages 517{526, 1992. Ben79] J. L. Bentley. Decomposable searching problems. Inform. Process. Lett., 8:244{251, 1979. Cha86] B. Chazelle. Filtering search: a new approach to query-answering. SIAM J. Comput., 15:703{724, 1986. Cox91] F. S. Cox Jr. Analise de metodos de acesso a dados espaciais aplicados a sistemas gerenciadores de bancos de dados. Master's thesis, Depto. de Ci^ncia e da Computac~o da Universidade Estadual de Campinas, Dezembro 1991. a CT92] Y.-J. Chiang and R. Tamassia. Dynamic algorithms in computational geometry. Proceedings of the IEEE, 80(9):1412{1434, 1992. CY85] R. Cole and C. K. Yap. Geometric retrieval problems. Inform. Control, 63:39{ 57, 1985. dBHO+ 91] M. de Berg, D. Halperin, M. Overmars, J. Snoeyink, and M. van Kreveld. E cient ray shooting and hidden surface removal. In Proc. 7th Annu. ACM Sympos. Comput. Geom., pages 21{30, 1991. DL76] D. P. Dobkin and R. J. Lipton. Multidimensional searching problems. SIAM J. Comput., 5:181{186, 1976. Ede87] H. Edelsbrunner. Algorithms in Combinatorial Geometry, volume 10 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, Heidelberg, West Germany, 1987. AM92a]

H. Edelsbrunner and E. Welzl. Halfplanar range search in linear space and O(n0:695) query time. Inform. Process. Lett., 23:289{293, 1986. Fil94] R. Fileto. Busca em subespacos em varias dimens~es. Master's thesis, Depto. o de Ci^ncia da Computac~o da Universidade Estadual de Campinas, 1994. To e a appear. IKO88] C. Icking, R. Klein, and T. Ottmann. Priority search trees in secondary memory. In Proc. Internat. Workshop Graph-Theoret. Concepts Comput. Sci. (WG '87), volume 314 of Lecture Notes in Computer Science, pages 84{93. Springer-Verlag, 1988. IRKV88] S. S. Iyengar, N. S. V. Rao, R. L. Kashyap, and V. K. Vaishnavi. Multidimensional data structures: Review and outlook. Advances in Computers, 27:69{119, 1988. Knu73] D. E. Knuth. Sorting and Searching, volume 3 of The Art of Computer Programming. Addison-Wesley, Reading, MA, 1973. Mat91] J. Matousek. E cient partition trees. In Proc. 7th Annu. ACM Sympos. Comput. Geom., pages 1{9, 1991. Mat93a] J. Matousek. Geometric range search. preprint, 1993. Mat93b] J. Matousek. Linear optimization queries. J. Algorithms, 14:432{448, 1993. The results combined with results of O. Schwarzkopf also appear in Proc. 8th ACM Sympos. Comput. Geom., 1992, pages 16{25. Mel84] K. Melhorn. Data Structures an Algorithms 3: Multidimensional Searching and Computational Geometry. Springer-Verlag, Berlin, 1984. OSdBvK90] M. H. Overmars, M. H. M. Smid, M. T. de Berg, and M. J. van Kreveld. Maintaining range trees in secondary memory, part I: partitions. Acta Inform., 27:423{452, 1990. Ove83] M. H. Overmars. The design of dynamic data structures, volume 156 of Lecture Notes in Computer Science. Springer-Verlag, 1983. PS85] F. P. Preparata and M. I. Shamos. Computational Geometry: an Introduction. Springer-Verlag, New York, NY, 1985. Sam90] H. Samet. The Design and Analysis of Spatial Data Structures. AddisonWesley Publishing Company, 1990. Sch92] O. Schwarzkopf. Ray shooting in convex polytopes. In Proc. 8th Annu. ACM Sympos. Comput. Geom., pages 286{295, 1992. Sil81] Y. V. Silva Filho. Optimal choice of discriminators in a balanced k-d binary search tree. Inform. Process. Lett., 13:67{70, 1981.

EW86]

SO90] Wil82] YY85]

M. H. M. Smid and M. H. Overmars. Maintaining range trees in secondary memory, part II: lower bounds. Acta Inform., 27:453{480, 1990. D. E. Willard. Polygon Retrieval. SIAM Journal on Computing, 11(1):149{ 165, 1982. A. C. Yao and F. F. Yao. A general approach to d-dimensional geometric queries. In Proc. 17th Annu. ACM Sympos. Theory Comput., pages 163{168, 1985.

Relatorios Tecnicos { 1992


92-01 Applications of Finite Automata Representing Large Vocabularies, C. L. Lucchesi, T. Kowaltowski 92-02 Point Set Pattern Matching in d-Dimensions, P. J. de Rezende, D. T. Lee 92-03 On the Irrelevance of Edge Orientations on the Acyclic Directed Two Disjoint Paths Problem, C. L. Lucchesi, M. C. M. T. Giglio 92-04 A Note on Primitives for the Manipulation of General Subdivisions and the Computation of Voronoi Diagrams, W. Jacometti 92-05 An (l; u)-Transversal Theorem for Bipartite Graphs, C. L. Lucchesi, D. H. Younger 92-06 Implementing Integrity Control in Active Databases, C. B. Medeiros, M. J. Andrade 92-07 New Experimental Results For Bipartite Matching, J. C. Setubal 92-08 Maintaining Integrity Constraints across Versions in a Database, C. B. Medeiros, G. Jomier, W. Cellary 92-09 On Clique-Complete Graphs, C. L. Lucchesi, C. P. Mello, J. L. Szwarc ter 92-10 Examples of Informal but Rigorous Correctness Proofs for Tree Traversing Algorithms, T. Kowaltowski 92-11 Debugging Aids for Statechart-Based Systems, V. G. S. Elias, H. Liesenberg 92-12 Browsing and Querying in Object-Oriented Databases, J. L. de Oliveira, R. de O. Anido

18

Relatorios Tecnicos { 1993


93-01 Transforming Statecharts into Reactive Systems, Antonio G. Figueiredo Filho, Hans K. E. Liesenberg 93-02 The Hierarchical Ring Protocol: An E cient Scheme for Reading Replicated Data, Nabor das C. Mendonca, Ricardo de O. Anido 93-03 Matching Algorithms for Bipartite Graphs, Herbert A. Baier Saip, Claudio L. Lucchesi 93-04 A lexBFS Algorithm for Proper Interval Graph Recognition, Celina M. H. de Figueiredo, Jo~o Meidanis, Celia P. de Mello a 93-05 Sistema Gerenciador de Processamento Cooperativo, Ivonne. M. Carrazana, Nelson. C. Machado, Celio. C. Guimar~es a 93-06 Implementac~o de um Banco de Dados Relacional Dotado de uma Interface a Cooperativa, Nascif A. Abousalh Neto, Ariadne M. B. R. Carvalho 93-07 Estadogramas no Desenvolvimento de Interfaces, Fabio N. de Lucena, Hans K. E. Liesenberg 93-08 Introspection and Projection in Reasoning about Other Agents, Jacques Wainer 93-09 Codi cac~o de Sequ^ncias de Imagens com Quantizac~o Vetorial, Carlos a e a Antonio Reinaldo Costa, Paulo L cio de Geus 93-10 Minimizac~o do Consumo de Energia em um Sistema para Aquisic~o de a a Dados Controlado por Microcomputador, Paulo Cesar Centoducatte, Nelson Castro Machado 93-11 An Implementation Structure for RM-OSI/ISO Transaction Processing Application Contexts, Flavio Morais de Assis Silva, Edmundo Roberto Mauro Madeira 93-12 Boole's conditions of possible experience and reasoning under uncertainty, Pierre Hansen, Brigitte Jaumard, Marcus Poggi de Arag~o a 93-13 Modelling Geographic Information Systems using an Object Oriented Framework, Fatima Pires, Claudia Bauzer Medeiros, Ardemiris Barros Silva 93-14 Managing Time in Object-Oriented Databases, Lincoln M. Oliveira, Claudia Bauzer Medeiros 93-15 Using Extended Hierarchical Quorum Consensus to Control Replicated Data: from Traditional Voting to Logical Structures, Nabor das Chagas Mendonca, Ricardo de Oliveira Anido 19

93-16 LL { An Object Oriented Library Language Reference Manual, Tomasz Kowaltowski, Evandro Bacarin 93-17 Metodologias para Convers~o de Esquemas em Sistemas de Bancos de a Dados Heterog^neos, Ronaldo Lopes de Oliveira, Geovane Cayres Magalh~es e a 93-18 Rule Application in GIS { a Case Study, Claudia Bauzer Medeiros, Geovane Cayres Magalh~es a 93-19 Modelamento, Simulac~o e S ntese com VHDL, Carlos Geraldo Kruger e Mario a Lucio C^rtes o 93-20 Re ections on Using Statecharts to Capture Human-Computer Interface Behaviour, Fabio Nogueira de Lucena e Hans Liesenberg 93-21 Applications of Finite Automata in Debugging Natural Language Vocabularies, Tomasz Kowaltowski, Claudio Leonardo Lucchesi e Jorge Stol 93-22 Minimization of Binary Automata, Tomasz Kowaltowski, Claudio Leonardo Lucchesi e Jorge Stol 93-23 Rethinking the dna Fragment Assembly Problem, Jo~o Meidanis a 93-24 EGOLib | Uma Biblioteca Orientada a Objetos Gra cos, Eduardo Aguiar Patroc nio, Pedro Jussieu de Rezende 93-25 Compreens~o de Algoritmos atraves de Ambientes Dedicados a Animac~o, a a Rackel Valadares Amorim, Pedro Jussieu de Rezende 93-26 GeoLab: An Environment for Development of Algorithms in Computational Geometry, Pedro Jussieu de Rezende, Welson R. Jacometti 93-27 A Uni ed Characterization of Chordal, Interval, Indi erence and Other Classes of Graphs, Jo~o Meidanis a 93-28 Programming Dialogue Control of User Interfaces Using Statecharts, Fabio Nogueira de Lucena e Hans Liesenberg 93-29 EGOLib { Manual de Refer^ncia, Eduardo Aguiar Patroc nio e Pedro Jussieu de e Rezende

20

Relatorios Tecnicos { 1994


94-01 A Statechart Engine to Support Implementations of Complex Behaviour, Fabio Nogueira de Lucena, Hans K. E. Liesenberg ^ 94-02 Incorporac~o do Tempo em um sgbd Orientado a Objetos, Angelo Roncalli a Alencar Brayner, Claudia Bauzer Medeiros 94-03 O Algoritmo KMP atraves de Aut^matos, Marcus Vin cius A. Andrade e o Claudio L. Lucchesi 94-04 On Edge-Colouring Indi erence Graphs, Celina M. H. de Figueiredo, Jo~o Meia danis, Celia Picinin de Mello 94-05 Using Versions in gis, Claudia Bauzer Medeiros and Genevieve Jomier 94-06 Times Ass ncronos: Uma Nova Tecnica para o Flow Shop Problem, Helvio Pereira Peixoto e Pedro Sergio de Souza 94-07 Interfaces Homem-Computador: Uma Primeira Introduc~o, Fabio Nogueira a de Lucena e Hans K. E. Liesenberg 94-08 Reasoning about another agent through empathy, Jacques Wainer 94-09 A Prolog morphological analyser for Portuguese, Jacques Wainer, Alexandre Farcic 94-10 Introduc~o aos Estadogramas, Fabio N. de Lucena, Hans K. E. Liesenberg a 94-11 Matching Covered Graphs and Subdivisions of K4 and C6, Marcelo H. de Carvalho and Claudio L. Lucchesi 94-12 Uma Metodologia de Especi cac~o de Times Ass ncronos, Helvio Pereira a Peixoto, Pedro Sergio de Souza

Departamento de Ci^ncia da Computac~o | IMECC e a Caixa Postal 6065 Universidade Estadual de Campinas 13081-970 { Campinas { SP BRASIL
reltec@dcc.unicamp.br

21

Вам также может понравиться