<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.118.78.112&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.118.78.112&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/217.118.78.112"/>
		<updated>2026-08-24T23:07:09Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A6%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%B4%D0%BB%D1%8F_WCP&amp;diff=64407</id>
		<title>Централизованный алгоритм для WCP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A6%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%B4%D0%BB%D1%8F_WCP&amp;diff=64407"/>
				<updated>2018-03-16T10:18:27Z</updated>
		
		<summary type="html">&lt;p&gt;217.118.78.112: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Параллельное программирование]]&lt;br /&gt;
'''Централизованный алгоритм для WCP''' – алгоритм для поиска наименьшего (проще говоря, самого левого) [[Срез, согласованный срез|согласованного среза]] в котором выполняется слабый конъюнктивный предикат.&lt;br /&gt;
&lt;br /&gt;
В централизованном алгоритме используются векторные часы. В таком случае, срезом будет задается векторами.&lt;br /&gt;
&lt;br /&gt;
Суть алгоритма:&lt;br /&gt;
* Есть один процесс-координатор, который ответственный за поиск согласованного среза;&lt;br /&gt;
* Остальные процессы обычные, их задача проверять свои локальные предикаты;&lt;br /&gt;
* Всякий раз, когда впервые с момента последнего отправленного сообщения локальный предикат становится true, оповещаем об этом координатора, указывая свое векторное время;&lt;br /&gt;
* Координатор поддерживает в памяти срез-кандидат и очередь необработанных сообщений от каждого процесса;&lt;br /&gt;
* Срез-кандидат согласован тогда и только тогда, когда все соответствующие вектора попарно несравнимы;&lt;br /&gt;
* Координатор хранит вектора среза-кандидата и флажок для каждой его компоненты: красный – этот элемент не может быть частью согласованного среза, зеленый – может;&lt;br /&gt;
* Начальное состояние – все по нулям, красные;&lt;br /&gt;
* Обрабатываем приходящие сообщения только от красных процессов, сообщения от зеленых ставим в очередь:&lt;br /&gt;
** Сравниваем пришедший вектор попарно с другими процессами, если новый вектор больше, то делаем меньший процесс красным;&lt;br /&gt;
** После обработки сообщения делаем процесс зеленым.&lt;br /&gt;
* Если все зеленое, то мы нашли согласованный срез.&lt;/div&gt;</summary>
		<author><name>217.118.78.112</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0&amp;diff=28330</id>
		<title>Теорема Холла</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0&amp;diff=28330"/>
				<updated>2012-12-22T21:35:03Z</updated>
		
		<summary type="html">&lt;p&gt;217.118.78.112: /* Теорема */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Определения==&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G(V,E)&amp;lt;/tex&amp;gt; - двудольный граф. &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; - множество вершин первой доли. &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; - множество вершин правой доли.&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def1. &lt;br /&gt;
