как найти кратчайший путь между несколькими кластерами - PullRequest
0 голосов
/ 11 октября 2018

Теорема Дейкстры говорит о нахождении кратчайшего пути между двумя вершинами ... Но что, если у нас есть матрица / граф с кластерами ... и теперь нам нужно найти кратчайший путь между этими кластерами!расстояние между этими кластерами такое же, как и между узлами, имеющими разные веса.

Как рекомендовал Мэтт, мы можем принять расстояние между узлами кластера равным нулю ... что имеет такой смысл ... Но что, если мы хотим найти один кратчайший путь, чтобы ВСЕ кластеры были связаны друг с другом ...

1 Ответ

0 голосов
/ 11 октября 2018

Алгоритм Дейкстры работает в основном таким же образом между двумя кластерами, как и между двумя вершинами.Начните со всех вершин в исходном кластере на расстоянии 0 и продолжайте строить постепенно более длинные пути, пока не найдете одну из вершин в целевом кластере.

Если это поможет, вы можете подумать об этом следующим образом: Connectвсе вершины в обоих кластерах вместе с ребрами нулевой стоимости, а затем найдите кратчайший путь от любой конкретной исходной вершины до любой конкретной целевой вершины.Не имеет значения, какие из них вы выберете, потому что ребра с нулевой стоимостью гарантируют, что все в кластере находится на одинаковом расстоянии от всего остального.

...