Минимальное остовное дерево в графе с несколькими корневыми вершинами

Я хотел бы знать, есть ли алгоритм, который вычисляет минимальное остовное дерево (оптимальное ветвление) в ориентированном графе с учетом набора корневых вершин между всеми этими корневыми вершинами, но не только одной корневой вершиной и всеми другими вершинами в графе .

Дан набор корневых вершин [1,4,6] и граф G, подобный изображенному на следующем рисунке:

введите описание изображения здесь

... алгоритм должен вернуть что-то вроде зеленого подграфика на том же изображении.

Я бы хотел получить такой MST, который соединяет все корневые вершины, предоставленные алгоритму. Я склонен думать, что результатом потенциального алгоритма является подграф графа G, который содержит все корневые вершины и некоторые другие вершины из G.

Примечания:

  1. Я знаю, что для ориентированного графа нет MST, но есть Chu –Алгоритм Лю / Эдмондса.
  2. Я предполагаю, что результат такого алгоритма (если это действительно возможно) вернет оптимальное ветвление, которое включает некоторые вершины графа вместе со всеми корневыми вершинами.

person skanatek    schedule 21.10.2011    source источник


Ответы (1)


Минимальные связующие деревья должны охватывать все вершины. Я думаю, что вы действительно имеете дело с проблемой дерева Штейнера, учитывая, что вам нужно только соединить подмножество из них. К сожалению, традиционная проблема дерева Штейнера с неориентированными ребрами уже NP-завершена, так что впереди вас ждет трудный путь.

person hugomg    schedule 21.10.2011