Максимальный односвязный подграф (я отказываюсь называть их «компонентами», потому что основное отношение не является транзитивным) содержит все или ни одного сильно связанного компонента. В качестве первого шага при перечислении максимальных односвязных подграфов, затем сверните каждый SCC в одну вершину (т. Е. Вычислите конденсацию входного графика).
Несвязанный подграф ациклического ориентированного графа обладает тем свойством, что для разных узлов u и v существует либо путь от u до v, либо путь от v до u, но не оба. Напишите u < v, если существует путь от u до v и u! = V. Так как либо u < v, либо v < u, но не оба, и u < v и v < w подразумевает u < w, отношение < является строгий общий порядок. Сортируя вершины в подграфе, мы находим, что они лежат на одном пути. Этот путь максимален, если и только если никакая вершина не может быть вставлена, что означает, что она начинается с источника (без входящих ребер), заканчивается у приемника (без исходящих ребер) и состоит исключительно из ребер, которые появляются в transitive reduction ациклический ориентированный граф.
Вот один алгоритм для перечисления максимальных Uni-связных подграфов ориентированного графа Г.
- Найти сильные компоненты G. Договора ними, что приводит к конденсации G».
- Вычислить переходную редукцию G '' из G '.
- Перечислите все пути источника раковины с помощью, например, поиск в глубине, а затем заменить каждый узел его сильным компонентом в G.
Здесь представлена графики семья с экспоненциально многими максимальными однотонный соединенными подграфами. Все ребра направлены вниз.
*
/\
* *
\/
*
/\
* *
\/
*
/\
.
.
.
\/
*
/\
* *
\/
*
Это ваше определение: «существует либо путь от u до v, либо от v до u», но ** не от обоих v до u и u до v ** ??? – Fallen
Я бы сказал, что это призыв к http://math.stackexchange.com/ – Landei
@Fallen Поскольку график направлен, я не требую, чтобы в обоих направлениях был путь. Может быть, но это не требуется. – phoenix