Пути и маршруты

Метод Мальгранжа

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

1. Для произвольной вершины хi X находим прямое T+i) и обратное T-i) транзитивные замыкания.

2. Находим T+i) T-i). Множество вершин этого пересечения составляют вершины максимального сильно связного подграфа G1 = (Х1, A1).

3. Из исходного графа вычитаем подграф G1:G '=G\G1, Х'=X\Х1.

4. Граф G 'принимаем за исходный граф и пока X ' Ø пункты 1, 2, 3 алгоритма повторяются.

Рассмотрим этот алгоритм более подробно на примере разбиения графа, представленного на рис. 7.1,a, матрица смежности которого показана на рис. 7.1,б.


Рис. 7.1.

РАЗБИЕНИЕ – 1.

Таблица 7.1.
    X1 X7 X11
  X1      
A7= X7      
  X11      

1. Начальной вершиной первого разбиения выберем х1. Построим прямое и обратное транзитивные замыкания. T+1)– столбец, показанный справа от матрицы А, а T-1) – строка, находящаяся ниже матрицы смежности.

T+1) = {х1, х4, х5, х6, х7, х8, х11 },

T-1) = {х1, х2, х3, х7, х9, х10, х11}.

2. Находим T+1) T-1) = {х1, х7, х11}. Эти вершины и составляют первый выделенный, максимальный сильно связный подграф G1 = (Х1, A1), где Х1 = {х1, х7, х11}, а матрица смежности A1 подграфа G1 показана на таблица 7.1.

3. Из исходного графа G вычитаем подграф G1 G ' = G \G1;

G ' = (X ', A'), X ' = { х2, х3, х4, х5, х6, х8, х9, х10 }.

4. Так как X ' не пустое множество, то G' принимаем за G и переходим ко второму разбиению.

РАЗБИЕНИЕ – 2

Таблица 7.2.
    X2 X3 X4 X5 X6 X8 X9 X10   T+(x2)
  X2                    
  X3                    
  X4                    
  X5                    
A= X6                    
  X8                    
  X9                    
  X10                    
                       
  T-(x2)                    

1. Выбираем любую вершину, принадлежащую X, например, х2, и находим T+2) и T-2). Это показано в таблице 7.2. T+2) = { х2, х8 }; T-2) = { х2 }.

2. T+2) T-2) = { х2 }. Следовательно, второй выделенный подграф G2 состоит из одной вершины х2.

3. G ' = G \G2; G ' = (X ', A'); X ' = { х3, х4, х5, х6, х8, х9, х10 }.

4. Так как X ' не пустое множество, то G ' принимаем за G и процесс разбиения продолжается.


7. Лекция: Методы разбиения графа на максимальные сильно связные подграфы

Путем в орграфе называется последовательность дуг, в которой конечная вершина всякой дуги, кроме последней, является начальной вершиной следующей дуги.

Например, для графа на рис. 8.1 последовательности дуг

M1: a6, a5, a9, a8, a4,

M2: a1, a6, a5, a9, a7,

M3: a1, a6, a5, a9, a10, a6, a4

являются путями. Пути могут быть различными.

Рис. 8.1. Орграф

Орцепью (или простым путем) называется такой путь, в котором каждая дуга используется не более одного раза.

Так пути M1 и M2 являются орцепями, а M3 нет, поскольку дуга a6 используется дважды.

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

Простой орцепью является путь M2.

Для неориентированного графа понятия маршрута, цепи и простой цепи аналогичны понятиям пути, орцепи и простой орцепи в орграфе. (В определениях следует заменить слово "дуга" на слово "ребро").

Путь или маршрут можно изображать также последовательностью вершин. Так путь M1 можно представить последовательностью вершин х2, х5, х4, х3, х5, х6, и такое представление часто оказывается более полезным.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: