94 6. Паросочетания в двудольных графах
множество дуг E
∗
определим следующим образом. Каждое ребро e = xy
из E, где x ∈ X и y ∈ Y , превращаем в дугу xy, исходящую из x и вхо-
дящую в y. Добавим к полученному множеству все дуги вида sx, yt, где
x ∈ X и y ∈ Y . Полученное в результате множество и есть множество
дуг E
∗
сети G
∗
. Пропускную способность каждой дуги положим равной
единице. На рис. 24 показаны граф G и соответствующая ему сеть G
∗
.
Заметим, что если f — целочисленный поток в сети G
∗
, то f(e) = 0
или f(e) = 1 для любой дуги e ∈ E. Кроме того, по теореме 5.5 среди
таких 0-1-потоков существует максимальный поток. Оказывается, что
каждому паросочетанию в графе G однозначно соответствует некото-
рый 0-1-поток в сети G
∗
. Пусть P — множество всех паросочетаний в
графе G, а F — множество всех 0-1-потоков в сети G
∗
.
Теорема 6.1. Существует взаимно-однозначное отображение φ мно-
жества P на множество F, причем |M| = kφ(M)k для любого паро-
сочетания M.
(Напомним, что через kφ(M)k обозначается величина потока φ(M)).
Доказательство. Для произвольного паросочетания M в графе G
определим поток f
M
= φ(M) в сети G
∗
по формулам f
M
(s, x) =
= f
M
(x, y) = f
M
(y, t ) = 1 для любого ребра xy ∈ M и f
M
(e) = 0
для остальных дуг e ∈ E
∗
(соответствующий пример приведен на рис.
24). Докажем, что f
M
— поток в сети G
∗
.
Поскольку 0 6 f
M
(e) 6 1, условие ограничения по пропускной спо-
собности дуг выполняется. Остается проверить условие сохранения по-
тока в вершинах.
Пусть x — насыщенная вершина из X в паросочетании M. Тогда
f
M
(s, x) = 1 и, следовательно, f
M
(x−) = 1, т. е. поток втекающий в
вершину x равен 1. Поскольку вершина x насыщена в M, то существует
ровно одно ребро xy ∈ M, инцидентное x. Для этого ребра f
M
(x, y) = 1
на соответствующей дуге xy. Все остальные ребра графа, инцидент-
ные вершине x , являются светлыми, т. е. не входят в паросочетание
M. Поэтому f
M
(e) = 0 для всех соответствующих дуг. Следовательно,
f
M
(x+) = 1. Тем самым равенство f
M
(x−) = f
M
(x+) выполняется для
насыщенных вершин. Если же x не насыщена, т. е. x — свободная вер-
шина, то как входящий в x, так и выходящий из x потоки ра вны нулю.
Следовательно, условие сохранения потока в вершинах, лежащих в X,
выполняется. Для вершин y ∈ Y это условие проверяется аналогично.
Далее, поскольку количество насыщенных в M вершин x ∈ X в точ-
ности равно |M|, то f
M
(s+) = |M|, т. е. kφ(M)k = |M|. Легко видеть,