|nеat=1&lt;br /&gt;
|definition='''Полным(совершенным)''' паросочетанием называется паросочетание, в которое входят все вершины.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def2.&lt;br /&gt;
|nеat=1&lt;br /&gt;
|definition=Пусть &amp;lt;tex&amp;gt;X \subset V &amp;lt;/tex&amp;gt;. '''Множeство соседей''' &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; определим формулой:  &amp;lt;tex&amp;gt;N(X)= \{  y \in V: (x,y) \in E \}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th1. &lt;br /&gt;
|author=Холл&lt;br /&gt;
|statement=Полное паросочетание существует тогда и только тогда, когда для любого &amp;lt;tex&amp;gt;A \subset  L &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;|A| \leq |N(A)|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
* Очевидно, что если существует полное паросочетание, то для любого &amp;lt;tex&amp;gt;A \subset  L &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;|A| \leq |N(A)|&amp;lt;/tex&amp;gt;. У любого подмножества вершин есть по крайней мере столько же &amp;quot;соседей&amp;quot;(&amp;quot;соседи по парасочетанию&amp;quot;).&lt;br /&gt;
Пусть граф &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; изначально имеет левую долю &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;, которая содержит одну любую вершину из &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, и правую &amp;lt;tex&amp;gt;R' = R&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*В обратную сторону докажем по индукции(будем добавлять какую-нибудь вершину &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; и доказывать, что в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; есть паросочетание, насыщающее все вершины из &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;). Таким образом, в конце получим что &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Из этого будет следовать существование в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; полного паросочетания.&lt;br /&gt;
#База: Одна вершина соединена хотя бы с одной вершиной из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt;. Следовательно база верна.&lt;br /&gt;
#Переход: Пусть после &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; добавлений в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; можно построить паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, насыщающее все вершины из &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;. Докажем что после добавления вершины &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; будет существовать паросочетание, насыщающее все вершины &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;.Добавим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;. Рассмотрим множество вершин &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; — все вершины, достижимые из &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если можно ходить  из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt; только по ребрам из &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, а из &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt; по любым ребрам из &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;. Тогда в &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; найдется вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt;, не принадлежащая &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, иначе, если рассмотреть вершины &amp;lt;tex&amp;gt;H_L&amp;lt;/tex&amp;gt;(вершины из &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; принадлежащие &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;), то для них не будет выполнено условие: &amp;lt;tex&amp;gt;|H_L| &amp;gt; |N(H_L)|&amp;lt;/tex&amp;gt;. Тогда существует путь из &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, который будет удлиняющим для паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;(т.к из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt; мы проходили по ребрам паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;). Увеличив паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; вдоль этого пути, получаем искомое паросочетание. Следовательно предположение индукции верно. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
Иногда теорему называют теоремой о свадьбах.&lt;br /&gt;
&lt;br /&gt;
Также теорема обобщается на граф, имеющий произвольное множество долей.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
*[http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0 Теорема Холла — Википедия]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Задача о паросочетании ]]&lt;/div&gt;</summary>
		<author><name>217.118.78.112</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0&amp;diff=28329</id>
		<title>Теорема Холла</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0&amp;diff=28329"/>
				<updated>2012-12-22T21:33:07Z</updated>
		
		<summary type="html">&lt;p&gt;217.118.78.112: /* Теорема */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Определения==&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G(V,E)&amp;lt;/tex&amp;gt; - двудольный граф. &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; - множество вершин первой доли. &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; - множество вершин правой доли.&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def1. &lt;br /&gt;
|nеat=1&lt;br /&gt;
|definition='''Полным(совершенным)''' паросочетанием называется паросочетание, в которое входят все вершины.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def2.&lt;br /&gt;
|nеat=1&lt;br /&gt;
|definition=Пусть &amp;lt;tex&amp;gt;X \subset V &amp;lt;/tex&amp;gt;. '''Множeство соседей''' &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; определим формулой:  &amp;lt;tex&amp;gt;N(X)= \{  y \in V: (x,y) \in E \}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th1. &lt;br /&gt;
|author=Холл&lt;br /&gt;
|statement=Полное паросочетание существует тогда и только тогда, когда для любого &amp;lt;tex&amp;gt;A \subset  L &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;|A| \leq |N(A)|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
* Очевидно, что если существует полное паросочетание, то для любого &amp;lt;tex&amp;gt;A \subset  L &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;|A| \leq |N(A)|&amp;lt;/tex&amp;gt;. У любого подмножества вершин есть по крайней мере столько же &amp;quot;соседей&amp;quot;(&amp;quot;соседи по парасочетанию&amp;quot;).&lt;br /&gt;
Пусть граф &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; изначально имеет левую долю &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;, которая содержит одну любую вершину из &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, и правую &amp;lt;tex&amp;gt;R' = R&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*В обратную сторону докажем по индукции(будем добавлять какую-нибудь вершину &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; и доказывать, что в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; есть паросочетание, насыщающее все вершины из &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;). Таким образом, в конце получим что &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Из этого будет следовать существование в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; полного паросочетания.&lt;br /&gt;
#База: Одна вершина соединена хотя бы с одной вершиной из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt;. Следовательно база верна.&lt;br /&gt;
#Переход: Пусть после &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; добавлений в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; можно построить паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, насыщающее все вершины из &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;. Докажем что после добавления вершины &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; будет существовать паросочетание, насыщающее все вершины &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;.Добавим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;. Рассмотрим множество вершин &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; — все вершины, достижимые из &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если можно ходить  из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt; только по ребрам из &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, а из &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt; по любым ребрам из &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;. Тогда в &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; найдется вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt;, не принадлежащая &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, иначе, если рассмотреть вершины &amp;lt;tex&amp;gt;H_L&amp;lt;/tex&amp;gt;(вершины из &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; принадлежащие &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;), то для них не будет выполнено условие: &amp;lt;tex&amp;gt;|H_L| &amp;gt; |N(H_L)|&amp;lt;/tex&amp;gt;. Тогда существует путь из &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, который будет удлиняющим для паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;(т.к из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt; мы проходили по ребрам паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;). Увеличив паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; вдоль этого пути получаем искомое паросочетание. Следовательно предположение индукции верно. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
Иногда теорему называют теоремой о свадьбах.&lt;br /&gt;
&lt;br /&gt;
Также теорема обобщается на граф, имеющий произвольное множество долей.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
*[http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0 Теорема Холла — Википедия]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Задача о паросочетании ]]&lt;/div&gt;</summary>
		<author><name>217.118.78.112</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0&amp;diff=28328</id>
		<title>Теорема Холла</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0&amp;diff=28328"/>
				<updated>2012-12-22T21:24:58Z</updated>
		
		<summary type="html">&lt;p&gt;217.118.78.112: /* Теорема */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Определения==&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G(V,E)&amp;lt;/tex&amp;gt; - двудольный граф. &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; - множество вершин первой доли. &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; - множество вершин правой доли.&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def1. &lt;br /&gt;
