Лабораторная работа № 4.
Наибольшее паросочетание
Цель работы:
1) Рассмотреть понятие двудольный граф.
2) Изучить понятие паросочетание.
3) Научиться определять наибольшее паросочетание.
Литература:
1) "Графы и их применение", Березина Л.Ю., М.: Просвещение, 1979г.
2) "Теория графов. Алгоритмический подход", Кристофидес II.
3) "Применение теории графов в программировании", Евстигнеев В.А. - М.: Наука, 1985г.
Порядок выполнения работы:
I Разработать схему алгоритмов основной программы и подпрограмм.
II Написать и отладить программу на языке Turbo Pascal.
Задание:
Имеется m мужчин и n женщин. Каждый мужчина указывает несколько (может, нуль; может, одну; может, много) женщин, на которых он согласен жениться. Мнение женщин не спрашивают. Заключить наибольшее количество моногамных браков.
Можно поставить эту задачу в терминах теории графов:
Дан двудольный граф Bm,n. Найти наибольшее паросочетание.
Краткие теоретические сведения:
Двудольным графом называется граф Г( , ), в котором множество вершин такое, что каждое ребро ( ) соединяет вершину с вершиной .
Паросочетанием называется множество ребер, не имеющих общих вершин.
На рис. а) показан пример паросочетания, а на рис. б) - пример наибольшего паросочетания.
1 2 3 4 5
a)
1` 2` 3` 4` 5`
1 2 3 4 5
б)
1` 2` 3` 4` 5`
Для решения задачи о наибольшем паросочетании применяется метод чередующихся цепей.Пусть М -паросочетание в двудольном графе. Цепь, в которую поочередно входят ребра из М (жирные) и из пе-М (тонкие) назовем чередующейся относительно М. Например, на рис. а) цепь (1, 1`, 2, 3`) -чередующаяся. Вершины, инцидентные ребрам, из М назовем насыщенными, прочие - ненасыщенными. Очевидно, что если в графе существует чередующаяся относительно М цепь с ненасыщенными концевыми вершинами (т.е. тонкими концевыми ребрами), то в ней тонких ребер на одно больше, чем жирных. Если цепь "перекрасить", т.е. сделать все жирные ребра тонкими, а тонкие - жирными, то число жирных ребер, а, следовательно, и паросочетание увеличатся на одно ребро. Чередующаяся относительно М цепь с ненасыщенными концевыми вершинами называется увеличивающей относительно М цепью.
Теорема:
Паросочетание М является наибольшим тогда и только тогда, когда нет увеличивающих относительно М цепей. Данная теорема служит основой для алгоритма нахождения наибольшего паросочетания.
Содержание отчета:
1) Составление алгоритмов.
2) Написание программы на языке Turbo Pascal.
3) Отладка программы.
Контрольные вопросы:
1) Какой граф называется двудольным?
2) Дайте понятие паросочетания.
3) Какая цепь графа называется чередующейся относительно М?
4) Какая цепь графа называется увеличивающейся относительно М?
5) Сформулируйте метод чередующихся цепей.
Дата добавления: 2016-07-22; просмотров: 1622;