Алгоритм Мальгранжа

Материал из testwiki
Версия от 13:27, 9 марта 2023; imported>AbiyoyoBot (Ссылки: замена устаревших перенаправлений: rq/stub -> rq/empty)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Алгоритм Мальгранжа — метод для разбиения графа на сильно связные подграфы.

Алгоритм

Пусть дан граф G=(X,A), где X={xi} — множество вершин, в котором, i=1,n, а A={ai} — множество дуг, описанных матрицей смежности, в котором i=1,m. Алгоритм разбиения заключается в следующем:

  1. Для произвольной вершины xiX находим прямое T+(xi) и обратное T(xi) транзитивные замыкания.
  2. Находим T+(xi)T(xi). Множество вершин этого пересечения составляют вершины максимального сильно связного подграфа G1=(X1,A1).
  3. Из исходного графа вычитаем подграф G1: G=GG1,X=XX1.
  4. Граф G принимаем за исходный граф и пока X пункты 1, 2, 3 алгоритма повторяются.

Литература

Ссылки

Шаблон:Rq Шаблон:Алгоритмы на графах