Acabo de implementar un kd-tree para hacer búsquedas rápidas en el vecino más cercano. Estoy interesado en jugar con diferentes métricas de distancia que no sean Euclidean distance. Mi comprensión del árbol kd es que la búsqueda veloz del árbol kd no garantiza búsquedas exactas si la métrica no es euclidiana, lo que significa que podría necesitar implementar una nueva estructura de datos y un algoritmo de búsqueda si quiero intentarlo nuevas métricas para mi búsqueda.¿Puedo usar métricas arbitrarias para buscar árboles KD?
Tengo dos preguntas:
- ¿Si se usa un kd-tree me atan de forma permanente a la Euclidean distance?
- En caso afirmativo, ¿qué otro tipo de algoritmos debería probar ese trabajo para metrics arbitrario? No tengo mucho tiempo para implementar muchas estructuras de datos diferentes, pero otras estructuras en las que estoy pensando incluyen cover trees y vp-trees.
Esa es una gran respuesta. ¿La métrica evert tiene una métrica asociada? ¿Hay alguna regla sobre las formas que corresponden a diferentes métricas? –
@Juegos: La regla es que la forma siempre está formada por el conjunto de puntos que están a la distancia x del punto de consulta. Por ejemplo, para la distancia euclidiana en 2D, este es un círculo; para Manhattan, un diamante. Para una métrica extraña, esta podría no ser una forma "reconocible". –