Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Презентации лекций / Презентация лекции 15 ДМ 20

.pdf
Скачиваний:
1
Добавлен:
12.01.2024
Размер:
1.65 Mб
Скачать

План лекции

1.Алгоритм поиска в ширину в ориентированном графе

2.Понятие паросочетания

3.Задачао наибольшем паросочетании

4.Задача о назначениях

11

1

2

3

4

12

 

1

Цепь графа, ребра которойпоочередновходяти не входятв

2

параосочетание, называетсячередующейсяотносительно

3

 

4

 

Цепь

 

Ребра цепи называются темными,

из одногоребра

Вершины графа,инцидентные

также

ребрамиз , называются

если они входят в , и светлыми,

чередующаяся

насыщенными,вседругие

если они не входят в

 

вершины –ненасыщенными

Пример:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= { , , }-

 

 

 

 

паросочетание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

-ненасыщенные

 

 

 

, ,

, , , -насыщенные

 

 

 

-чередующаясяцепь,ребро

=

-светлое

→ → → - чередующаясяцепь,

ребра = и = -светлые, ребро = - темное

Цепи, неявляющиеся чередующимися:

 

 

 

 

13

 

 

 

 

Если чередующаяся относительно паросочетания цепь соединяет две различные

1

2

ненасыщенные вершины, то ее называют увеличивающейотносительно

3

 

4

ПОЧЕМУ?

Если увеличивающая относительно цепьсуществует,то можнопостроить паросочетаниес большимчислом ребер,чем .

Для этогонадопоступить так:удалить из всетемныеребраувеличивающей цепи и присоединитьк всеее светлыеребра(ихна одно большетемных).

Получим новоепаросочетаниесчисломреберна единицубольшим.

Пример:

 

 

 

 

 

 

 

= { , ,

, }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- новое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= { , , }-

 

 

 

 

 

паросочетание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

паросочетание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

→ → →

-

 

 

 

 

 

 

 

 

 

 

 

увеличивающая

 

 

 

 

 

 

 

 

 

 

 

относительно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

цепь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

1

Паросочетание -наибольшее

Вграфенетувеличивающих

2

относительно цепей

3

 

 

4

 

 

Стратегияпоисканаибольшегопаросочетания

Начав с произвольного парососчетания , строить последовательность паросочетаний , , ,…, в которой

= и получается

из

с помощью описанного изменения вдоль некоторой увеличивающей цепи. В качестве можно взятьпроизвольное ребро графа или,

чтолучше, некотороемаксимальноепарососчетание.

 

Какнайтиувеличивающуюцепьнаграфе?

Поставим в соответствие графу и паросочетанию вспомогательный ориентированный двудольный граф , придав ориентацию «от к » всем ребрам графа, входящим в паросочетание, и «от к » всем остальным ребрам этогографа.

Обозначим через

и множества ненасыщенных вершин,

входящих

соответственно, в

и . Увеличивающей цепи в графе взаимно однозначно

соответствуеториентированнаяцепьсначаломиз

иконцомиз

вграфе .

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

Дляпоискаориентированнойцепииспользуемпоисквширинуизмножества .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

1.Построитькакое-либомаксимальноепаросочетание в графе .

2.По графу и паросочетанию построитьграф .

3. Пустьв графе - множество

 

вершин из и

 

- множествовершин из , не насыщенныхтекущим

паросочетанием.Еслихотя бы одноиз этих множеству пусто, то – наибольшеепаросочетание;конец.Иначе выполнитьв графе поиск в ширину из множества .

4. Если врезультатепоискав ширину ни одна из вершин множества не получила метки,то перейти к п.5. Иначе перейти к п.6.

5. Пусть =

 

 

,

,

 

,

,…,

 

,

 

, – множество всехдуг, выходящих из множества .Положить =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

,…,

 

 

. – наибольшеепаросочетание.Конец.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Пусть – ориентированнаяцепьв графе такая,чтоначалоцепи - вершина из , конеццепи – вершина из

 

(найденнаяв результатепоиска в ширину вп. 4). Изменить граф , заменивв нем каждуюдугу

, цепи

 

на дугу , . Перейтик п. 3.

 

 

 

 

 

 

1

2

3

4

16

1.Построитькакое-либомаксимальноепаросочетание в графе

.

2.По графу и паросочетанию построитьграф .

3. Пустьв графе - множество

 

вершин из и

 

- множество

вершин из , не насыщенныхтекущим паросочетанием.Если хотя бы одно из этих множеству пусто, то – наибольшее

паросочетание;конец.Иначе выполнитьв графе поиск в ширину из множества .

4. Если врезультатепоиска в ширину ни однаиз вершин множестване получиламетки, то перейтик п.5. Иначе перейтик п. 6.

5. Пусть =

 

 

,

,

 

,

,…,

 

,

 

, – множество всехдуг,

 

 

 

 

 

 

 

 

 

 

 

 

 

выходящих из множества .Положить =

 

 

 

,

,…,

 

 

. – наибольшеепаросочетание.Конец.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Пусть – ориентированнаяцепьвграфе такая,чтоначалоцепи

 

 

- вершина из

, конеццепи – вершина из (найденнаяв

результатепоиска в ширину вп. 4). Изменить граф , заменивв

нем каждуюдугу

, цепи надугу , . Перейтик п. 2.

1

2

3

Пример:найти наибольшее 4 паросочетаниевграфе:

17

План лекции

1.Алгоритм поиска в ширину в ориентированном графе

2.Понятие паросочетания

3.Задачао наибольшем паросочетании

4.Задача о назначениях

18

1

2

3

4

Совершенноепаросочетаниеминимальноговесаназовемдлякраткости оптимальнымрешением.

19

1

2

3

4

20