Sospecho que esos dos algoritmos son factibles para su problema.
Según tengo entendido, su problema es una optimización de objetivos múltiples en un gráfico para visitar algunos nodos específicos teniendo en cuenta las longitudes de borde y los costos correspondientes.
K-means es un algoritmo útil para encontrar los llamados grupos en un conjunto de elementos, por ejemplo, puntos de datos con el propósito de maximizar la similitud dentro del grupo y maximizar la distancia entre grupos.
- ¿Qué soluciones se están construyendo utilizando la tecnología IBM Watson?
- ¿Qué piensan los científicos de los expertos en SEO?
- ¿Pueden Kmeans y el algoritmo DBSCAN dar el mismo resultado para un conjunto de datos en particular?
- Cómo hacer que una red neuronal funcione como PCA
- ¿Sigue siendo el curso de aprendizaje automático de Andrew Ng el mejor curso de aprendizaje automático disponible?
El algoritmo de vecinos más cercanos a K se utiliza para tareas de clasificación y regresión en el aprendizaje automático que básicamente decide sobre la salida al observar los elementos más cercanos ya conocidos.
Si su único objetivo es acerca de las rutas más cortas (es decir, los bordes de su gráfico tienen solo un tipo de peso), dependiendo del tamaño de su gráfico, básicamente puede probar todas las rutas que cubren los nodos que deben incluirse y seleccionar la menos costosa . Para un gráfico más grande, deberá hacer cosas más inteligentes, como usar algoritmos de gráficos de ruta más cortos. En este caso, puede calcular las rutas más cortas entre los nodos que debe visitar (para los cuales puede usar el algoritmo de Dijkstra) y aplicar el recorrido de profundidad primero utilizando su nuevo gráfico que contiene solo nodos para ser visitados y que tiene costos mínimos en los bordes y luego úselo como enrutamiento.
Si hay muchos criterios para el problema de búsqueda, le gusta jugar con la heurística y puede definir una función de aptitud que refleje sus criterios, puede probar un algoritmo genético.
Buena suerte.