2

Ich lese dieses Papier Product quantization for nearest neighbor search.ungefähre nächste Nachbarn Zeit Komplexität

Auf der letzten Zeile der Tabelle II Seite 5 gibt es

die Komplexität in dieser Tabelle für die Suche die k kleinsten Elemente ist die durchschnittliche Komplexität für n >> k und wenn die Elemente willkürlich geordnete enter image description here

die n+klogkloglogn ist.

Ich denke, wir können lineare Auswahlalgorithmus verwenden, unsortierte k nächsten Nachbarn mit O(n) zu bekommen, und sortieren die k nächsten Nachbarn mit O(klogk), so können wir O(n+klogk) insgesamt haben. Aber woher kommt der loglogn Begriff?

Das Papier gibt einen Hinweis auf das TAOCP Buch dafür, aber ich habe das Buch nicht zur Hand, könnte mir jemand das erklären?

+0

Es scheint nur eine schlechte Tabellenformatierung. Die "Finde die k kleinsten Abstände" ist für SDC "n + k log k" und für ADC "log log n". Da die Spalten zu nahe beieinander liegen, liest man sie zusammen als "n + k log k log log n" – user31264

+0

@ user31264 danke! Ich habe auch darüber nachgedacht, aber eine Log-Log-n-Zeit-Komplexität macht für mich noch weniger Sinn. – dontloo

+0

@ user31264 und dontloo, können Sie bitte einen Blick auf meine [Frage] (http://stackoverflow.com/questions/38382217/k-reproduction-values)? – gsamaras

Antwort

2

Zunächst wird in Tabelle II die Komplexität jedes Schritts angegeben. Daher müssen Sie alle Begriffe hinzufügen, um die Komplexität von ADC zu messen.

In der letzten Zeile der Tabelle ist es eine einzige Komplexität sowohl für SDC und ADC, das:

n + k log k log log n

Der Begriff entspricht die durchschnittlichen algorithmischen Kosten des Auswahlalgorithmus, den wir verwenden, um die k kleinsten Werte in einer Menge von n Variablen zu finden, die wir aus Donald Knuths Buch [25] kopieren/einfügen.

Ich habe das Buch nicht in Händen, ich kann nicht überprüfen, aber es klingt richtig.


Von den Autoren

+0

danke, ich bin mir nicht ganz sicher, wie es im ADC-Fall "loglogn" wird, könntest du das bitte etwas erklären? Vielen Dank! – dontloo

+0

Siehe mein Update @dontloo, das sollte reichen, wenn du eine neue Frage hast, poste eine neue. :) – gsamaras

+0

Vielen Dank für die Klarstellung, und das ist, wo ich verwirrt bin, kann ich nur Sinn von 'n + k log k', die die nächste Form zu dieser Formel ist, die ich bekommen kann. Wie auch immer, danke, und ich denke, ich werde eine klarere Frage stellen, die über den Rahmen dieses Artikels hinausgeht. – dontloo

Verwandte Themen