• No se han encontrado resultados

4. Índice de pivote único

4.1.2. La selección de los pivotes

Una cuestión importante relacionada con los métodos basados en pivotes es el criterio seguido para seleccionar los propios pivotes, concretamente qué objetos utilizar y cuál es el número adecuado de ellos. Buena parte de los métodos eligen los pivotes al azar, aunque diversos autores han estudiado el problema, concluido que el conjunto de pivotes seleccionado influye en el rendimiento de los métodos y han propuesto distintas estrategias para la selección de un conjunto eficaz de pivotes [Faragó y otros, 1993; Micó y otros, 1994; Chávez y otros, 2001b; Bustos y otros, 2003; Brisaboa y otros, 2006; Bustos y otros, 2008]. Esto se debe a que la distribución de cada pivote con respecto a los demás, y también con relación a los restantes objetos de la base de datos, tiene una importante incidencia en la capacidad del índice para descartar objetos en el proceso de búsqueda. Esto significa que se descartarán más o menos objetos, lo que conlleva que habrá después que realizar más o menos comparaciones de la función de distancia, por lo que influye en la complejidad externa.

La idea del efecto que ocasiona la distribución de cada pivote con respecto a los restantes, puede describirse con un ejemplo en el que se tiene un conjunto de pivotes que están muy cerca unos de otros. Dada una consulta R(q, r) , cada uno de los pivotes determina una zona de exclusión en función de q y de r, como se ha visto en la figura2.12, de forma que los objetos que pertenecen a ella no pueden descartarse con ese pivote, con lo que, o se descartan mediante otro pivote, o habrá que calcular sus distancias a q, lo que incrementa la complejidad externa. Pero al tratarse de pivotes cercanos, sus zonas de exclusión son también cercanas, hasta el punto de coincidir en buena parte de las mismas, con lo que el efecto de ese conjunto de pivotes queda contrarrestado, haciendo que unos anulen el efecto de los otros. Se puede decir que los pivotes cercanos aportan una información parecida de cara al descarte de objetos, de manera que cuanto más cercanos son dos pivotes, más parecida es su capacidad de descarte, al serlo las zonas de exclusión que originan.

La figura 4.2 muestra un ejemplo de una búsqueda por rango utilizando dos pivotes, realizada sobre el espacio R2 y usando la distancia L

2.1En el lado izquierdo

los pivotes están separados, dejando en medio al objeto de búsqueda. La zona de exclusión resultante es la intersección de la correspondiente a cada pivote y aparece

1Utilizar el espacio vectorial

R2 con la distancia euclídea, permite representar las ideas de una

manera cercana y fácilmente comprensible, pero hay que resaltar la necesidad de diferenciar las características de un espacio vectorial, de las genéricas de un espacio métrico, ya que en el primero se dan algunas propiedades geométricas que no se cumplen en el segundo.

4.1. Debilidades de los métodos basados en pivotes 103

sombreada, estando formada en este caso por una pequeña parte de cada una de ellas, y haciendo que la zona en la que hay que calcular la función de distancia sea solo algo mayor que el círculo de búsqueda. En el lado derecho los pivotes están muy próximos, por lo que sus zonas de exclusión coinciden en buena parte de las mismas, haciendo que la zona de exclusión conjunta sea muchísimo mayor que el círculo de búsqueda. Aunque el segundo pivote reduce esa zona de exclusión, lo hace muy levemente, ya que su efecto queda en buena parte neutralizado por el del primer pivote, y viceversa.

p2

q p1

r

(a) Con pivotes lejanos

p2 q

p1 r

(b) Con pivotes cercanos

Figura 4.2: Zona de exclusión conjunta usando dos pivotes.

Además de determinar un criterio eficiente para la selección de los pivotes, hay otra cuestión de interés que afecta también al rendimiento de las consultas: el número de pivotes seleccionados. No solo es importante la distribución de los pivotes, sino que finalmente hay que elegir un número determinado de ellos. Cuantos más pivotes se consideren, habrá mayores posibilidades de descartar más objetos, pero hay que calcular también más distancias entre los pivotes y el objeto de búsqueda, lo que implica incrementar la complejidad interna, y posteriormente almacenarlas en el índice, lo que significa que su tamaño será mayor y con él los costes derivados comentados en el apartado anterior. Si el número de pivotes es reducido, se disminuye la complejidad interna y el tamaño del índice, pero también se descartan menos objetos, con lo que habrá que evaluar más veces la función de distancia para comprobar si los objetos no descartados cumplen el criterio de búsqueda, esto es, se incrementa la complejidad externa. En la mayoría de las técnicas de selección de pivotes el número de ellos debe establecerse explícitamente.

Otros métodos como SSS [Brisaboa y otros,2006] y NR-SSS [Bustos y otros,2008] determinan el número de pivotes a seleccionar de manera adaptativa, según las características de la colección.

Todo lo comentado refleja la necesidad de considerar criterios que permitan determinar con rigurosidad que los pivotes elegidos sean adecuados y que su número resulte equilibrado.

Las apreciaciones no formales vistas en esta sección, nos alertan ante el impacto que la selección de los pivotes puede tener en el rendimiento de la búsqueda, tanto en la consideración de la manera en la que están distribuidos los pivotes, como en determinar un número de ellos que mantenga el equilibrio entre las complejidades interna y externa. El tamaño de las colecciones influye también en el rendimiento provocando costes adicionales, que en el caso del tratamiento de grandes volúmenes de datos, pueden ser muy significativos, por lo que no deben despreciarse, sino considerarlos como un factor más con el objetivo de que los algoritmos resultantes sean aplicables a casos reales, especialmente al utilizar métodos basados en pivotes, en los que el espacio que necesitan es su principal handicap.

4.2.

Soluciones existentes a los problemas de los

Documento similar