У меня есть n точек, и мне нужно соединить их все, чтобы минимизировать конечное расстояние. На изображении выше представлен алгоритм, который в каждом узле соединяется с ближайшим, но окончательный результат может быть действительно таким.
Я много искал, я знаю несколько алгоритмов поиска пути, но не знаю ни одного, который решает именно этот случай. Я нашел вопрос на Math Stackexchange, но ответ не содержит никакого алгоритма - https://math.stackexchange.com/a/581844/156584.
Есть ли алгоритм, решающий именно эту задачу? В противном случае я могу переборщить.
Правка: некоторые пояснения относительно результата, которого я ожидаю: каждый узел может быть соединен с двумя другими узлами, создавая непрерывный путь (например, взять ручку и, даже не поднимая ее, соединить узлы, сводя к минимуму конечное расстояние). Я не хочу создавать цикл (это проблема коммивояжера).
PS: этот вопрос также можно перевести как «полный граф с n вершинами и желание выбрать набор ребер таким образом, чтобы граф был связан, но сумма весов ребер минимизирована»
minimum spanning tree
, но MST и кратчайший путь Проблемы совсем другие! На всякий случай: en.wikipedia.org/wiki/Shortest_path_problem - person Svetlin Zarev   schedule 15.10.2014