Análise da sinergia de dois algoritmos em comparação com a simulação em paralelo

8

Considere os dois algoritmos a seguir para pesquisar em uma matriz classificada de elementos:n

A) pesquisa de interpolação e pesquisa binária simulada em paralelo, e

B) pesquise por etapas alternadas de interpolação e etapas binárias.

Ambos os algoritmos têm a complexidade do pior caso (e a complexidade média para uma distribuição razoável). Existe um modelo de complexidade que permita separar esses dois algoritmos (expressando quando um é melhor que o outro)? Em particular, existe um exemplo em que a simulação em paralelo está superando o algoritmo de pesquisa mista?2 lg lg n2lgn+12lglgn

--- Alguns antecedentes básicos ---

1) de interpolação para o elemento em uma matriz classificada entre a posição e faz uma comparação na posição , e reduz o intervalo de pesquisa para ou acordo com o resultado (em oposição à pesquisa binária, que compara ao elemento na posição ).T i j g = i + ( j - i ) / ( T [ j ] - T [ i ] ) ( x - T [ i ] ) [ i , g ] ] g , j ] x ( i + j ) / 2xTijg=i+(ji)/(T[j]T[i])(xT[i])[i,g]]g,j]x(i+j)/2

2) A complexidade de pior caso do algoritmo de busca simulando em pesquisa e interpolação de pesquisa binária paralela é : Dados dois algoritmos e dos piores complexidades caso e , o pior caso de a simulação paralela de e , parando assim que alguém termina, tem complexidade . A complexidade da pesquisa que alterna as etapas da pesquisa binária e pesquisa de interpolação também é 2 \ lg n + 1 , porque o intervalo de pesquisa é pelo menos reduzido em dois a cada duas comparações.A B f ( n ) g ( n ) A B 2 min { f ( n ) , g ( n ) } O ( min f ( n ) , g ( n ) ) 2 lg n + 12lgn+1ABf(n)g(n)AB2min{f(n),g(n)}O(minf(n),g(n))2lgn+1

Jeremy
fonte
1
Como a pesquisa de interpolação funciona?
Suresh Venkat
@Suresh A idéia é estimar a próxima posição a ser verificada em uma matriz classificada com base em uma interpolação linear da chave de pesquisa e nos valores extremos do intervalo de pesquisa.
Sylvain Peyronnet
1
Se não me engano, o objetivo de executar dois algoritmos diferentes em paralelo (ou intercalar dois algoritmos) é que o tempo de pior caso se torna o mais rápido dos tempos de pior caso dos dois algoritmos.
Tsuyoshi Ito
2
@ Tsuyoshi, você está correto. Eu acho que a pergunta é (realmente) perguntando sobre a análise que não é do pior caso - por exemplo, tempo médio de execução de caso ou tempo de execução esperado sobre determinadas distribuições nas chaves de pesquisa. Basicamente, qualquer tipo de análise de "classificação mais fina" do que otimizar apenas para o pior caso.
Daniel Apon
1
Votou para fechar. Como escrevi em um comentário, não consigo entender a pergunta em sua forma atual e acredito que não é minha culpa.
Tsuyoshi Ito

Respostas:

4

Em Pesquisando arquivos não indexados e não uniformemente geradosloglogN por Willard em Time , ele faz referência a uma versão preliminar (do artigo vinculado) intitulada "Algoritmos de pesquisa surpreendentemente eficientes para arquivos gerados não uniformemente" que aparecem na 21ª Conferência Allerton sobre Controle e Computação da Comunicação em 1983, pp. 656-662. Não consigo encontrar este documento na Web, mas na versão posterior (vinculada) acima, ele diz que o artigo anterior mostra que a sinergia entre pesquisa binária e interpolação pode reduzir o tempo de pesquisa para para determinados distribuições -uniformes de chaves de registro.o(logn)

Especificamente, chame um PDF regular se houver tal que para ou e e para . Para dados produzidos por PDFs regulares, a pesquisa de interpolação leva tempo esperado, enquanto a pesquisa binária leva tempo esperado. A intercalação deles, no entanto, leva tempo esperado.b 1 , b 2 , b 3 , b 4 μ ( x )μb1,b2,b3,b4x < b 1 x > b 2 μ ( x ) b 3 > 0 | μ ( x ) | < b 4 b 1x b 2 Ω ( log n ) Θ ( log nμ(x)=0x<b1x>b2μ(x)b3>0|μ(x)|<b4b1xb2Ω(logn)O ( Θ(logn)O(logn)

Você também pode estar interessado no "Processamento paralelo de Willard e Reif : o comportamento incomum da pesquisa por interpolação" , que mostra que "o processamento paralelo antes da literalmente última iteração na pesquisa de um arquivo ordenado não indexado quase não tem utilidade".

jbapple
fonte
Obrigado! Exatamente o tipo de resultado que eu esperava ter sido realizado. Vou tentar fazer o download dos trabalhos da universidade.
Jeremy
1
Tentei obter o artigo da Allerton Conference, mas não consigo encontrá-lo em uma biblioteca, exceto na ETH-Bibliothek Zurich, que fica muito longe de onde moro. Enviei um email ao autor, mas ainda não recebi resposta. Informe-me se encontrar o documento em qualquer lugar.
Jbapple