Análisis de la sinergia de dos algoritmos en comparación con su simulación en paralelo.

8

Considere los siguientes dos algoritmos para buscar en una matriz ordenada de n elementos:

A) búsqueda de interpolación y búsqueda binaria simulada en paralelo, y

B) busque a través de pasos de interpolación alternos y pasos binarios.

Ambos algoritmos son de peor complejidad de caso 2lgn+1 (y complejidad promedio 2lglgn para una distribución razonable). ¿Existe un modelo de complejidad que permita separar esos dos algoritmos (que expresan cuándo uno es mejor que el otro)? En particular, ¿hay algún ejemplo en el que la simulación en paralelo supere al algoritmo de búsqueda mixta?

--- Algunos antecedentes básicos ---

1) Interpolación para el elemento en una matriz ordenada T entre la posición i y j hace una comparación en la posición g = i + ( j - i ) / ( T [ j ] - T [ i ] ) * ( x - T [ i ] ) y reduce el intervalo de búsqueda a [ i , g ] o ] g , j ]xTijg=i+(ji)/(T[j]T[i])(xT[i])[i,g]]g,j]de acuerdo con el resultado (en oposición a la búsqueda binaria, que compara x con el elemento en la posición (i+j)/2 )

2lgn+1ABf(n)g(n)AB2min{f(n),g(n)}O(minf(n),g(n))2lgn+1 también, porque el intervalo de búsqueda se reduce al menos en dos cada dos comparaciones.

Jeremy
fuente
1
¿Cómo funciona la búsqueda de interpolación?
Suresh Venkat
@Suresh La idea es estimar la siguiente posición a verificar en una matriz ordenada en base a una interpolación lineal de la clave de búsqueda y los valores extremos del intervalo de búsqueda.
Sylvain Peyronnet
1
Si no me equivoco, el punto de ejecutar dos algoritmos diferentes en paralelo (o intercalar dos algoritmos) es que el peor de los casos se convierte en el más rápido de los peores de los dos algoritmos.
Tsuyoshi Ito
2
@ Tsuyoshi, tienes razón. Creo que la pregunta es (realmente) preguntar sobre el análisis del peor de los casos, por ejemplo, el tiempo de ejecución promedio del caso o el tiempo de ejecución esperado sobre ciertas distribuciones sobre las teclas de búsqueda. Básicamente, cualquier tipo de análisis de "grado más fino" que la optimización solo para el peor de los casos.
Daniel Apon
1
Votado para cerrar. Como escribí en un comentario, no puedo entender la pregunta en su forma actual, y creo que no es mi culpa.
Tsuyoshi Ito

Respuestas:

4

En Willard's Searching Unindexed and Nonuniformly Generated Files in TimeloglogN , hace referencia a una versión preliminar (del documento vinculado) titulada "Algoritmos de búsqueda sorprendentemente eficientes para archivos generados de manera no uniforme" que aparece en la 21ª Conferencia de Allerton sobre Control de la Comunicación y Computación en 1983, pp. 656-662. No puedo encontrar este documento en la web, pero en la versión posterior (vinculada) anterior, dice que el documento anterior muestra que la sinergia entre la búsqueda binaria y de interpolación puede reducir el tiempo de búsqueda a para ciertos -distribuciones uniformes de claves de registro.o(logn)

Específicamente, llame a un PDF regular si hay modo que para o y y para . Para los datos producidos por archivos PDF normales, la búsqueda de interpolación toma tiempo esperado, mientras que la búsqueda binaria toma tiempo esperado. Sin embargo, intercalarlos lleva el tiempo esperado .μb1,b2,b3,b4μ(x)=0x<b1x>b2μ(x)b3>0|μ(x)|<b4b1xb2Ω(logn)Θ(logn)O(logn)

También le puede interesar el "procesamiento paralelo de Willard y Reif " puede ser perjudicial: el comportamiento inusual de la búsqueda de interpolación " , que muestra que" el procesamiento paralelo antes de la última iteración literal en la búsqueda de un archivo ordenado no indexado casi no tiene utilidad ".

jbapple
fuente
¡Gracias! Exactamente el tipo de resultados que esperaba haber hecho. Intentaré descargar los documentos de la universidad.
Jeremy
1
Traté de obtener el documento de la Conferencia de Allerton, pero ni siquiera puedo encontrarlo en una biblioteca, excepto en ETH-Bibliothek Zurich, que está muy lejos de donde vivo. Le envié un correo electrónico al autor, pero aún no he recibido respuesta. Avíseme si encuentra el papel en alguna parte.
jbapple el