Analyse der Synergie zweier Algorithmen im Vergleich zu ihrer parallelen Simulation

8

Betrachten Sie die folgenden zwei Algorithmen für die Suche in einem sortierten Array von n Elementen:

A) parallel simulierte Interpolationssuche und binäre Suche und

B) Durchsuchen abwechselnder Interpolationsschritte und binärer Schritte.

Beide Algorithmen haben eine Worst-Case-Komplexität von 2lgn+1 (und eine durchschnittliche Komplexität von 2lglgn für eine vernünftige Verteilung). Gibt es ein Komplexitätsmodell, das es erlaubt, diese beiden Algorithmen zu trennen (auszudrücken, wann einer besser ist als der andere)? Gibt es insbesondere ein Beispiel, bei dem die parallele Simulation den gemischten Suchalgorithmus übertrifft?

--- Einige grundlegende Hintergründe ---

1) Die Interpolation für das Element x in einem sortierten Array T zwischen Position i und j führt einen Vergleich an Position g=i+(ji)/(T[j]T[i])(xT[i]) und reduziert das Suchintervall auf [i,g] oder ]g,j]entsprechend dem Ergebnis (im Gegensatz zur binären Suche, bei der x mit dem Element an Position verglichen wird (i+j)/2.)

2lgn+1ABf(n)g(n)AB2min{f(n),g(n)}O(minf(n),g(n))2lgn+1 auch, weil das Suchintervall alle zwei Vergleiche um mindestens zwei reduziert wird.

Jeremy
quelle
1
Wie funktioniert die Interpolationssuche?
Suresh Venkat
@Suresh Die Idee ist, die nächste zu überprüfende Position in einem sortierten Array basierend auf einer linearen Interpolation des Suchschlüssels und der Extremwerte des Suchintervalls zu schätzen.
Sylvain Peyronnet
1
Wenn ich mich nicht irre, besteht der Punkt beim parallelen Ausführen von zwei verschiedenen Algorithmen (oder beim Verschachteln von zwei Algorithmen) darin, dass die Worst-Case-Zeit die schnellere der Worst-Case-Zeiten der beiden Algorithmen wird.
Tsuyoshi Ito
2
@ Tsuyoshi, du bist richtig. Ich denke, die Frage betrifft (wirklich) die Nicht-Worst-Case-Analyse - zum Beispiel die durchschnittliche Falllaufzeit oder die erwartete Laufzeit über bestimmte Verteilungen über die Suchschlüssel. Grundsätzlich jede Art von "feinerer" Analyse als die Optimierung nur für den schlimmsten Fall.
Daniel Apon
1
Zum Schließen gewählt. Wie ich in einem Kommentar schrieb, kann ich die Frage in ihrer aktuellen Form nicht verstehen, und ich glaube, dass es nicht meine Schuld ist.
Tsuyoshi Ito

Antworten:

4

In Willards Suche nach nicht indizierten und ungleichmäßig generierten Dateien in TimeloglogN verweist er auf eine vorläufige Version (des verlinkten Dokuments) mit dem Titel "Überraschend effiziente Suchalgorithmen für ungleichmäßig generierte Dateien", die auf der 21. Allerton-Konferenz für Kommunikationssteuerung und Datenverarbeitung in 1983, S. 656-662. Ich kann dieses Papier nicht im Web finden, aber in der späteren (verknüpften) Version oben sagt er, dass das ältere Papier zeigt, dass die Synergie zwischen Binär- und Interpolationssuche die Suchzeit für bestimmte Nicht- auf reduzieren kann -gleichmäßige Verteilung der Aufnahmetasten.o(logn)

Rufen Sie insbesondere ein PDF regulär auf, wenn es so dass für oder und und für . Für Daten, die mit regulären PDF-Dateien erstellt wurden, benötigt die Interpolationssuche die erwartete Zeit , während die binäre Suche die erwartete Zeit . Das Verschachteln dauert jedoch erwartete Zeit.μb1,b2,b3,b4μ(x)=0x<b1x>b2μ(x)b3>0|μ(x)|<b4b1xb2Ω(logn)Θ(logn)O(logn)

Sie könnten auch an Willard und Reifs "Parallelverarbeitung kann schädlich sein: Das ungewöhnliche Verhalten der Interpolationssuche" interessiert sein , das zeigt, dass "Parallelverarbeitung vor der buchstäblich letzten Iteration bei der Suche nach einer nicht indizierten geordneten Datei fast keinen Nutzen hat".

jbapple
quelle
Vielen Dank! Genau die Art von Ergebnissen, die ich erwartet hatte. Ich werde versuchen, die Papiere von der Universität herunterzuladen.
Jeremy
1
Ich habe versucht, das Papier von der Allerton-Konferenz zu bekommen, aber ich kann es nicht einmal in einer Bibliothek finden, außer in der ETH-Bibliothek Zürich, die sehr weit von meinem Wohnort entfernt ist. Ich habe dem Autor eine E-Mail geschickt, aber ich habe noch keine Antwort erhalten. Bitte lassen Sie mich wissen, wenn Sie das Papier irgendwo finden.
jbapple