Sul numero wikipedia entry for k-d trees, viene presentato un algoritmo per eseguire una ricerca vicino più vicino su un albero k-d. Quello che non capisco è la spiegazione del passo 3.2. Come fai a sapere che non esiste un punto più vicino solo perché la differenza tra la coordinata di divisione del punto di ricerca e il nodo corrente è maggiore della differenza tra la coordinata di divisione del punto di ricerca e la corrente migliore?vicino più prossimo - albero k-d - prova wikipedia
MODIFICA: testo aggiunto dell'articolo di Wikipedia in questione nel caso in cui venga successivamente modificato su Wikipedia.
più vicina di ricerca vicino Animazione di NN ricerca con un albero di KD in 2D
Il più vicino (NN) algoritmo ha lo scopo di trovare il punto nell'albero che è più vicino ad un ingresso determinato punto . Questa ricerca può essere effettuata in modo efficiente tramite utilizzando le proprietà dell'albero per eliminare rapidamente le grandi porzioni dello spazio di ricerca . Ricerca di un vicino più prossimo in un procede KD-albero come segue:
- A partire dal nodo radice, l'algoritmo sposta verso il basso l'albero in modo ricorsivo, nello stesso modo in cui sarebbe se il punto di ricerca sono stati inserito inserito (vale a dire va a destra o sinistra a seconda se il punto è maggiore o minore del nodo corrente nella dimensione divisa).
- volta che l'algoritmo raggiunge un nodo foglia, si salva quel punto nodo come "corrente migliore"
- L'algoritmo svolge la ricorsione dell'albero, effettuare le seguenti operazioni ad ogni nodo: 1. Se la corrente il nodo è più vicino del migliore attuale, quindi lo diventa il migliore corrente. 2. L'algoritmo controlla se ci possono essere dei punti su sull'altro lato del piano di divisione più vicini al punto di ricerca . Nel concetto, interseca l'iperpiano splittato con un'ipersfera intorno al punto di ricerca che ha un raggio uguale all'attuale distanza più vicina. Poiché le iperpiani degli assi allineati questo è implementato come un semplice confronto per vedere se la differenza tra coordinata scissione del punto di ricerca e nodo corrente è inferiore la distanza (coordinate globali) dalla ricerca puntare all'attuale migliore. 1. Se l'ipersfera attraversa il piano, ci potrebbero essere più vicini punti sull'altro lato del piano , quindi l'algoritmo deve spostare verso il basso l'altro ramo dell'albero al nodo corrente cerchi più stretti punti, seguendo lo stesso processo ricorsivo come l'intera ricerca. 2. Se l'ipersfera non interseca il piano di divisione, , l'algoritmo continua a camminare su nell'albero e l'intero ramo su l'altro lato del nodo è eliminato.
- Quando l'algoritmo termina questo processo per il nodo radice, la ricerca è completa.
Generalmente gli usi algoritmo quadrati distanze per il confronto, per evitare calcolo radici quadrate. Inoltre, è possibile salvare il calcolo tenendo la distanza migliore corrente quadrata in una variabile per il confronto.
Questo è il collegamento mancante che ha reso comprensibile l'algoritmo. Sembra che nessuna delle altre spiegazioni richieda del tempo per spiegare il passo della semplificazione (o lo menzionano semplicemente come un modo). –