Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diskr_Mat(Fadeev(21)).docx
Скачиваний:
161
Добавлен:
25.02.2016
Размер:
2.37 Mб
Скачать

Алгоритм построения совершенного паросочетания для двудольного графа.

Пусть G = (U , V, E) – двудольный граф. Выберем исходное паросочетание Р1 , например, одно ребро графа G. Допустим, что паросочетание

Pi = (Ui , Vi , Ei) для графа G построенно.

Построим паросочетание Pi+1 для G следующим образом.

1. Выбираем u из U не из Pi . Если такой вершины u нет, то Pi есть совершенное паросочетание. Если есть, то построим в G чередующуюся цепь μi = [u1 , v1 , u2 , v2 , …, up , vp] c u1 = u, в которой всякое ребро (ui , vi ) не принадлежит Ei , а всякое ребро (vi , ui+1 ) принадлежит Ei . Если такой цепи нет, то совершенного паросочетания граф G не имеет, а паросочетание Pi является для G максимальным (тупиковым). Цепь μi есть Pi – увеличитель.

2. Удаляем из Pi все ребра (vi , ui+1 ) и добавляем все ребра (ui , vi ) цепи μi . Получившееся паросочетание Pi+1 на одно ребро длиннее Pi . Переходим к пункту 1.

Решение:

X1 y1

y2

x2

y3

x3

y4

x4

y5

x5

y6

Рис. 1.

x1 y1 Шаг 1. Выбираем исходное паросочетание

P1 = {(x1 , y1)}. P1 – увеличитель

(чередующаяся цепь) (Рис. 2).

y2

x2 μ1 = [x2 , y6]

0

y3 1

x3 Добавляем в P1 ребро ( x2 , y6) (Рис. 3).

y4

x4

y5

x5

y6

Рис. 2.

x1 y1 Шаг 2. P2 = {(x1 , y1), ( x2 , y6)}.

μ2 = [x3 , y6 , x2 , y5]

y2 0 1 0

x2 1 0 1

Единственная единица в первой строке

y3 из нулей и единиц означает, что

x3 соответствующее этой единицы ребро

(x2 , y6) лежит в P2 . Убираем это ребро

y4 из P2 , а вместо него добавляем два ребра

x4 (x3 , y6), (x2 , y5) соответствующие двум

единицам второй строки из нулей и

y5 единиц. В результате получим следующее

x5 паросочетание P3 , число ребер в котором

на одно больше, чем в P2 (Рис. 4).

y6

Рис. 3.

x1 y1 Шаг 3. P3 = {( x1 , y1), ( x2 , y5), (x3 , y6)}.

μ3 = [x4 , y3]

y2 0

x2 1

Добавляем в P3 ребро ( x4 , y3) (Рис. 5).

y3

x3

y4

x4

y5

x5

y6

Рис. 4.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]