Алгоритм вырезания соцветий — различия между версиями
Kot (обсуждение | вклад) (→Паросочетание в недвудольном графе) |
Kot (обсуждение | вклад) (→Теорема Эдмондса) |
||
Строка 16: | Строка 16: | ||
Тогда в <tex>G</tex> существует удлиняющий путь тогда и только тогда, когда существует удлиняющий путь в <tex>G\setminus B</tex> | Тогда в <tex>G</tex> существует удлиняющий путь тогда и только тогда, когда существует удлиняющий путь в <tex>G\setminus B</tex> | ||
|proof= | |proof= | ||
− | Пусть граф <tex>G'</tex> - граф, полученный <tex>G</tex> сжатием | + | Пусть граф <tex>G'</tex> - граф, полученный <tex>G</tex> сжатием соцветия <tex>B</tex> в псевдо-вершину <tex>B'</tex>.<br /> |
+ | Заметим, что достаточно рассматривать случай, когда база соцветия является свободной вершиной (не принадлежащей паросочетанию). Действительно, в противном случае в базе соцветия оканчивается чередующийся путь чётной длины, начинающийся в свободной вершине. Прочередовав паросочетание вдоль этого пути, мощность паросочетания не изменится, а база соцветия станет свободной вершиной. | ||
<tex>\Rightarrow</tex> | <tex>\Rightarrow</tex> | ||
Строка 27: | Строка 28: | ||
Пусть путь <tex>P</tex> является увеличивающим путём в графе <tex>G'</tex>. Если <tex>P</tex> не проходит через <tex>B'</tex>, то тогда он будет удлиняющим и в графе <tex>G</tex>. <br /> | Пусть путь <tex>P</tex> является увеличивающим путём в графе <tex>G'</tex>. Если <tex>P</tex> не проходит через <tex>B'</tex>, то тогда он будет удлиняющим и в графе <tex>G</tex>. <br /> | ||
− | Рассмотрим отдельно случай, когда <tex>P</tex> начинается со сжатого соцветия <tex>B'</tex>, т.е. имеет вид <tex>(B', c, ...)</tex>. Тогда в соцветии <tex>B</tex> найдётся соответствующая вершина <tex>v</tex>, которая связана ребром с <tex>c</tex>. | + | Рассмотрим отдельно случай, когда <tex>P</tex> начинается со сжатого соцветия <tex>B'</tex>, т.е. имеет вид <tex>(B', c, ...)</tex>. Тогда в соцветии <tex>B</tex> найдётся соответствующая вершина <tex>v</tex>, которая связана ребром с <tex>c</tex>. Заметим, что из базы соцветия всегда найдётся чередующийся путь чётной длины до вершины <tex>v</tex>. Учитывая всё вышесказанное, получаем, что путь <tex>P_1(b,...v,...c,..)</tex> является увеличивающим путём в графе <tex>G</tex>. |
}} | }} | ||
Версия 09:00, 25 декабря 2010
Паросочетание в недвудольном графе
Определение: |
Соцветие | графа - цикл, состоящий из ребер, из которых только входят в соцветие .
Определение: |
Cжатие соцветия - граф | , полученный из сжатием соцветия в одну псевдо-вершину.
Определение: |
База соцветия - вершина соцветия, в которую входит ребро не из данного соцветия. |
Теорема Эдмондса
Теорема: |
Пусть в графе существует соцветие .Тогда в существует удлиняющий путь тогда и только тогда, когда существует удлиняющий путь в |
Доказательство: |
Пусть граф
Пусть путь
Пусть путь |
Алгоритм
Пусть дан произвольный граф
Для построения алгоритма по теореме Бержа нужно уметь находить дополняющую цепь.