Upload
farren
View
68
Download
7
Embed Size (px)
DESCRIPTION
Паросочетания и задача о назначениях. Определения. Задан граф G = ( V , E ). Подмн. ребер M E является паросочетанием в G , если v V инцидентно 1 ребра из M . П., покрывающее все вер. графа, наз. совершенным . - PowerPoint PPT Presentation
Citation preview
Паросочетания и задача о назначениях Паросочетания и задача о назначениях
ОпределенияОпределения
Задан граф G = (V, E).
Подмн. ребер M E является паросочетанием в G, если v V инцидентно 1 ребра из M.П., покрывающее все вер. графа, наз. совершенным.
Вершинным покрытием графа наз. такое подмн. вершин R V: ребро e E инцидентно 1 вершине из R.
Двойственная взаимосвязь: пар. M и вер. п. R |M| |R|.
Действительно, пусть M = {(i1, j1), …, (ik, jk)} паросочетание. Тогда в вер. покрытии R должна быть хотя бы одна из вершин каждой пары {is, js}, s = 1, …, k. |R| k = |M|.
ПримерПример
Постановка задачи и определенияПостановка задачи и определения
max{|M| : M паросочетание в G} (1)
Назовем путь P=v0,e1,v1,e2,...,ep,vp (viV, ejE) чередующимся относительно паросочетания M, если:1) нечетные ребра e1,e3,...,eodd M;2) четные ребра e2,e4,...,eevenM;3) вершина v0 не инцидентна () паросочетанию M.
Чередующийся путь наз. аугментальным (увеличивающим), если для него доп.:4) количество ребер p нечетно, и вершина vp M
v0 v1 v2 v3 v4 v5
Аугментальный путьАугментальный путь
Лемма. Пусть задано п. M и аугментальный путь P. Тогда симметричная разность M =(MP)\(MP) является паросочетанием мощности |M |>|M|.
Доказательство. Т.к. v0,vpM и путь P чередующийся, то M паросочетание. А т.к. p нечетно, то |P(E\M)|=|PM|+1. |M |=|M|+1.
MaxMax паросочетания паросочетания
Лемма. Если в графе не аугментального относительно M пути, то M является max паросочетанием.Доказательство. Предположим противное: M не max п. Тогда п. M : |M |>|M|. Рассмотрим граф с ребрами (MM )\(MM ). Степень каждой вершины этого графа может быть равна 0,1,2. любая связная компонента этого графа путь или цикл. В любом цикле ребра из M и M чередуются и, , цикл имеет четное количество ребер и содержит одинаковое количество ребер из M и M. Т.к. |M |>|M|, то путь, содержащий > ребер из M , чем из M, причем этот путь содержит нечетное число ребер и потому является аугментальным.
M M (MM )\(MM )
MaxMax паросочетание в двудольном графе паросочетание в двудольном графе
G=(V1,V2,E), V=V1V2. Имеется нек. п. M. Нужно найти либо ауг. путь, либо показать, что такого пути нет, и значит, M max.
Алг. начинает работу с пометки в-н в V1 M. 1-е ребро чер. пути M, и все ребра, инц. помеченным в. из V1, включаются в строящиеся пути. Конечные в. таких ребер, V2, получают метки. 2-е ребро чер. пути M, и все ребра из M, инц. помеченным в. из V2, включаются в чер. пути. Непом. в. из V1, кот. являются конц. для чет. ребер, также помечаются. И т.д.
Пометка вершин прекращается, когда либо помеченная вершина из V2 M, значит, найден аугментальный путь, либо ни 1 в. > не может быть помечена, и значит, аугментального пути не .
АлгоритмАлгоритм
Шаг 0. Имеем п. M. Все в. не помечены и не просмотрены.Шаг 1. (Пометка вершин). 1.0. Приписать метку “” каж. непом. и M в. из V1. 1.1. Если нет не просм. в., то - на шаг 3. Иначе, выбрать пом. и не просм. в. i. Если iV1, то - на шаг 1.2. Если iV2, то - на шаг 1.3. 1.2. (Просмотр помеч. в. iV1). (i,j) M если jV2 не помеч., то приписать j метку “i”. Теперь i просмотрена. На шаг 1.1. 1.3. (Просмотр помеч. в. iV2). Если i M, то - на шаг 2. В прот. сл., (j,i)M если jV1 не помеч., то приписать j метку “i”. Теперь i просмотрена. На шаг 1.1.Шаг 2. (Аугментация). Аугм. путь P найден. Использовать метки, начиная с jV2, для восстановления этого пути. Положить M=(MP)\(MP). Удалить все метки. На шаг 1.Шаг 3. (Не аугм. пути). Стоп.
Корректность алгоритмаКорректность алгоритма
Пусть после остановки алгоритма:
iV
iV мн. помеченных вершин мн. не помеченных вершин
Теорема. После остановки алгоритма 1) мн.
21 VVR является вер. покрытием гр. G;
2) |M| = |R|, и п. M max.
Доказательство. 1) Т.к. на шаге 1.2 не удается пометить ни 1 в.
мн. V2, то не ребер из 1V в
2V 21 VVмн. покрываетвсе ребра графа.2) Т.к. аугм. пути нет, то каж. в. из мн.
2V инц. ребру eM
с другим концом в вершине из множества .1V Каж. в. мн.
1Vинц. р. eM, т.к. иначе она была бы помечена на шаге 1.0 сим. “”. Др. в. р. e ,2
V т.к. в прот. сл. она была бы помечена на шаге 1.2.
.21 MVV Но |R| |M| |R| = |M|
доли Vi
ПримерПример
Начальное п. M = {(3, 8), (5, 10)} (жирные ребра)
1
2
3
4
5
6
7
8
9
10
*
*
*
1
4
8
3
10
5
1
2
3
4
5
6
7
8
9
10
*
2
8
M’={(1,8),(3,7),(4,10),(5,9)}R = {3,4,5,8}
M={(,8),(5,10)}}
Паросочетание Паросочетание maxmax веса веса
Взвешенный граф G=(V1,V2,E), каж. р. e E приписан вес ce. Требуется найти паросочетание max веса. Из свойства абсолютной унимодулярности для построения паросочетания max веса достаточно решить след. задачу ЛП
;max,0 EexEe
eee
xc
,,1 21)(
VVixie
e
где (i)={eE : e=(i, j), jV} – мн. ребер, инц. в. i.
Задача о назначенияхЗадача о назначениях
Если |V1|=|V2|=n и требуется найти совершенное паросочетание max веса, то получаем задачу о назначениях:
;max1 1
0
n
i
n
jijij
xxcz
ij
;...,,1,11
nixn
jij
;...,,1,11
njxn
iij
;min11
,
n
jj
n
ii
vuvuw
ui+vj cij, i,j = 1, …, n.
Двойственная задача:
ПЗ
ДЗ
Свойства задачиСвойства задачи
Лемма. n
iiu 1}{ n
jjv 1}{ и зн. ц.ф. z ПЗ с весами cij отличается от
зн. функционала этой задачи с весами jiijij vucc напостоянную величину. Доказательство. доп. решения ПЗ имеем:
n
i
n
jijjiij
n
i
n
jijij xvucxc
1 11 1
)(
n
iij
n
jj
n
jij
n
iiij
n
i
n
jij xvxuxc
11111 1
.111 1
n
jj
n
ii
n
i
n
jijij vuxc
разница функционалов равна константе .11
n
jj
n
ii vu
Следствие. Решение ПЗ с весами cij opt оно opt для з. с весами
jiijij vucc
Свойства задачиСвойства задачи
Лемма. Если для u,vRn и xBnn выполняются условия:
0 jiijij vucc i,j = 1, …, n; 1)
2) xij=1 только в случае, когда ,0ijc
то решение x opt для ПЗ, и opt зн. ц.ф. равно .11
n
jj
n
ii vuz
Доказательство. Т.к. ,0ijc i,j, то .0)( cz
По условию 2) зн. функционала на решении x равно 01 1
n
i
n
jijij xc
оно opt. Из следствия opt решения x и для задачи с весами
.11
n
jj
n
ii vucij, и функционал на нем равен
Замечание. В лемме представлена связь решений двойственных задач. 1) – это требование доп. двойственных переменных u и v.2) – это условие дополняющей нежесткости.
Прямо-двойственный методПрямо-двойственный метод
Полный 2-дольный графа G=(V1,V2,E), V1={1,...,n} и V2={1,...,n}. Во время работы алг., двойственные переменные u и v всегдаостаются допустимыми, т.е. 21,0 VjVicij
EcEjiE ij }0:),{(),,,( 21 EVVG В графе
ищем max паросочетание.
Если его мощность = n, то стоп. Иначе, на двойственном шагеменяем значения двойственных переменных.
АлгоритмАлгоритм
Шаг 0. Пусть u, v нач. зн. дв. переменных и 21,0 VjVicij Найти max п. M* в графе ).,,( 21 EVVG Если |M*|=n, то M* – opt реш. задачи о назначениях. В прот. сл.запомнить M=M*, а также метки вершин мн. ,1
V 2V и на шаг 2.
Шаг 1. Имеем мн. ,}0:),{( EcEjiE ij п. M и мн. пом.
вершин ,1V .2
V
Используя имеющиеся метки вершин и п. M, построить max п. M*. Если |M*| = n, то M* – opt реш. задачи о назначениях, алгоритм останавливается. В прот. сл. запомнить M=M* и мн. ,1
V .2V
Шаг 2. (Двойственный шаг). Изменить зн. дв. пер., положив:
);(min21 ,
ijVjVi
c
ui=ui – , ;1Vi vj=vj+ , ;2
Vj
На шаг 1.
УтвержденияУтверждения
Лемма. После вып. шага 1 справедливо неравенство .21 VV
Лемма. На двойственном шаге > 0.
Лемма. После изменения зн. дв. переменных, получаем:
;, 21 VjVicc ijij
;,, 21 VjVicc ijij
;,, 21 VjVicc ijij ;,, 21
VjVicc ijij и новое решение дв. допустимо.
УтвержденияУтверждения
Следствие. Зн. ц.ф. ДЗ в рез. изменения зн. дв. пер-х на шаге 2
уменьшится на |).||(| 21 VV
Следствие. В результате дв. шага величина увеличивается.|| 2V
Лемма. Приведенный алг. построения opt решения для задачи о назначениях имеет трудоемкость O(n4).Доказательство. Т.к. в рез. шага 2 1 ребро добавляется в мн., то общее число дв. шагов величиной O(n2). Трудоемкость шага 2 = O(|E|). Сложность шага 1 также ограничена величиной O(|E|).
ПримерПример
27 17 7 8
14 2 10 2( )
12 19 4 4
8 6 12 6
ijc
Пусть 1 доп. дв. решение:
4...,,1,01 iui
4...,,1,max4,...,1
1
jcv ijij
u1=(0,0,0,0), v1=(27,19,12,8) и .664
1
14
1
1 j
ji
i vuw
1
0 2 5 0
13 17 2 6( )
15 0 8 4
19 13 0 2
ijc
Во 2 строке мат. все элементы < 0
2max 1
24,...,1
2
2 jj
cu
u2 = (0, 2, 0, 0), v2 = (27, 19, 12, 8) иw = 64
2
0 2 5 0
11 15 0 4( )
15 0 8 4
19 13 0 2
ijc
ПримерПример
}0:),{( 2 ijcEjiE
}4,2{1 V
}3{2V
2
0 2 5 0
11 15 0 4( )
15 0 8 4
19 13 0 2
ijc
ПримерПример
2)(min 244
2
, 21
ccijVjVi
u = (0, 4, 0, 2) v = (27, 19, 14, 8) w = 62
3
0 2 7 0
9 13 0 2( )
15 0 10 4
17 11 0 0
ijc
Задача о паросочетании Задача о паросочетании maxmax веса в веса в 2-2-дольном графедольном графе
Сведение задачи о паросочетании max веса в 2-дольном графе G = (V1, V2, E) к задаче о назначениях осуществим след. образом. Пусть |V1| = |V2| + a, a > 0. Добавим a вершин в мн. V2 и дополним граф до полного 2-дольного графа G с одинаковым количеством вершин в обеих долях, положив веса добавленных ребер = 0. Применим алг. для решения задачи о назначениях для графа G. Ребра, вошедшие в opt решение и имеющие > 0 веса, определяют паросочетание max веса в исх. 2-дольном графе G.
Транспортная задача и Венгерский метод (Harold Kuhn, 1955) One of the first algorithms of CO I heard about was the Hungarian method which has been viewed by many as a prototype of algorithm design and efficiency.Harold Kuhn presented it in 1955 in [3]. Having used ideas and results of J. Egerv´ary and D. K˝onig, he gave his algorithm (generously) the name Hungarian method.