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

Материал из testwiki
Перейти к навигации Перейти к поиску

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

Алгоритм

Пусть дан граф 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 Шаблон:Алгоритмы на графах