- •I. Основные определения теории графов
- •2. Кратчайшие пути
- •3. Потоки в транспортной сети
- •4. Построение оптимальных деревьев поиска
- •Предположим, что необходимо определить, принадлежит ли элемент
- •Максимальное паросочетание в двудольном графе.
- •F (z) в остальных случаях,
- •Пример 8. Построить оптимальное паросочетание для двудольного графа, заданного матрицей весов:
- •Определим допустимую вершинную разметку
F (z) в остальных случаях,
где df = min{f (x)+ f (y) - w(x, y)}
x S
y ГS
Пример 8. Построить оптимальное паросочетание для двудольного графа, заданного матрицей весов:
5 4 4 3
W = 4 3 3 2
3 2 2 1
2 1 1 1
Определим допустимую вершинную разметку
f(x1) = 5, f(у1) = 0,
f(x2) = 4, f(у2) = 0,
f(x3) = 3, f(у3) = 0,
f(x4) = 2, f(у4) = 0,
Граф равенств Gf изображен изображен на рис.24. Совершенное паросочетание построить не удается, при этом S ={x1, x2, x3, x4} и ГS ={y1}.
f(x) f(y) f(x) x1 y1 f’(y)
5 x1 ○ ○ y1 0 4 ○ ○ 1
x2 y2
4 x2 ○ ○ y2 0 3 ○ ○ 0
x3 y3
3 x3 ○ ○ y3 0 2 ○ ○ 0
x4 y4
2 x4 ○ ○ y4 0 1 ○ ○ 0
Рис. 24 Рис. 25
Определим новую допустимую разметку f’:
f’(x1) = 4, f’(у1) = 1,
f’(x2) = 3, f’(у2) = 0,
f’(x3) = 2, f’(у3) = 0,
f’(x4) = 1, f’(у4) = 0.
Граф равенств, соответствующий новой допустимой вершинной разметке, изображен на рис.25. В данном случае удается построить совершенное паросочетание, которое и является оптимальным.
Контрольные вопросы и задания.
1. Постройте алгоритм нахождения максимального паросочетания двудольного графа, заданного в виде матрицы. Найдите максимальное паросочетание в графах, заданных матрицами на рис.26 и 27.
1 1 0 0 1 0 0 1 1 1 0 0 0
1 1 0 0 1 0 0 1 1 1 0 0 0
1 1 0 0 1 0 0 1 1 1 0 0 0
W1 = 1 1 0 0 1 0 0 W2 = 1 1 1 0 0 0
1 1 0 0 1 0 0 1 1 1 0 0 0
1 1 0 0 1 0 0 1 1 1 0 0 0
Рис. 26 Рис. 27
2. Предложите алгоритм решения следующей задачи о назначении. Пусть имеются n работников, m должностей и мера ценности работника i на должности j равна wi,j≥0. Матрица из 0 и 1 называется насыщенной матрицей назначения, если выполняются следующие условия:
xi,j ≤ 1,
xi,j ≤ 1,
xi,j = min{n,m}.
Необходимо построить насыщенную матрицу назначения, для которой xi,j wi,j => min.
3.Опорой двудольного графа G = (X U Y,E) называется такое подмножество вершин Q из X U Y, что каждое ребро из E имеет по крайней мере одну из концевых вершин в Q. Докажите, что минимальное число вершин в опоре двудольного графа равно максимально возможному числу ребер в паросочетании (теорема Кенига).
Вычислите дефицит двудольных графов, изображенных на рис.28 и 29.
○ y1 ○ y1
x1 ○ x1 ○
○ y2 ○ y2
x2 ○ x2 ○
○ y3 ○ y3
x3 ○ x3 ○
○ y4 ○ y4
x4 ○ x4 ○
○ y5 ○ y5
x5 ○ x4 ○
○ y6
Рис. 28 Рис. 29
5. Постройте совершенное паросочетание с максимальным весом в двудольных графах, заданных матрицами весов:
3 1 4 4 6 1 5 7
1 2 2 3 2 4 9 1
W1 = 3 4 4 5 W2 = 4 1 1 2
2 2 1 1 5 4 2 2
6. Переформулируем задачу построения совершенного паросочетания с максимальным весом следующим образом. Найти такое подмножество элементов матрицы весов W, что
в каждой строке и каждом столбце находится не более одного выбранного элемента и
сумма выбранных элементов является наибольшей из возможных.
Подоптимальный алгоритм решения сформулированной задачи, называемый жадным [7], предполагает последовательный выбор максимальных элементов из множества Xd, допустимых для выбора элементов на k -ом шаге. Множество Xd образуют те элементы матрицы W, которые могут быть добавлены к выбранным элементам на предыдущих шагах, не нарушая первого условия. Используя жадный алгоритм, решите задачу, сформулированную в п.5.
Приведите пример, для которого паросочетание, найденное с помощью жадного алгоритма, не является оптимальным.
Библиографический список
Евстигнеев В.А. Применение теории графов в программировании. М.: Наука, 1985. 352 с.
Свами М., Тхуласираман К. Графы, сети и алгоритмы: Пер. с англ.- М.: Мир, 1984. 454с.
Кнут Д. Искусство программирования для ЭВМ. Пер. с англ. – М.: Мир, 1978. 482с.
Альсведе Р., Вегенер И. Задачи поиска: Пер. с англ. М.: Мир, 1982. 368с.
Романовский И.В. Алгоритмы решения экстремальных задач. М.: Наука, 1977. 352с.
Кофман А. Введение в прикладную комбинаторику. М.: Наука, 1975. 479с.
Липский В. Комбинаторика для программистов.: Пер. с польск. – М.: Мир, 1988, 213с.
СОДЕРЖАНИЕ
Основные определения теории графов..........................1
Кратчайшие пути..............................................................
Потоки в транспортной сети...........................................
Построение оптимальных деревьев поиска...................
Максимальное паросочетание в двудольном графе......
Библиографический список..............................................