120 likes | 340 Views
An introductory tutorial on kd-trees Andrew W. Moore - 1991. Alan Tucholka Doctorat d’Informatique Neuro-Imagerie – NeuroSpin / CEA. Plan. Construction d’un kd-tree Recherche du plus proche voisin Complexité Comment choisir le nœud de départ Performances. kd-tree.
E N D
An introductory tutorial on kd-treesAndrew W. Moore - 1991 Alan Tucholka Doctorat d’Informatique Neuro-Imagerie – NeuroSpin / CEA
Plan • Construction d’un kd-tree • Recherche du plus proche voisin • Complexité • Comment choisir le nœud de départ • Performances
kd-tree • Structure de données en arbre binaire. • Chaque nœud contient • Les coordonnées d’un point dans l’espace, • la dimension de la séparation, • Un branche gauche (res. droite) pour les points qui sont à gauche (res. droite) de la séparation.
Construction du kd-tree Y A (Split = Y) B C F C D A (X) (X) D F E G B E (Y) (Y) (Y) (Y) G X
Recherche du plus proche voisin Y d=|ZF| Pt=F A d=inf Pt=null (Split = Y) B C d=|ZG| Pt=G d=|ZF| Pt=F d=|ZG| Pt=G F C D d=|ZG| Pt=G A d=inf Pt=null (X) (X) Z D F E G B E (Y) (Y) (Y) (Y) G d=|ZG| Pt=G d=|ZG| Pt=G d=inf Pt=null d=|ZF| Pt=F X
Complexité ? • Au mieux : O(log(N)) • Au pire : N (tous les nœuds sont visités)
Bien choisir le nœud de départ Le pivot est choisi en prenant le point médiane
Bien choisir le nœud de départ Le pivot est choisi pour être le plus proche de la moitié de la dimension la plus longue.
Performances Nbr de nœuds parcourus 8d-tree Nbr de nœuds total
Performances Nbr de nœuds parcourus Nbr de dimensions
Conclusion • La rapidité de recherche du plus proche voisin varie : • Que très peu en fonction de la taille de l’arbre, • Énormément en fonction du nombre de dimensions, • En fonction du choix du pivot.