|nеat=1&lt;br /&gt;
|definition='''Полным(совершенным)''' паросочетанием называется паросочетание, в которое входят все вершины.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=def2.&lt;br /&gt;
|nеat=1&lt;br /&gt;
|definition=Пусть &amp;lt;tex&amp;gt;X \subset V &amp;lt;/tex&amp;gt;. '''Множeство соседей''' &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; определим формулой:  &amp;lt;tex&amp;gt;N(X)= \{  y \in V: (x,y) \in E \}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|id=th1. &lt;br /&gt;
|author=Холл&lt;br /&gt;
|statement=Полное паросочетание существует тогда и только тогда, когда для любого &amp;lt;tex&amp;gt;A \subset  L &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;|A| \leq |N(A)|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
* Очевидно, что если существует полное паросочетание, то для любого &amp;lt;tex&amp;gt;A \subset  L &amp;lt;/tex&amp;gt; выполнено &amp;lt;tex&amp;gt;|A| \leq |N(A)|&amp;lt;/tex&amp;gt;. У любого подмножества вершин есть по крайней мере столько же &amp;quot;соседей&amp;quot;(&amp;quot;соседи по парасочетанию&amp;quot;).&lt;br /&gt;
Пусть граф &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; изначально имеет левую долю &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;, которая содержит одну любую вершину из &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, и правую &amp;lt;tex&amp;gt;R' = R&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*В обратную сторону докажем по индукции(будем добавлять какую-нибудь вершину &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; и доказывать, что в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; есть паросочетание, насыщающее все вершины из &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;). Таким образом, в конце получим что &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt;. Из этого будет следовать существование в &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; полного паросочетания.&lt;br /&gt;
#База: Одна вершина соединена хотя бы с одной вершиной из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt;. Следовательно база верна.&lt;br /&gt;
#Переход: Пусть после &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; добавлений в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; можно построить паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, насыщающее все вершины из &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;. Докажем что после добавления вершины &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt; будет существовать паросочетание, насыщающее все вершины &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;.Добавим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;. Рассмотрим множество вершин &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; — все вершины, достижимые из &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если можно ходить  из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt; только по ребрам из &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, а из &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt; по любым ребрам из &amp;lt;tex&amp;gt;G'&amp;lt;/tex&amp;gt;. Тогда в &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; найдется вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt;, не принадлежащая &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, иначе, если рассмотреть вершины &amp;lt;tex&amp;gt;H_L&amp;lt;/tex&amp;gt;(вершины из &amp;lt;tex&amp;gt;H&amp;lt;/tex&amp;gt; принадлежащие &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt;), то для них не будет выполнено условие: &amp;lt;tex&amp;gt;|H_L| &amp;gt; |N(H_L)|&amp;lt;/tex&amp;gt;. Тогда существует путь из &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, который будет удлиняющим для паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;(т.к из &amp;lt;tex&amp;gt;R'&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;L'&amp;lt;/tex&amp;gt; мы проходили по ребрам паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;). Увеличив паросочетание P вдоль этого пути получаем искомое паросочетание. Следовательно предположение индукции верно. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
Иногда теорему называют теоремой о свадьбах.&lt;br /&gt;
&lt;br /&gt;
Также теорема обобщается на граф, имеющий произвольное множество долей.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
*[http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0 Теорема Холла — Википедия]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Задача о паросочетании ]]&lt;/div&gt;</summary>
		<author><name>217.118.78.112</name></author>	</entry>

	</feed>