Паросочетания: основные определения, теорема о максимальном паросочетании и дополняющих цепях — различия между версиями
Shiplayer (обсуждение | вклад) |
Shiplayer (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
{{Определение | {{Определение | ||
|id=matching_def | |id=matching_def | ||
− | |definition= '''Паросочетание''' (англ. '' | + | |definition= '''Паросочетание''' (англ. ''matсhing'') <tex>M</tex> в двудольном графе — произвольное множество ребер двудольного графа, такое что никакие два ребра не имеют общей вершины.}} |
{{Определение | {{Определение | ||
− | |definition= Вершины двудольного графа, инцидентные ребрам паросочетания <tex>M</tex>, называются '''покрытыми''', а неинцидентные — '''свободными'''.}} | + | |definition= Вершины двудольного графа, инцидентные ребрам паросочетания <tex>M</tex>, называются '''покрытыми''' (англ. ''matched''), а неинцидентные — '''свободными''' (англ. ''unmatched'').}} |
{{Определение | {{Определение | ||
− | |definition= Паросочетание <tex>M</tex> графа <tex>G</tex> называется '''полным''', если оно покрывает все вершины графа.}} | + | |definition= Паросочетание <tex>M</tex> графа <tex>G</tex> называется '''совершенным (или полным)''' (англ.''perfect matching''), если оно покрывает все вершины графа.}} |
{{Определение | {{Определение | ||
− | |definition= '''Чередующаяся цепь''' — путь в двудольном графе, для любых двух соседних ребер которого верно, что одно из них принадлежит паросочетанию <tex>M</tex>, а другое нет.}} | + | |definition= '''Чередующаяся цепь''' (англ. ''alternating path'') — путь в двудольном графе, для любых двух соседних ребер которого верно, что одно из них принадлежит паросочетанию <tex>M</tex>, а другое нет.}} |
{{Определение | {{Определение | ||
− | |definition= '''Дополняющая цепь (или увеличивающая цепь)''' — чередующаяся цепь, у которой оба конца свободны.}} | + | |definition= '''Дополняющая цепь (или увеличивающая цепь)''' (англ. ''augmenting path'') — чередующаяся цепь, у которой оба конца свободны.}} |
{{Определение | {{Определение | ||
− | |definition= '''Уменьшающая цепь''' — чередующаяся цепь, у которой оба конца покрыты.}} | + | |definition= '''Уменьшающая цепь''' (англ. ''reduce path'') — чередующаяся цепь, у которой оба конца покрыты.}} |
{{Определение | {{Определение | ||
− | |definition= '''Сбалансированная цепь''' — чередующаяся цепь, у которой один конец свободен, а другой покрыт.}} | + | |definition= '''Сбалансированная цепь''' (англ. ''balanced path'') — чередующаяся цепь, у которой один конец свободен, а другой покрыт.}} |
== Свойства == | == Свойства == | ||
− | В любом графе без изолированных вершин, число паросочетания и число рёберного покрытия в сумме дают число вершин. Если существует совершенное паросочетание, то оба числа равны <tex>|V|</tex> | + | В любом графе без изолированных вершин, число паросочетания и число рёберного покрытия в сумме дают число вершин. Если существует совершенное паросочетание, то оба числа равны <tex>|V|/2</tex>. |
== Теорема о максимальном паросочетании и дополняющих цепях == | == Теорема о максимальном паросочетании и дополняющих цепях == | ||
Строка 34: | Строка 34: | ||
<tex>\Leftarrow</tex> | <tex>\Leftarrow</tex> | ||
− | Рассмотрим паросочетание <tex>M</tex> в графе <tex>G</tex> и предположим, что <tex>M</tex> - не наибольшее. Докажем, что тогда имеется увеличивающая цепь относительно <tex>M</tex>. Пусть <tex>M'</tex> - другое паросочетание и <tex>|M'|>|M|</tex>. Рассмотрим подграф <tex>H</tex> графа <tex>G</tex>, образованный теми ребрами, которые входят в одно и только в одно из паросочетаний <tex>M</tex>, <tex>M'</tex>. Иначе говоря, множеством ребер графа <tex>H</tex> является симметрическая разность <tex>M\oplus M'</tex>. В графе <tex>H</tex> каждая вершина инцидентна не более чем двум ребрам (одному из <tex>M</tex> и одному из <tex>M'</tex> ), т.е. имеет степень не более двух. В таком графе каждая компонента связности - путь или цикл. В каждом из этих путей и циклов чередуются ребра из <tex>M</tex> и <tex>M'</tex>. Так как <tex>|M'|>|M|</tex>, имеется компонента, в которой ребер из <tex>M'</tex> содержится больше, чем ребер из <tex>M</tex>. Это может быть только путь, у которого оба концевых ребра принадлежат <tex>M'</tex>. Заметим, что относительно <tex>M</tex> этот путь является увеличивающей (дополняющей) цепью. | + | Рассмотрим паросочетание <tex>M</tex> в графе <tex>G</tex> и предположим, что <tex>M</tex> {{---}} не наибольшее. Докажем, что тогда имеется увеличивающая цепь относительно <tex>M</tex>. Пусть <tex>M'</tex> {{---}} другое паросочетание и <tex>|M'|>|M|</tex>. Рассмотрим подграф <tex>H</tex> графа <tex>G</tex>, образованный теми ребрами, которые входят в одно и только в одно из паросочетаний <tex>M</tex>, <tex>M'</tex>. Иначе говоря, множеством ребер графа <tex>H</tex> является симметрическая разность <tex>M\oplus M'</tex>. В графе <tex>H</tex> каждая вершина инцидентна не более чем двум ребрам (одному из <tex>M</tex> и одному из <tex>M'</tex> ), т.е. имеет степень не более двух. В таком графе каждая компонента связности {{---}} путь или цикл. В каждом из этих путей и циклов чередуются ребра из <tex>M</tex> и <tex>M'</tex>. Так как <tex>|M'|>|M|</tex>, имеется компонента, в которой ребер из <tex>M'</tex> содержится больше, чем ребер из <tex>M</tex>. Это может быть только путь, у которого оба концевых ребра принадлежат <tex>M'</tex>. Заметим, что относительно <tex>M</tex> этот путь является увеличивающей (дополняющей) цепью. |
}} | }} | ||
==Источники== | ==Источники== | ||
− | * [http://en.wikipedia.org/wiki/Matching_%28graph_theory%29 wikipedia.org | + | * [http://en.wikipedia.org/wiki/Matching_%28graph_theory%29 Wikipedia {{---}} Matching] |
− | * Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы. '''ISBN 978-5-8114-1068-2''' | + | * [https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%BE%D1%81%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D0%B5 Википедия {{---}} Паросочетание] |
+ | * Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы. стр. 227-232 '''ISBN 978-5-8114-1068-2''' | ||
[[Категория: Алгоритмы и структуры данных]] | [[Категория: Алгоритмы и структуры данных]] | ||
[[Категория: Задача о паросочетании]] | [[Категория: Задача о паросочетании]] |
Версия 00:25, 12 января 2015
Содержание
Паросочетание в двудольном графе
Определение: |
Паросочетание (англ. matсhing) | в двудольном графе — произвольное множество ребер двудольного графа, такое что никакие два ребра не имеют общей вершины.
Определение: |
Вершины двудольного графа, инцидентные ребрам паросочетания | , называются покрытыми (англ. matched), а неинцидентные — свободными (англ. unmatched).
Определение: |
Паросочетание | графа называется совершенным (или полным) (англ.perfect matching), если оно покрывает все вершины графа.
Определение: |
Чередующаяся цепь (англ. alternating path) — путь в двудольном графе, для любых двух соседних ребер которого верно, что одно из них принадлежит паросочетанию | , а другое нет.
Определение: |
Дополняющая цепь (или увеличивающая цепь) (англ. augmenting path) — чередующаяся цепь, у которой оба конца свободны. |
Определение: |
Уменьшающая цепь (англ. reduce path) — чередующаяся цепь, у которой оба конца покрыты. |
Определение: |
Сбалансированная цепь (англ. balanced path) — чередующаяся цепь, у которой один конец свободен, а другой покрыт. |
Свойства
В любом графе без изолированных вершин, число паросочетания и число рёберного покрытия в сумме дают число вершин. Если существует совершенное паросочетание, то оба числа равны
.Теорема о максимальном паросочетании и дополняющих цепях
Теорема: |
Паросочетание в двудольном графе является максимальным тогда и только тогда, когда в нет дополняющей цепи. |
Доказательство: |
Пусть в двудольном графе с максимальным паросочетанием существует дополняющая цепь. Тогда пройдя по ней и заменив вдоль нее все ребра, входящие в паросочетание, на невходящие и наоборот, мы получим большее паросочетание. То есть не являлось максимальным. Противоречие.Рассмотрим паросочетание в графе и предположим, что — не наибольшее. Докажем, что тогда имеется увеличивающая цепь относительно . Пусть — другое паросочетание и . Рассмотрим подграф графа , образованный теми ребрами, которые входят в одно и только в одно из паросочетаний , . Иначе говоря, множеством ребер графа является симметрическая разность . В графе каждая вершина инцидентна не более чем двум ребрам (одному из и одному из ), т.е. имеет степень не более двух. В таком графе каждая компонента связности — путь или цикл. В каждом из этих путей и циклов чередуются ребра из и . Так как , имеется компонента, в которой ребер из содержится больше, чем ребер из . Это может быть только путь, у которого оба концевых ребра принадлежат . Заметим, что относительно этот путь является увеличивающей (дополняющей) цепью. |
Источники
- Wikipedia — Matching
- Википедия — Паросочетание
- Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы. стр. 227-232 ISBN 978-5-8114-1068-2