Für eine Anwendung zum maschinellen Lernen muss meine Gruppe den euklidischen Abstand zum ten nächsten Nachbarn in einer Menge X für jedes x ∈ ( X ∪ Y ) ⊂ R d (für d zwischen 5 und etwa 100 und | X | ≈ ) berechnen | Y | einige hundert bis einige Millionen). Wir verwenden derzeit entweder den Brute-Force- O- Ansatz ( d | X | | X ∪ Y | ) oder den offensichtlichen mit einem kd-Baum auf X., was, wenn hoch ist und | X | ist relativ niedrig gewinnt nie. (Alles ist in Erinnerung.)
Es scheint jedoch, dass es einen besseren Weg als Brute-Force geben muss - zumindest einen, der die Dreiecksungleichheit ausnutzt, oder vielleicht mit lokalitätssensitiven Hashes. Eine einigermaßen enge Annäherung ist möglicherweise auch in Ordnung.
Die Forschung, die ich finden konnte, scheint sich auf das Problem zu konzentrieren, den nächsten Nachbarn (oder einen, der ungefähr am nächsten ist) zu finden. Hat das gesuchte Problem einen anderen Namen oder besteht eine Verbindung zu einem verwandten Problem, an das ich nicht gedacht habe?