<?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=Maryann</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=Maryann"/>
		<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/Maryann"/>
		<updated>2026-05-19T14:44:00Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42028</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42028"/>
				<updated>2014-12-10T18:58:35Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Лево- и правосторонний вывод слова */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Лево- и правосторонний вывод слова==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику, выводящую все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонним выводом слова''' (англ. ''leftmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется такой вывод слова &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, в котором каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. ''rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется такой вывод слова &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, в котором каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора (англ. ''leaves of the parse tree'') {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&lt;br /&gt;
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний(правосторонний) вывод. Поскольку каждое слово из языка выводится только одним деревом разбора, то существует только один левосторонний(правосторонний) вывод этого слова.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Parsetree2.png|300px]]&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Существуют языки, которые можно задать одновременно как однозначными, так и неоднозначными грамматиками.&lt;br /&gt;
|proof =&lt;br /&gt;
Для доказательства достаточно привести однозначную грамматику для языка правильных скобочных последовательностей (неоднозначной грамматикой для данного языка является грамматика из примера выше).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Покажем, что эта грамматика однозначна.&lt;br /&gt;
&lt;br /&gt;
Для этого, используя индукцию, докажем, что для любого слова &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;, являющегося правильной скобочной последовательностью, в данной грамматике существует только одно дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''База:''' Если &amp;lt;tex&amp;gt;\omega=\varepsilon&amp;lt;/tex&amp;gt;, то оно выводится только по второму правилу &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; для него существует единственное дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''Переход:''' Пусть &amp;lt;tex&amp;gt;\left\vert \omega \right\vert=n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\forall \upsilon&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\left\vert \upsilon \right\vert &amp;lt; n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\upsilon&amp;lt;/tex&amp;gt; {{---}} правильная скобочная последовательность &amp;lt;tex&amp;gt;\exists!&amp;lt;/tex&amp;gt; дерево разбора. &lt;br /&gt;
&lt;br /&gt;
Найдем в слове &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; минимальный индекс &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; такой, что слово &amp;lt;tex&amp;gt;\omega[0..i]&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью. Так как &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; минимальный, то &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt;. Из того, что &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и  &amp;lt;tex&amp;gt;\beta=\omega[i+1..n-1]&amp;lt;/tex&amp;gt; {{---}} правильные скобочные последовательности, при этом &amp;lt;tex&amp;gt;\left\vert \alpha \right\vert&amp;lt;n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\left\vert \beta \right\vert&amp;lt;n \Rightarrow&amp;lt;/tex&amp;gt; по индукционному предположению предположению у &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; существуют единственные деревья разбора.&lt;br /&gt;
&lt;br /&gt;
Если мы покажем, что из части &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; первого правила можно вывести только слово &amp;lt;tex&amp;gt;(\alpha)&amp;lt;/tex&amp;gt;, то утверждение будет доказано (так как из первой части первого правила выводится &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, а из второй только &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; и для каждого из них по предположению существуют единственные деревья разбора).&lt;br /&gt;
&lt;br /&gt;
Пусть из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]=(\gamma)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;lt; i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt;\gamma&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью, но тогда как минимальный индекс мы должны были выбрать &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;, а не &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} противоречие. &lt;br /&gt;
&lt;br /&gt;
Аналогично из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; не может быть выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;gt; i&amp;lt;/tex&amp;gt;, потому что тогда &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt; не будет правильной скобочной последовательностью, так как в позиции &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; баланс скобок будет отрицательный.&lt;br /&gt;
&lt;br /&gt;
Значит, из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..i] \Rightarrow \omega&amp;lt;/tex&amp;gt; имеет единственное дерево разбора &amp;lt;tex&amp;gt;\Rightarrow&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;
* [[Иерархия Хомского формальных грамматик]]&lt;br /&gt;
* [[Замкнутость КС-языков относительно различных операций]]&lt;br /&gt;
* [[Существенно неоднозначные языки]]&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42027</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42027"/>
				<updated>2014-12-10T18:51:58Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Лево- и правосторонний вывод слова */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Лево- и правосторонний вывод слова==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику, выводящую все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонним выводом слова''' (англ. ''leftmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется такой вывод &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, в котором каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. ''rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется такой вывод &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, в котором каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора (англ. ''leaves of the parse tree'') {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&lt;br /&gt;
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний(правосторонний) вывод. Поскольку каждое слово из языка выводится только одним деревом разбора, то существует только один левосторонний(правосторонний) вывод этого слова.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Parsetree2.png|300px]]&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Существуют языки, которые можно задать одновременно как однозначными, так и неоднозначными грамматиками.&lt;br /&gt;
|proof =&lt;br /&gt;
Для доказательства достаточно привести однозначную грамматику для языка правильных скобочных последовательностей (неоднозначной грамматикой для данного языка является грамматика из примера выше).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Покажем, что эта грамматика однозначна.&lt;br /&gt;
&lt;br /&gt;
Для этого, используя индукцию, докажем, что для любого слова &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;, являющегося правильной скобочной последовательностью, в данной грамматике существует только одно дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''База:''' Если &amp;lt;tex&amp;gt;\omega=\varepsilon&amp;lt;/tex&amp;gt;, то оно выводится только по второму правилу &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; для него существует единственное дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''Переход:''' Пусть &amp;lt;tex&amp;gt;\left\vert \omega \right\vert=n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\forall \upsilon&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\left\vert \upsilon \right\vert &amp;lt; n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\upsilon&amp;lt;/tex&amp;gt; {{---}} правильная скобочная последовательность &amp;lt;tex&amp;gt;\exists!&amp;lt;/tex&amp;gt; дерево разбора. &lt;br /&gt;
&lt;br /&gt;
Найдем в слове &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; минимальный индекс &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; такой, что слово &amp;lt;tex&amp;gt;\omega[0..i]&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью. Так как &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; минимальный, то &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt;. Из того, что &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и  &amp;lt;tex&amp;gt;\beta=\omega[i+1..n-1]&amp;lt;/tex&amp;gt; {{---}} правильные скобочные последовательности, при этом &amp;lt;tex&amp;gt;\left\vert \alpha \right\vert&amp;lt;n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\left\vert \beta \right\vert&amp;lt;n \Rightarrow&amp;lt;/tex&amp;gt; по индукционному предположению предположению у &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; существуют единственные деревья разбора.&lt;br /&gt;
&lt;br /&gt;
Если мы покажем, что из части &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; первого правила можно вывести только слово &amp;lt;tex&amp;gt;(\alpha)&amp;lt;/tex&amp;gt;, то утверждение будет доказано (так как из первой части первого правила выводится &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, а из второй только &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; и для каждого из них по предположению существуют единственные деревья разбора).&lt;br /&gt;
&lt;br /&gt;
Пусть из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]=(\gamma)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;lt; i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt;\gamma&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью, но тогда как минимальный индекс мы должны были выбрать &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;, а не &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} противоречие. &lt;br /&gt;
&lt;br /&gt;
Аналогично из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; не может быть выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;gt; i&amp;lt;/tex&amp;gt;, потому что тогда &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt; не будет правильной скобочной последовательностью, так как в позиции &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; баланс скобок будет отрицательный.&lt;br /&gt;
&lt;br /&gt;
Значит, из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..i] \Rightarrow \omega&amp;lt;/tex&amp;gt; имеет единственное дерево разбора &amp;lt;tex&amp;gt;\Rightarrow&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;
* [[Иерархия Хомского формальных грамматик]]&lt;br /&gt;
* [[Замкнутость КС-языков относительно различных операций]]&lt;br /&gt;
* [[Существенно неоднозначные языки]]&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42026</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42026"/>
				<updated>2014-12-10T18:40:23Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Дерево разбора */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Лево- и правосторонний вывод слова==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику, выводящую все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора (англ. ''leaves of the parse tree'') {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&lt;br /&gt;
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний(правосторонний) вывод. Поскольку каждое слово из языка выводится только одним деревом разбора, то существует только один левосторонний(правосторонний) вывод этого слова.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Parsetree2.png|300px]]&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Существуют языки, которые можно задать одновременно как однозначными, так и неоднозначными грамматиками.&lt;br /&gt;
|proof =&lt;br /&gt;
Для доказательства достаточно привести однозначную грамматику для языка правильных скобочных последовательностей (неоднозначной грамматикой для данного языка является грамматика из примера выше).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Покажем, что эта грамматика однозначна.&lt;br /&gt;
&lt;br /&gt;
Для этого, используя индукцию, докажем, что для любого слова &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;, являющегося правильной скобочной последовательностью, в данной грамматике существует только одно дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''База:''' Если &amp;lt;tex&amp;gt;\omega=\varepsilon&amp;lt;/tex&amp;gt;, то оно выводится только по второму правилу &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; для него существует единственное дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''Переход:''' Пусть &amp;lt;tex&amp;gt;\left\vert \omega \right\vert=n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\forall \upsilon&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\left\vert \upsilon \right\vert &amp;lt; n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\upsilon&amp;lt;/tex&amp;gt; {{---}} правильная скобочная последовательность &amp;lt;tex&amp;gt;\exists!&amp;lt;/tex&amp;gt; дерево разбора. &lt;br /&gt;
&lt;br /&gt;
Найдем в слове &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; минимальный индекс &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; такой, что слово &amp;lt;tex&amp;gt;\omega[0..i]&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью. Так как &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; минимальный, то &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt;. Из того, что &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и  &amp;lt;tex&amp;gt;\beta=\omega[i+1..n-1]&amp;lt;/tex&amp;gt; {{---}} правильные скобочные последовательности, при этом &amp;lt;tex&amp;gt;\left\vert \alpha \right\vert&amp;lt;n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\left\vert \beta \right\vert&amp;lt;n \Rightarrow&amp;lt;/tex&amp;gt; по индукционному предположению предположению у &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; существуют единственные деревья разбора.&lt;br /&gt;
&lt;br /&gt;
Если мы покажем, что из части &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; первого правила можно вывести только слово &amp;lt;tex&amp;gt;(\alpha)&amp;lt;/tex&amp;gt;, то утверждение будет доказано (так как из первой части первого правила выводится &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, а из второй только &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; и для каждого из них по предположению существуют единственные деревья разбора).&lt;br /&gt;
&lt;br /&gt;
Пусть из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]=(\gamma)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;lt; i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt;\gamma&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью, но тогда как минимальный индекс мы должны были выбрать &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;, а не &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} противоречие. &lt;br /&gt;
&lt;br /&gt;
Аналогично из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; не может быть выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;gt; i&amp;lt;/tex&amp;gt;, потому что тогда &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt; не будет правильной скобочной последовательностью, так как в позиции &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; баланс скобок будет отрицательный.&lt;br /&gt;
&lt;br /&gt;
Значит, из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..i] \Rightarrow \omega&amp;lt;/tex&amp;gt; имеет единственное дерево разбора &amp;lt;tex&amp;gt;\Rightarrow&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;
* [[Иерархия Хомского формальных грамматик]]&lt;br /&gt;
* [[Замкнутость КС-языков относительно различных операций]]&lt;br /&gt;
* [[Существенно неоднозначные языки]]&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42025</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42025"/>
				<updated>2014-12-10T18:38:42Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Литература */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Лево- и правосторонний вывод слова==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику, выводящую все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&lt;br /&gt;
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний(правосторонний) вывод. Поскольку каждое слово из языка выводится только одним деревом разбора, то существует только один левосторонний(правосторонний) вывод этого слова.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Parsetree2.png|300px]]&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Существуют языки, которые можно задать одновременно как однозначными, так и неоднозначными грамматиками.&lt;br /&gt;
|proof =&lt;br /&gt;
Для доказательства достаточно привести однозначную грамматику для языка правильных скобочных последовательностей (неоднозначной грамматикой для данного языка является грамматика из примера выше).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Покажем, что эта грамматика однозначна.&lt;br /&gt;
&lt;br /&gt;
Для этого, используя индукцию, докажем, что для любого слова &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;, являющегося правильной скобочной последовательностью, в данной грамматике существует только одно дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''База:''' Если &amp;lt;tex&amp;gt;\omega=\varepsilon&amp;lt;/tex&amp;gt;, то оно выводится только по второму правилу &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; для него существует единственное дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''Переход:''' Пусть &amp;lt;tex&amp;gt;\left\vert \omega \right\vert=n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\forall \upsilon&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\left\vert \upsilon \right\vert &amp;lt; n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\upsilon&amp;lt;/tex&amp;gt; {{---}} правильная скобочная последовательность &amp;lt;tex&amp;gt;\exists!&amp;lt;/tex&amp;gt; дерево разбора. &lt;br /&gt;
&lt;br /&gt;
Найдем в слове &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; минимальный индекс &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; такой, что слово &amp;lt;tex&amp;gt;\omega[0..i]&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью. Так как &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; минимальный, то &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt;. Из того, что &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и  &amp;lt;tex&amp;gt;\beta=\omega[i+1..n-1]&amp;lt;/tex&amp;gt; {{---}} правильные скобочные последовательности, при этом &amp;lt;tex&amp;gt;\left\vert \alpha \right\vert&amp;lt;n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\left\vert \beta \right\vert&amp;lt;n \Rightarrow&amp;lt;/tex&amp;gt; по индукционному предположению предположению у &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; существуют единственные деревья разбора.&lt;br /&gt;
&lt;br /&gt;
Если мы покажем, что из части &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; первого правила можно вывести только слово &amp;lt;tex&amp;gt;(\alpha)&amp;lt;/tex&amp;gt;, то утверждение будет доказано (так как из первой части первого правила выводится &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, а из второй только &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; и для каждого из них по предположению существуют единственные деревья разбора).&lt;br /&gt;
&lt;br /&gt;
Пусть из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]=(\gamma)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;lt; i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt;\gamma&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью, но тогда как минимальный индекс мы должны были выбрать &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;, а не &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} противоречие. &lt;br /&gt;
&lt;br /&gt;
Аналогично из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; не может быть выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;gt; i&amp;lt;/tex&amp;gt;, потому что тогда &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt; не будет правильной скобочной последовательностью, так как в позиции &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; баланс скобок будет отрицательный.&lt;br /&gt;
&lt;br /&gt;
Значит, из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..i] \Rightarrow \omega&amp;lt;/tex&amp;gt; имеет единственное дерево разбора &amp;lt;tex&amp;gt;\Rightarrow&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;
* [[Иерархия Хомского формальных грамматик]]&lt;br /&gt;
* [[Замкнутость КС-языков относительно различных операций]]&lt;br /&gt;
* [[Существенно неоднозначные языки]]&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42018</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42018"/>
				<updated>2014-12-09T22:57:21Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Однозначные грамматики */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Лево- и правосторонний вывод слова==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику, выводящую все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&lt;br /&gt;
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний(правосторонний) вывод. Поскольку каждое слово из языка выводится только одним деревом разбора, то существует только один левосторонний(правосторонний) вывод этого слова.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Parsetree2.png|300px]]&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Существуют языки, которые можно задать одновременно как однозначными, так и неоднозначными грамматиками.&lt;br /&gt;
|proof =&lt;br /&gt;
Для доказательства достаточно привести однозначную грамматику для языка правильных скобочных последовательностей (неоднозначной грамматикой для данного языка является грамматика из примера выше).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Покажем, что эта грамматика однозначна.&lt;br /&gt;
&lt;br /&gt;
Для этого, используя индукцию, докажем, что для любого слова &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;, являющегося правильной скобочной последовательностью, в данной грамматике существует только одно дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''База:''' Если &amp;lt;tex&amp;gt;\omega=\varepsilon&amp;lt;/tex&amp;gt;, то оно выводится только по второму правилу &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; для него существует единственное дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''Переход:''' Пусть &amp;lt;tex&amp;gt;\left\vert \omega \right\vert=n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\forall \upsilon&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\left\vert \upsilon \right\vert &amp;lt; n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\upsilon&amp;lt;/tex&amp;gt; {{---}} правильная скобочная последовательность &amp;lt;tex&amp;gt;\exists!&amp;lt;/tex&amp;gt; дерево разбора. &lt;br /&gt;
&lt;br /&gt;
Найдем в слове &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; минимальный индекс &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; такой, что слово &amp;lt;tex&amp;gt;\omega[0..i]&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью. Так как &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; минимальный, то &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt;. Из того, что &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и  &amp;lt;tex&amp;gt;\beta=\omega[i+1..n-1]&amp;lt;/tex&amp;gt; {{---}} правильные скобочные последовательности, при этом &amp;lt;tex&amp;gt;\left\vert \alpha \right\vert&amp;lt;n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\left\vert \beta \right\vert&amp;lt;n \Rightarrow&amp;lt;/tex&amp;gt; по индукционному предположению предположению у &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; существуют единственные деревья разбора.&lt;br /&gt;
&lt;br /&gt;
Если мы покажем, что из части &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; первого правила можно вывести только слово &amp;lt;tex&amp;gt;(\alpha)&amp;lt;/tex&amp;gt;, то утверждение будет доказано (так как из первой части первого правила выводится &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, а из второй только &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; и для каждого из них по предположению существуют единственные деревья разбора).&lt;br /&gt;
&lt;br /&gt;
Пусть из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]=(\gamma)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;lt; i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt;\gamma&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью, но тогда как минимальный индекс мы должны были выбрать &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;, а не &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} противоречие. &lt;br /&gt;
&lt;br /&gt;
Аналогично из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; не может быть выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;gt; i&amp;lt;/tex&amp;gt;, потому что тогда &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt; не будет правильной скобочной последовательностью, так как в позиции &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; баланс скобок будет отрицательный.&lt;br /&gt;
&lt;br /&gt;
Значит, из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..i] \Rightarrow \omega&amp;lt;/tex&amp;gt; имеет единственное дерево разбора &amp;lt;tex&amp;gt;\Rightarrow&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;
* [[Иерархия Хомского формальных грамматик]]&lt;br /&gt;
* [[Замкнутость КС-языков относительно различных операций]]&lt;br /&gt;
* [[Существенно неоднозначные языки]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42017</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42017"/>
				<updated>2014-12-09T22:44:28Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Однозначные грамматики */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Лево- и правосторонний вывод слова==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику, выводящую все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&lt;br /&gt;
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний(правосторонний) вывод. Поскольку каждое слово из языка выводится только одним деревом разбора, то существует только один левосторонний(правосторонний) вывод этого слова.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Parsetree2.png|300px]]&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Существуют языки, которые можно задать одновременно как однозначными, так и неоднозначными грамматиками.&lt;br /&gt;
|proof =&lt;br /&gt;
Для доказательства достаточно привести однозначную грамматику для языка правильных скобочных последовательностей (неоднозначной грамматикой для данного языка является грамматика из примера выше).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Покажем, что эта грамматика однозначна.&lt;br /&gt;
&lt;br /&gt;
Для этого, используя индукцию, докажем, что для любого слова &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;, являющегося правильной скобочной последовательностью, в данной грамматике существует только одно дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''База:''' Если &amp;lt;tex&amp;gt;\omega=\varepsilon&amp;lt;/tex&amp;gt;, то оно выводится только по второму правилу &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; для него существует единственное дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''Переход:''' Пусть &amp;lt;tex&amp;gt;\left\vert \omega \right\vert=n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\forall \upsilon&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\left\vert \upsilon \right\vert &amp;lt; n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\upsilon&amp;lt;/tex&amp;gt; {{---}} правильная скобочная последовательность &amp;lt;tex&amp;gt;\exists!&amp;lt;/tex&amp;gt; дерево разбора. &lt;br /&gt;
&lt;br /&gt;
Найдем в слове &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; минимальный индекс &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; такой, что слово &amp;lt;tex&amp;gt;\omega[0..i]&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью. Так как &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; минимальный, то &amp;lt;tex&amp;gt;\omega[0..i]=(\alpha)&amp;lt;/tex&amp;gt;. Из того, что &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и  &amp;lt;tex&amp;gt;\beta=\omega[i+1..n-1]&amp;lt;/tex&amp;gt; {{---}} правильные скобочные последовательности, при этом &amp;lt;tex&amp;gt;\left\vert \alpha \right\vert&amp;lt;n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\left\vert \beta \right\vert&amp;lt;n \Rightarrow&amp;lt;/tex&amp;gt; по индукционному предположению предположению у &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; существуют единственные деревья разбора.&lt;br /&gt;
&lt;br /&gt;
Если мы покажем, что из части &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; первого правила можно вывести только слово &amp;lt;tex&amp;gt;(\alpha)&amp;lt;/tex&amp;gt;, то утверждение будет доказано (так как из первой части первого правила выводится &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;, а из второй только &amp;lt;tex&amp;gt;\beta&amp;lt;/tex&amp;gt; и каждое из них по предположению выводится однозначно).&lt;br /&gt;
&lt;br /&gt;
Пусть из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]=(\gamma)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;lt; i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt;\gamma&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью, но тогда как минимальный индекс мы должны были выбрать &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;, а не &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; {{---}} противоречие. &lt;br /&gt;
&lt;br /&gt;
Аналогично из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; не может быть выведена часть слова &amp;lt;tex&amp;gt;\omega[0..j]&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;j &amp;gt; i&amp;lt;/tex&amp;gt;, потому что тогда &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; не будет правильной скобочной последовательностью, так как в позиции &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; баланс скобок будет отрицательный.&lt;br /&gt;
&lt;br /&gt;
Значит, из &amp;lt;tex&amp;gt;(S)&amp;lt;/tex&amp;gt; была выведена часть слова &amp;lt;tex&amp;gt;\omega[0..i] \Rightarrow \omega&amp;lt;/tex&amp;gt; имеет единственное дерево разбора &amp;lt;tex&amp;gt;\Rightarrow&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;
* [[Иерархия Хомского формальных грамматик]]&lt;br /&gt;
* [[Замкнутость КС-языков относительно различных операций]]&lt;br /&gt;
* [[Существенно неоднозначные языки]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42016</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=42016"/>
				<updated>2014-12-09T20:39:48Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Лево- и правосторонний вывод слова==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику, выводящую все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&lt;br /&gt;
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний(правосторонний) вывод. Поскольку каждое слово из языка выводится только одним деревом разбора, то существует только один левосторонний(правосторонний) вывод этого слова.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Parsetree2.png|300px]]&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Существуют языки, которые можно задать одновременно как однозначными, так и неоднозначными грамматиками.&lt;br /&gt;
|proof =&lt;br /&gt;
Для доказательства достаточно привести однозначную грамматику для языка правильных скобочных последовательностей (неоднозначной грамматикой для данного языка является грамматика из примера выше).&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Покажем, что эта грамматика однозначна.&lt;br /&gt;
&lt;br /&gt;
Для этого, используя индукцию, докажем, что для любого слова &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;, являющегося правильной скобочной последовательностью, в данной грамматике существует только одно дерево разбора.&lt;br /&gt;
&lt;br /&gt;
'''База:''' Если &amp;lt;tex&amp;gt;\omega=\varepsilon&amp;lt;/tex&amp;gt;, то оно выводится только по второму правилу &amp;lt;tex&amp;gt;\Rrightarrow&amp;lt;/tex&amp;gt; для него существует единственное дерево разбора.&lt;br /&gt;
'''Переход:''' Пусть &amp;lt;tex&amp;gt;\left\vert \omega \right\vert=n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\forall \upsilon&amp;lt;/tex&amp;gt; из языка: &amp;lt;tex&amp;gt;\left\vert \upsilon \right\vert &amp;lt; n&amp;lt;/tex&amp;gt; все выполнено. Тогда найдем в слове &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; минимальный индекс &amp;lt;tex&amp;gt;i \neq 0:&amp;lt;/tex&amp;gt; слово &amp;lt;tex&amp;gt;\omega[0..i]&amp;lt;/tex&amp;gt; является правильной скобочной последовательностью. Так как &amp;lt;tex&amp;gt;i \neq 0&amp;lt;/tex&amp;gt; минимальный, то &amp;lt;tex&amp;gt;\omega[0..i]=(\tau)&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt;\tau&amp;lt;/tex&amp;gt; и  &amp;lt;tex&amp;gt;\omega[i+1..n-1]&amp;lt;/tex&amp;gt; {{---}} правильные скобочные последовательности. По предположению для &amp;lt;tex&amp;gt;\tau:\left\vert \tau \right\vert&amp;lt;n&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\omega[i+1..n-1]:\left\vert \omega[i+1..n-1] \right\vert&amp;lt;n&amp;lt;/tex&amp;gt; существует единственное дерево разбора &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; тоже существует единственное дерево разбора &amp;lt;tex&amp;gt;\Rightarrow&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;
* [[Существенно неоднозначные языки]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41866</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41866"/>
				<updated>2014-12-05T15:50:56Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Лево- и правосторонний вывод слова==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику, выводящую все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&lt;br /&gt;
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний(правосторонний) вывод. Поскольку каждое слово из языка выводится только одним деревом разбора, то существует только один левосторонний(правосторонний) вывод этого слова.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Parsetree2.png|300px]]&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Для одного и того же языка могут одновременно существовать как однозначные, так и неоднозначные грамматики.&lt;br /&gt;
&lt;br /&gt;
Например, у языка правильных скобочных последовательностей существует однозначная грамматика. Данная грамматика будет иметь вид:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика, заданная таким образом, является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Как-то очевидно :(&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&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;
== Литература ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Parsetree2.png&amp;diff=41865</id>
		<title>Файл:Parsetree2.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Parsetree2.png&amp;diff=41865"/>
				<updated>2014-12-05T15:45:49Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: загружена новая версия «Файл:Parsetree2.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Parsetree2.png&amp;diff=41864</id>
		<title>Файл:Parsetree2.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Parsetree2.png&amp;diff=41864"/>
				<updated>2014-12-05T15:45:27Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41096</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41096"/>
				<updated>2014-11-25T15:57:05Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Лево- и правосторонний вывод слова==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику, выводящую все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&lt;br /&gt;
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний(правосторонний) вывод. Поскольку каждое слово из языка выводится только одним деревом разбора, то существует только один левосторонний(правосторонний) вывод этого слова.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Для одного и того же языка могут одновременно существовать как однозначные, так и неоднозначные грамматики.&lt;br /&gt;
&lt;br /&gt;
Например, у языка правильных скобочных последовательностей существует однозначная грамматика.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика, заданная таким образом, является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Как-то очевидно :(&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&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;
== Литература ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41093</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41093"/>
				<updated>2014-11-25T00:43:25Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Лево- и правосторонний вывод слова==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим грамматику, выводящую все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&lt;br /&gt;
Очевидно, что по дереву разбора однозначно восстанавливается левосторонний(правосторонний) вывод. Поскольку каждое слово из языка выводится только одним деревом разбора, то существует только один левосторонний(правосторонний) вывод этого слова.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Для одного и того же языка может существовать как однозначная, так и неоднозначная грамматика.&lt;br /&gt;
&lt;br /&gt;
Например, у языка правильных скобочных последовательностей существует однозначная грамматика.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика, заданная таким образом является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Как-то очевидно :(&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&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;
== Литература ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41092</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41092"/>
				<updated>2014-11-25T00:05:34Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Вывод слова и дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&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;
&amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt; {{---}} терминальные символы; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&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;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&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;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41091</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41091"/>
				<updated>2014-11-24T23:55:15Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Вывод слова и дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&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;
Терминальные символы {{---}} &amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt;; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Однако, есть КС-языки, для которых нет однозначных КС-грамматик. Такие языки и грамматики их пораждающие называют [[Существенно неоднозначные языки|''существенно неоднозначными'']].&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&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;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41090</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41090"/>
				<updated>2014-11-24T23:48:28Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Вывод слова и дерево разбора==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&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;
Терминальные символы {{---}} &amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt;; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
==Однозначные грамматики==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Грамматика из примера не является однозначной.&lt;br /&gt;
|proof =&lt;br /&gt;
Выше уже было построено дерево разбора для слова &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Построим еще одно дерево разбора для данного слова.&lt;br /&gt;
&lt;br /&gt;
Например, оно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
Таким образом, существует слово, у которого есть более одного дерева разбора в данной грамматике &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; эта грамматика не является однозначной.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Однако, есть КС-языки, для которых нет однозначных КС-грамматик. Такие языки и грамматики их пораждающие называют [[Существенно неоднозначные языки|''существенно неоднозначными'']].&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&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;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41088</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41088"/>
				<updated>2014-11-24T23:16:05Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' (англ. ''derivation of a word'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&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;
Терминальные символы {{---}} &amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt;; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонний вывод слова''' (англ. ''leftmost derivation'')&amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова''' (англ. '' rightmost derivation'') &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; {{---}} вывод, где каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Рассмотрим левосторонний вывод скобочной последовательности из примера:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей. Дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу (в левой части которого стоит этот нетерминал) и упорядочены так же, как в правой части этого правила.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня. Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Построим дерево разбора скобочной последовательности из примера.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:ParsingTree.png|350px]]&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод.&lt;br /&gt;
|proof=&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;
== Литература ==&lt;br /&gt;
* [[wikipedia:Context-free grammar | Wikipedia {{---}} Context-free grammar]]&lt;br /&gt;
* [[wikipedia:ru:Контекстно-свободная грамматика | Википедия {{---}} Контекстно-свободная грамматика]]&lt;br /&gt;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:ParsingTree.png&amp;diff=41086</id>
		<title>Файл:ParsingTree.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:ParsingTree.png&amp;diff=41086"/>
				<updated>2014-11-24T22:55:59Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41071</id>
		<title>Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0&amp;diff=41071"/>
				<updated>2014-11-24T12:05:56Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|id=csgrammar&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободной грамматикой''' (англ. ''сontext-free grammar'') называется грамматика, у которой в левых частях всех правил стоят только одиночные нетерминалы.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Контекстно-свободный язык''' (англ. ''context-free language'') {{---}} язык, задаваемый контекстно-свободной грамматикой.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Выводом слова''' &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt; называется последовательность строк, состоящих из терминалов и нетерминалов. Первая строка последовательности состоит из одного стартового нетерминала. Каждая последующая строка получена из предыдущей путем замены любого нетерминала по одному (любому) из правил, а последней строкой в последовательности является слово &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Рассмотрим на примере грамматики, выводящей все правильные скобочные последовательности. &lt;br /&gt;
&lt;br /&gt;
Терминальные символы {{---}} &amp;lt;tex&amp;gt;&amp;quot;(&amp;quot;&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;&amp;quot;)&amp;quot;&amp;lt;/tex&amp;gt;; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; {{---}} стартовый нетерминал; &lt;br /&gt;
&lt;br /&gt;
Правила:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow (S)S&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow S(S)&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;S\rightarrow \varepsilon&amp;lt;/tex&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Выведем слово &amp;lt;tex&amp;gt;&amp;quot;(()(()))()&amp;quot;&amp;lt;/tex&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (S)\boldsymbol{S} \Rightarrow (S)(\boldsymbol{S})S\Rightarrow(S)()\boldsymbol{S}\Rightarrow(\boldsymbol{S})()\Rightarrow(\boldsymbol{S}(S))()\Rightarrow(S(S)(\boldsymbol{S}))()\Rightarrow(S(S)(\boldsymbol{S}(S)))()\Rightarrow (S(\boldsymbol{S})((S)))()\Rightarrow(\boldsymbol{S}()((S)))()\Rightarrow(()((\boldsymbol{S})))()\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Левосторонним выводом слова &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;''' называется такой его вывод, что каждая последующая строка получена из предыдущей путем замены по одному из правил самого левого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правосторонним выводом слова &amp;lt;tex&amp;gt;\alpha&amp;lt;/tex&amp;gt;''' называется такой его вывод, что каждая последующая строка получена из предыдущей путем замены по одному из правил самого правого встречающегося в строке нетерминала.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Рассмотрим левосторонний вывод нашей скобочной последовательности:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\boldsymbol{S}\Rightarrow (\boldsymbol{S})S \Rightarrow ((\boldsymbol{S})S)S\Rightarrow (()\boldsymbol{S})S\Rightarrow(()\boldsymbol{S}(S))S\Rightarrow(()(\boldsymbol{S}))S\Rightarrow(()(\boldsymbol{S}(S)))S\Rightarrow(()((\boldsymbol{S})))S\Rightarrow(()(()))\boldsymbol{S}\Rightarrow(()(()))(\boldsymbol{S})S\Rightarrow(()(()))()\boldsymbol{S}\Rightarrow(()(()))()&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Деревом разбора грамматики''' (англ. ''parse tree'') называется дерево, в вершинах которого записаны терминалы или нетерминалы, а дети вершины, в которой записан нетерминал, соответствуют раскрытию нетерминала по одному любому правилу, в левой части которого стоит этот нетерминал, и упорядочены так же, как в правой части этого правила. Все вершины, помеченные терминалами, являются листьями. Все вершины, помеченные нетерминалами, имеют детей.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Крона''' дерева разбора {{---}} множество терминальных символов, упорядоченное в соответствии с номерами их достижения при обходе дерева в глубину из корня.&lt;br /&gt;
}}&lt;br /&gt;
Крона дерева разбора представляет из себя слово языка, которое выводит это дерево.&amp;lt;br&amp;gt;&lt;br /&gt;
Рассмотрим, как будет выглядеть дерево разбора нашей скобочной последовательности.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Файл:derivation_tree.png]]&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Грамматика называется '''однозначной''' (англ. ''unambiguous grammar''), если у каждого слова имеется не более одного дерева разбора в этой грамматике.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; {{---}} однозначная грамматика. Тогда &amp;lt;tex&amp;gt;\forall \omega \in \mathbb{L}(\Gamma)&amp;lt;/tex&amp;gt; существует ровно один левосторонний (правосторонний) вывод &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&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>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D1%8F%D0%BC%D0%B0%D1%8F_%D1%81%D1%83%D0%BC%D0%BC%D0%B0_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=39058</id>
		<title>Прямая сумма матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D1%8F%D0%BC%D0%B0%D1%8F_%D1%81%D1%83%D0%BC%D0%BC%D0%B0_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=39058"/>
				<updated>2014-06-13T15:36:18Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Прямая сумма матроидов==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M_1 = \langle X_1, I_1 \rangle &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; M_2 = \langle X_2, I_2 \rangle &amp;lt;/tex&amp;gt; — матроиды с непересекающимися носителями (&amp;lt;tex&amp;gt;X_1 \cap X_2 = \varnothing&amp;lt;/tex&amp;gt;) и &amp;lt;tex&amp;gt;X = X_1 \cup X_2, \ I = \mathcal {f} A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2  \mathcal {g}&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt; M_1 \oplus M_2 = \langle X, I\rangle&amp;lt;/tex&amp;gt; называется '''прямой суммой матроидов'''. &lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Прямая сумма матроидов является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Докажем аксиомы независимости для &amp;lt;tex&amp;gt; I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; A_1 = \varnothing \in I_1, \ A_2 = \varnothing \in I_2 \Rightarrow A_1 \cup A_2 = \varnothing \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;B = B_1 \cup B_2, \ B_1 \in I_1, \ B_2 \in I_2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;A = A_1 \cup A_2, \ A_1 \subset B_1, \ A_2 \subset B_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A_1 \subset B_1 \Rightarrow A_1 \in I_1&amp;lt;/tex&amp;gt; (по второй аксиоме для &amp;lt;tex&amp;gt;I_1&amp;lt;/tex&amp;gt;). Аналогично &amp;lt;tex&amp;gt;A_2 \in I_2&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A_1 \cup A_2 \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3. &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;A = A_1 \cup A_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;B = B_1 \cup B_2&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert A_1 \right\vert &amp;lt; \left\vert B_1 \right\vert &amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;\left\vert A_2 \right\vert &amp;lt; \left\vert B_2 \right\vert &amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
В первом случае из третьей аксиомы для &amp;lt;tex&amp;gt; I_1 \Rightarrow \mathcal {9} x \in B_1 \setminus A_1, \ A_1 \cup \mathcal{f} x \mathcal {g} \in I_1 &amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A_1 \cup \mathcal{f} x \mathcal {g} \cup A_2 \in I&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;
|statement = [[Примеры матроидов#def1|Разноцветный матроид]] &amp;lt;tex&amp;gt; M = \langle X, I\rangle&amp;lt;/tex&amp;gt; можно представить в виде прямой суммы [[Примеры матроидов#def2|универсальных матроидов]].&lt;br /&gt;
|proof =&lt;br /&gt;
Занумеруем все цвета элементов в множестве &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X_i = \mathcal{f} x \mid color(x) = i \mathcal {g}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;I_i = \mathcal{f} A \subset X_i \mid \left\vert A \right\vert \leqslant 1 \mathcal {g}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i = 1 \dots n&amp;lt;/tex&amp;gt;, то есть в &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; элементы одного цвета, а независимыми являются множества, состоящие не более чем из &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;-ого элемента. Тогда &amp;lt;tex&amp;gt; M_i = \langle X_i, I_i\rangle&amp;lt;/tex&amp;gt; является универсальным матроидом.&lt;br /&gt;
Таким образом, &amp;lt;tex&amp;gt;M = \bigoplus\limits_{i=1}^{n} M_i = \mathcal{f} X = \bigcup\limits_{i=_1}^n X_i, \ I = \bigcup\limits_{i=_1}^n A_i \mid A_i \in I_i \mathcal {g}&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;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=39057</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=39057"/>
				<updated>2014-06-13T15:34:13Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Разноцветный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id = def1&lt;br /&gt;
|definition = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; {{---}} множество элементов, каждый из которых раскрашен в некоторый цвет. Множество &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, если все элементы множества &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; разного цвета. Тогда &amp;lt;tex&amp;gt; M = \langle X, I\rangle&amp;lt;/tex&amp;gt; называется '''разноцветным матроидом''' (англ. ''multicolored matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Разноцветный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Докажем аксиомы независимости для &amp;lt;tex&amp;gt; I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В пустом множестве нет элементов &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; можем считать, что все элементы различных цветов.&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; все элементы разного цвета, то и в &amp;lt;tex&amp;gt;A \subset B&amp;lt;/tex&amp;gt; это будет выполняться.&lt;br /&gt;
&lt;br /&gt;
3. &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В каждом из множеств &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; все элементы разных цветов. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert&amp;lt;/tex&amp;gt;, значит в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; есть хотя бы один элемент &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; такого цвета, которого нет среди элементов множества &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, таким образом &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|id = def2&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом''' (англ. ''uniform matroid'') называют объект &amp;lt;tex&amp;gt;U_{nk} = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом''' (англ. ''graphic matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; {{---}} векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1, \ \dots, \ v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1, \ \dots, \ v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом''' (англ. ''vector matroid'')&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда множество &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; {{---}} двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом''' (англ. ''transversal matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам {{---}} синему и красному, либо одному {{---}} синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид паросочетаний==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний''' (англ. ''matching matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; {{---}} множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, \ y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \ \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \ \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; {{---}} положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \ \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений''' (англ. ''partition matroid'')&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \ \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, \ k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&amp;lt;/tex&amp;gt;, противоречие. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; '''представим над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если он [[Определение матроида#def5| изоморфен]] некоторому векторному матроиду над этим полем.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид''' (англ. ''binary matroid'') {{---}} матроид, представимый над полем целых чисел по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является бинарным.&lt;br /&gt;
|proof = &lt;br /&gt;
&lt;br /&gt;
Составим матрицу инцидентности &amp;lt;tex&amp;gt;A = (a_{ij})&amp;lt;/tex&amp;gt; для графа &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt;. Строки этой матрицы соответствуют вершинам графа, а столбцы {{---}} ребрам. &lt;br /&gt;
* Если &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ое ребро есть петля, инцидентная &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершине, то &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ая вершина инцидентна &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ому ребру, то  &amp;lt;tex&amp;gt;a_{ij} = 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
* Иначе  &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Необходимо доказать, что если мы возьмем множество ребер &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержат цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл.&lt;br /&gt;
&lt;br /&gt;
Если некоторые столбцы матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:&lt;br /&gt;
&lt;br /&gt;
1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.&lt;br /&gt;
&lt;br /&gt;
2) У нас есть столбец &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, который является суммой остальных столбцов.  Этому столбцу соответствует ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;. Начнем с вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; переходить по другим ребрам из &amp;lt;tex&amp;gt;R \setminus uv&amp;lt;/tex&amp;gt; (по каждому ребру проходим только один раз), в итоге мы придем в вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; была бы единица (а единицы у нас только на позициях &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;). Таким образом мы показали, что существует два пути между вершинами &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (тот который мы построили и путь по ребру &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;), значит в выбранном множестве ребер есть цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов.&lt;br /&gt;
&lt;br /&gt;
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.&lt;br /&gt;
Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Другие матроиды==&lt;br /&gt;
Несложно доказать, что следующие конструкции тоже являются матроидами.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид с выкинутым элементом'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \ \{A | A \in I, \ x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид, стянутый по элементу'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \ \{A \setminus x | A \in I, \ x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \ \{A | A \in I, \ |A| \leqslant k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. {{---}} Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. {{---}} Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=39056</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=39056"/>
				<updated>2014-06-13T15:33:19Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Бинарный матроид */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Разноцветный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; {{---}} множество элементов, каждый из которых раскрашен в некоторый цвет. Множество &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, если все элементы множества &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; разного цвета. Тогда &amp;lt;tex&amp;gt; M = \langle X, I\rangle&amp;lt;/tex&amp;gt; называется '''разноцветным матроидом''' (англ. ''multicolored matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Разноцветный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Докажем аксиомы независимости для &amp;lt;tex&amp;gt; I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В пустом множестве нет элементов &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; можем считать, что все элементы различных цветов.&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; все элементы разного цвета, то и в &amp;lt;tex&amp;gt;A \subset B&amp;lt;/tex&amp;gt; это будет выполняться.&lt;br /&gt;
&lt;br /&gt;
3. &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В каждом из множеств &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; все элементы разных цветов. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert&amp;lt;/tex&amp;gt;, значит в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; есть хотя бы один элемент &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; такого цвета, которого нет среди элементов множества &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, таким образом &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом''' (англ. ''uniform matroid'') называют объект &amp;lt;tex&amp;gt;U_{nk} = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом''' (англ. ''graphic matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; {{---}} векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1, \ \dots, \ v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1, \ \dots, \ v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом''' (англ. ''vector matroid'')&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда множество &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; {{---}} двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом''' (англ. ''transversal matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам {{---}} синему и красному, либо одному {{---}} синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид паросочетаний==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний''' (англ. ''matching matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; {{---}} множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, \ y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \ \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \ \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; {{---}} положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \ \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений''' (англ. ''partition matroid'')&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \ \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, \ k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&amp;lt;/tex&amp;gt;, противоречие. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; '''представим над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если он [[Определение матроида#def5| изоморфен]] некоторому векторному матроиду над этим полем.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид''' (англ. ''binary matroid'') {{---}} матроид, представимый над полем целых чисел по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является бинарным.&lt;br /&gt;
|proof = &lt;br /&gt;
&lt;br /&gt;
Составим матрицу инцидентности &amp;lt;tex&amp;gt;A = (a_{ij})&amp;lt;/tex&amp;gt; для графа &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt;. Строки этой матрицы соответствуют вершинам графа, а столбцы {{---}} ребрам. &lt;br /&gt;
* Если &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ое ребро есть петля, инцидентная &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершине, то &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ая вершина инцидентна &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ому ребру, то  &amp;lt;tex&amp;gt;a_{ij} = 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
* Иначе  &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Необходимо доказать, что если мы возьмем множество ребер &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержат цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл.&lt;br /&gt;
&lt;br /&gt;
Если некоторые столбцы матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:&lt;br /&gt;
&lt;br /&gt;
1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.&lt;br /&gt;
&lt;br /&gt;
2) У нас есть столбец &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, который является суммой остальных столбцов.  Этому столбцу соответствует ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;. Начнем с вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; переходить по другим ребрам из &amp;lt;tex&amp;gt;R \setminus uv&amp;lt;/tex&amp;gt; (по каждому ребру проходим только один раз), в итоге мы придем в вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; была бы единица (а единицы у нас только на позициях &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;). Таким образом мы показали, что существует два пути между вершинами &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (тот который мы построили и путь по ребру &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;), значит в выбранном множестве ребер есть цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов.&lt;br /&gt;
&lt;br /&gt;
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.&lt;br /&gt;
Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Другие матроиды==&lt;br /&gt;
Несложно доказать, что следующие конструкции тоже являются матроидами.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид с выкинутым элементом'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \ \{A | A \in I, \ x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид, стянутый по элементу'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \ \{A \setminus x | A \in I, \ x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \ \{A | A \in I, \ |A| \leqslant k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. {{---}} Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. {{---}} Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%B0&amp;diff=39055</id>
		<title>Определение матроида</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%B0&amp;diff=39055"/>
				<updated>2014-06-13T15:32:37Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Аксиоматическое определение ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид''' (англ. ''matroid'') {{---}} пара &amp;lt;tex&amp;gt;\langle X,I \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; {{---}} конечное множество, называемое '''носителем матроида''' (англ. ''ground'' ''set''), а &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; {{---}} некоторое множество подмножеств &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, называемое семейством '''независимых множеств''' (англ. ''independent'' ''sets''), то есть &amp;lt;tex&amp;gt;I \subset 2^X &amp;lt;/tex&amp;gt;. При этом должны выполняться следующие условия:&lt;br /&gt;
# &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
# если &amp;lt;tex&amp;gt;A \in I &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; B \subset A&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;B \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
# если &amp;lt;tex&amp;gt;A,B \in I&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;|A| &amp;gt; |B|&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt; \exists \, x \in A \setminus B : B \cup \{x\} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''База матроида''' (англ. ''base'') {{---}} максимальное по включению независимое множество .&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Зависимое множество''' (англ. ''dependent'' ''set'')  {{---}} подмножество носителя матроида, не являющееся независимым.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Цикл матроида''' (англ. ''cicruit'') {{---}} минимальное по включению зависимое множество.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id = def5&lt;br /&gt;
|definition=&lt;br /&gt;
Матроиды &amp;lt;tex&amp;gt;M_1 = \langle X_1,I_1 \rangle&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;M_2 = \langle X_2,I_2 \rangle&amp;lt;/tex&amp;gt; называются '''изоморфными''' (англ. ''isomorphic matroids''), если существует биекция (взаммно-однозначное отображение) &amp;lt;tex&amp;gt;\varphi: \ X_1 \rightarrow X_2&amp;lt;/tex&amp;gt;, сохраняющая независимость, то есть множество &amp;lt;tex&amp;gt;A \subset I_1&amp;lt;/tex&amp;gt; является независимым в матроиде &amp;lt;tex&amp;gt;M_1&amp;lt;/tex&amp;gt; тогда и только тогда, когда образ этого множества при заданном отображении &amp;lt;tex&amp;gt;\varphi(A)&amp;lt;/tex&amp;gt; есть независимое множество в матроиде &amp;lt;tex&amp;gt;M_2&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;
*''Асанов М. О., Баранский В. А., Расин В. В.'' - Дискретная математика: Графы, матроиды, алгоритмы. '''ISBN 978-5-8114-1068-2'''&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=39054</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=39054"/>
				<updated>2014-06-13T15:25:39Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Разноцветный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; {{---}} множество элементов, каждый из которых раскрашен в некоторый цвет. Множество &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, если все элементы множества &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; разного цвета. Тогда &amp;lt;tex&amp;gt; M = \langle X, I\rangle&amp;lt;/tex&amp;gt; называется '''разноцветным матроидом''' (англ. ''multicolored matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Разноцветный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Докажем аксиомы независимости для &amp;lt;tex&amp;gt; I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В пустом множестве нет элементов &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; можем считать, что все элементы различных цветов.&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; все элементы разного цвета, то и в &amp;lt;tex&amp;gt;A \subset B&amp;lt;/tex&amp;gt; это будет выполняться.&lt;br /&gt;
&lt;br /&gt;
3. &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В каждом из множеств &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; все элементы разных цветов. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert&amp;lt;/tex&amp;gt;, значит в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; есть хотя бы один элемент &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; такого цвета, которого нет среди элементов множества &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, таким образом &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом''' (англ. ''uniform matroid'') называют объект &amp;lt;tex&amp;gt;U_{nk} = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом''' (англ. ''graphic matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; {{---}} векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1, \ \dots, \ v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1, \ \dots, \ v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом''' (англ. ''vector matroid'')&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда множество &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; {{---}} двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом''' (англ. ''transversal matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам {{---}} синему и красному, либо одному {{---}} синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид паросочетаний==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний''' (англ. ''matching matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; {{---}} множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, \ y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \ \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \ \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; {{---}} положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \ \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений''' (англ. ''partition matroid'')&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \ \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, \ k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&amp;lt;/tex&amp;gt;, противоречие. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; '''представим над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если он [[Определение матроида| изоморфен]] некоторому векторному матроиду над этим полем.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид''' (англ. ''binary matroid'') {{---}} матроид, представимый над полем целых чисел по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является бинарным.&lt;br /&gt;
|proof = &lt;br /&gt;
&lt;br /&gt;
Составим матрицу инцидентности &amp;lt;tex&amp;gt;A = (a_{ij})&amp;lt;/tex&amp;gt; для графа &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt;. Строки этой матрицы соответствуют вершинам графа, а столбцы {{---}} ребрам. &lt;br /&gt;
* Если &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ое ребро есть петля, инцидентная &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершине, то &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ая вершина инцидентна &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ому ребру, то  &amp;lt;tex&amp;gt;a_{ij} = 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
* Иначе  &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Необходимо доказать, что если мы возьмем множество ребер &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержат цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл.&lt;br /&gt;
&lt;br /&gt;
Если некоторые столбцы матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:&lt;br /&gt;
&lt;br /&gt;
1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.&lt;br /&gt;
&lt;br /&gt;
2) У нас есть столбец &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, который является суммой остальных столбцов.  Этому столбцу соответствует ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;. Начнем с вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; переходить по другим ребрам из &amp;lt;tex&amp;gt;R \setminus uv&amp;lt;/tex&amp;gt; (по каждому ребру проходим только один раз), в итоге мы придем в вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; была бы единица (а единицы у нас только на позициях &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;). Таким образом мы показали, что существует два пути между вершинами &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (тот который мы построили и путь по ребру &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;), значит в выбранном множестве ребер есть цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов.&lt;br /&gt;
&lt;br /&gt;
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.&lt;br /&gt;
Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Другие матроиды==&lt;br /&gt;
Несложно доказать, что следующие конструкции тоже являются матроидами.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид с выкинутым элементом'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \ \{A | A \in I, \ x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид, стянутый по элементу'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \ \{A \setminus x | A \in I, \ x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \ \{A | A \in I, \ |A| \leqslant k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. {{---}} Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. {{---}} Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D1%8F%D0%BC%D0%B0%D1%8F_%D1%81%D1%83%D0%BC%D0%BC%D0%B0_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=39000</id>
		<title>Прямая сумма матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D1%8F%D0%BC%D0%B0%D1%8F_%D1%81%D1%83%D0%BC%D0%BC%D0%B0_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=39000"/>
				<updated>2014-06-13T11:49:08Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Прямая сумма матроидов==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M_1 = \langle X_1, I_1 \rangle &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; M_2 = \langle X_2, I_2 \rangle &amp;lt;/tex&amp;gt; — матроиды с непересекающимися носителями (&amp;lt;tex&amp;gt;X_1 \cap X_2 = \varnothing&amp;lt;/tex&amp;gt;) и &amp;lt;tex&amp;gt;X = X_1 \cup X_2, \ I = \mathcal {f} A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2  \mathcal {g}&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt; M_1 \oplus M_2 = \langle X, I\rangle&amp;lt;/tex&amp;gt; называется '''прямой суммой матроидов'''. &lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Прямая сумма матроидов является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Докажем аксиомы независимости для &amp;lt;tex&amp;gt; I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; A_1 = \varnothing \in I_1, \ A_2 = \varnothing \in I_2 \Rightarrow A_1 \cup A_2 = \varnothing \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;B = B_1 \cup B_2, \ B_1 \in I_1, \ B_2 \in I_2&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;A = A_1 \cup A_2, \ A_1 \subset B_1, \ A_2 \subset B_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A_1 \subset B_1 \Rightarrow A_1 \in I_1&amp;lt;/tex&amp;gt; (по второй аксиоме для &amp;lt;tex&amp;gt;I_1&amp;lt;/tex&amp;gt;). Аналогично &amp;lt;tex&amp;gt;A_2 \in I_2&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A_1 \cup A_2 \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3. &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;A = A_1 \cup A_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;B = B_1 \cup B_2&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert A_1 \right\vert &amp;lt; \left\vert B_1 \right\vert &amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;\left\vert A_2 \right\vert &amp;lt; \left\vert B_2 \right\vert &amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
В первом случае из третьей аксиомы для &amp;lt;tex&amp;gt; I_1 \Rightarrow \mathcal {9} x \in B_1 \setminus A_1, \ A_1 \cup \mathcal{f} x \mathcal {g} \in I_1 &amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A_1 \cup \mathcal{f} x \mathcal {g} \cup A_2 \in I&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;
|definition = &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; {{---}} множество элементов, каждый из которых раскрашен в некоторый цвет. Множество &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, если все элементы множества &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; разного цвета. Тогда &amp;lt;tex&amp;gt; M = \langle X, I\rangle&amp;lt;/tex&amp;gt; называется '''разноцветным матроидом''' (англ. ''multicolored matroid'').&lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Разноцветный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Докажем аксиомы независимости для &amp;lt;tex&amp;gt; I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В пустом множестве нет элементов &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; можем считать, что все элементы различных цветов.&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; все элементы разного цвета, то и в &amp;lt;tex&amp;gt;A \subset B&amp;lt;/tex&amp;gt; это будет выполняться.&lt;br /&gt;
&lt;br /&gt;
3. &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В каждом из множеств &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; все элементы разных цветов. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert&amp;lt;/tex&amp;gt;, значит в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; есть хотя бы один элемент &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; такого цвета, которого нет среди элементов множества &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, таким образом &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Разноцветный матроид &amp;lt;tex&amp;gt; M = \langle X, I\rangle&amp;lt;/tex&amp;gt; можно представить в виде прямой суммы универсальных матроидов.&lt;br /&gt;
|proof =&lt;br /&gt;
Занумеруем все цвета элементов в множестве &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; от &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X_i = \mathcal{f} x \mid color(x) = i \mathcal {g}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;I_i = \mathcal{f} A \subset X_i \mid \left\vert A \right\vert \leqslant 1 \mathcal {g}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;i = 1 \dots n&amp;lt;/tex&amp;gt;, то есть в &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; элементы одного цвета, а независимыми являются множества, состоящие из не более 1-ого элемента. Тогда &amp;lt;tex&amp;gt; M_i = \langle X_i, I_i\rangle&amp;lt;/tex&amp;gt; является универсальным матроидом.&lt;br /&gt;
Таким образом, &amp;lt;tex&amp;gt;M = \bigoplus\limits_{i=1}^{n} M_i = \mathcal{f} X = \bigcup\limits_{i=_1}^n X_i, \ I = \bigcup\limits_{i=_1}^n A_i \mid A_i \in I_i \mathcal {g}&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;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9A%D0%B0%D1%81%D0%B0%D0%B8_%D0%B8_%D0%B4%D1%80.&amp;diff=38884</id>
		<title>Алгоритм Касаи и др.</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9A%D0%B0%D1%81%D0%B0%D0%B8_%D0%B8_%D0%B4%D1%80.&amp;diff=38884"/>
				<updated>2014-06-12T18:08:08Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Описание алгоритма и псевдокод */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Алгоритм Касаи''' (Аримуры-Арикавы-Касаи-Ли-Парка) {{---}} алгоритм, позволяющий за линейное время вычислить&lt;br /&gt;
длину наибольших общих префиксов для соседних циклических сдвигов строки, отсортированных в лексикографическом&lt;br /&gt;
порядке (largest common prefix, далее &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==Обозначения==&lt;br /&gt;
Задана строка &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;S_{i}&amp;lt;/tex&amp;gt; {{---}} суффикс строки &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, начинающийся в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ом символе. Пусть задан суффиксный массив &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Для вычисления &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; будем использовать промежуточный массив &amp;lt;tex&amp;gt;Suf^{-1}&amp;lt;/tex&amp;gt;. Массив &amp;lt;tex&amp;gt;Suf^{-1}&amp;lt;/tex&amp;gt; определен как обратный к массиву &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Он может быть получен немедленно, если задан массив &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;Suf[k] = i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;Suf^{-1}[i] = k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;Height[i]&amp;lt;/tex&amp;gt; {{---}} длина наибольшего общего префикса &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; строк в суффиксном массиве (&amp;lt;tex&amp;gt;Suf[i]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;Suf[i-1]&amp;lt;/tex&amp;gt; соответственно).&lt;br /&gt;
&lt;br /&gt;
==Некоторые свойства &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;==&lt;br /&gt;
===Факт №1===&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между двумя суффиксами {{---}} это минимум &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; всех пар соседних суффиксов между ними в суффиксном массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. То есть &amp;lt;tex&amp;gt;LCP(S_{Suf[x]}, S_{Suf[z]}) = \min_{x &amp;lt; y \leqslant z}(LCP(S_{Suf[y - 1]},S_{Suf[y]})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Отсюда следует, что &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; пары соседних суффиксов в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt; больше или равно &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; пары суффиксов, окружающих их.&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;LCP(S_{Suf[y - 1]}, S_{Suf[y]}) \geqslant LCP(S_{Suf[x]},S_{Suf[z]}), x &amp;lt; y \leqslant z&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Факт №2===&lt;br /&gt;
Если значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между парой суффиксов, соседних в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;, больше &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то можно удалить первый символ каждого суффикса и лексикографический порядок суффиксов сохранится.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]} , S_{Suf[x]} ) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;Suf^{-1}[Suf[x - 1] + 1] &amp;lt; Suf^{-1}[Suf[x] + 1]&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
[[Файл:kasai.png|400px|thumb|right|Пояснительная картинка к факту 2 и 3]]&lt;br /&gt;
&lt;br /&gt;
===Факт №3===&lt;br /&gt;
В этом же случае, значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{Suf[x-1]+1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;S_{Suf[x]+1}&amp;lt;/tex&amp;gt; на один меньше значения &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{Suf[x-1]}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;S_{Suf[x]}&amp;lt;/tex&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=Если &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]} , S_{Suf[x]} ) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]+1} , S_{Suf[x]+1}) = LCP(S_{Suf[x-1]} , S_{Suf[x]} ) - 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Вспомогательные утверждения===&lt;br /&gt;
&lt;br /&gt;
Теперь рассмотрим следующую задачу: рассчитать &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между суффиксом &amp;lt;tex&amp;gt;S_{i}&amp;lt;/tex&amp;gt; и его соседним суффиксом в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;, при условии, что значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{i-1}&amp;lt;/tex&amp;gt; и его соседним суффиксом известны. Для удобства записи пусть &amp;lt;tex&amp;gt;p=Suf^{-1}[i - 1]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q = Suf^{-1}[i]&amp;lt;/tex&amp;gt;. Так же пусть &amp;lt;tex&amp;gt;j - 1 = Suf[p-1]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k = Suf[q - 1]&amp;lt;/tex&amp;gt;. Проще говоря, мы хотим посчитать &amp;lt;tex&amp;gt;Height[q]&amp;lt;/tex&amp;gt;, когда задано &amp;lt;tex&amp;gt;Height[p]&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Лемма|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;LCP(S_{j-1}, S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;LCP(S_k,S_i) \geqslant LCP(S_j,S_i)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;LCP(S_{j-1},S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, имеем &amp;lt;tex&amp;gt;Suf^{-1}[j] &amp;lt; Suf^{-1}[i]&amp;lt;/tex&amp;gt; из факта №2. Так как &amp;lt;tex&amp;gt;Suf^{-1}[j] \leqslant Suf^{-1}[k] = Suf^{-1}[i] - 1&amp;lt;/tex&amp;gt;, имеем &amp;lt;tex&amp;gt;LCP(S_{k} , S_{i}) \geqslant LCP(S_{j} , S_{i})&amp;lt;/tex&amp;gt; из факта №1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;Height[p] = LCP(S_{j-1}, S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;Height[q] = LCP(S_{k}, S_{i}) \geqslant Height[p] - 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP(S_{k}, S_{i}) \geqslant LCP(S_{j} , S_{i})&amp;lt;/tex&amp;gt; (из леммы)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP(S_{j} , S_{i}) = LCP(S_{j-1}, S_{i-1}) - 1&amp;lt;/tex&amp;gt; (из факта №3).&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;LCP(S_{k}, S_{i}) \geqslant LCP(S_{j-1}, S_{i-1}) - 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Описание алгоритма и псевдокод==&lt;br /&gt;
Таким образом, начиная проверять &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; для текущего суффикса не с первого символа, а с указанного, можно за линейное время построить &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Покажем, что построение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; таким образом действительно требует &amp;lt;tex&amp;gt;O(N)&amp;lt;/tex&amp;gt; времени. Действительно, на каждой итерации текущее значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; может быть не более&lt;br /&gt;
чем на единицу меньше предыдущего. Таким образом, значения &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; в сумме могут увеличиться не более, чем на &amp;lt;tex&amp;gt;2N&amp;lt;/tex&amp;gt; (с точностью до константы). Следовательно, алгоритм построит &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;O(N)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
 '''int[]''' buildLCP(str : '''string''', suf : '''int[]''') &amp;lt;font color=green&amp;gt; // str {{---}} исходная строка с добавленным специальным символом $ &amp;lt;/font&amp;gt;&lt;br /&gt;
                                            &amp;lt;font color=green&amp;gt; // suf[] {{---}} суффиксный массив строки str &amp;lt;/font&amp;gt; &lt;br /&gt;
    '''int''' len &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; str.length&lt;br /&gt;
    '''int[len]''' lcp&lt;br /&gt;
    '''int[len]''' pos                            &amp;lt;font color=green&amp;gt; // pos[] {{---}} массив, обратный массиву suf &amp;lt;/font&amp;gt;&lt;br /&gt;
    '''for''' i = 0 '''to''' len - 1&lt;br /&gt;
       pos[suf[i]] &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; i&lt;br /&gt;
    '''int''' k &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; 0&lt;br /&gt;
    '''for''' i = 0 '''to''' len - 1&lt;br /&gt;
       '''if''' k &amp;gt; 0&lt;br /&gt;
          k--  &lt;br /&gt;
       '''if''' pos[i] == len - 1&lt;br /&gt;
          lcp[len - 1] &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; -1&lt;br /&gt;
          k &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; 0&lt;br /&gt;
       '''else'''&lt;br /&gt;
          '''int''' j &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; suf[pos[i] + 1]&lt;br /&gt;
          '''while''' max(i + k, j + k) &amp;lt; len '''and''' str[i + k] == str[j + k]&lt;br /&gt;
             k++&lt;br /&gt;
          lcp[pos[i]] &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; k&lt;br /&gt;
    '''return''' lcp&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
* [[wikipedia:ru:Алгоритм_Касаи | Википедия {{---}} Алгоритм Касаи]]&lt;br /&gt;
* [http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.118.8221  T.Kasai, G.Lee, H.Arimura, S.Arikawa, K.Park - Linear-Time Longest-Common-Prefix Computation in Suffix Arrays and Its Application]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Суффиксный массив]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9A%D0%B0%D1%81%D0%B0%D0%B8_%D0%B8_%D0%B4%D1%80.&amp;diff=38808</id>
		<title>Алгоритм Касаи и др.</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9A%D0%B0%D1%81%D0%B0%D0%B8_%D0%B8_%D0%B4%D1%80.&amp;diff=38808"/>
				<updated>2014-06-12T13:34:08Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Описание алгоритма и псевдокод */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Алгоритм Касаи''' (Аримуры-Арикавы-Касаи-Ли-Парка) {{---}} алгоритм, позволяющий за линейное время вычислить&lt;br /&gt;
длину наибольших общих префиксов для соседних циклических сдвигов строки, отсортированных в лексикографическом&lt;br /&gt;
порядке (largest common prefix, далее &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==Обозначения==&lt;br /&gt;
Задана строка &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;S_{i}&amp;lt;/tex&amp;gt; {{---}} суффикс строки &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, начинающийся в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ом символе. Пусть задан суффиксный массив &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Для вычисления &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; будем использовать промежуточный массив &amp;lt;tex&amp;gt;Suf^{-1}&amp;lt;/tex&amp;gt;. Массив &amp;lt;tex&amp;gt;Suf^{-1}&amp;lt;/tex&amp;gt; определен как обратный к массиву &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Он может быть получен немедленно, если задан массив &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;Suf[k] = i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;Suf^{-1}[i] = k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;Height[i]&amp;lt;/tex&amp;gt; {{---}} длина наибольшего общего префикса &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; строк в суффиксном массиве (&amp;lt;tex&amp;gt;Suf[i]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;Suf[i-1]&amp;lt;/tex&amp;gt; соответственно).&lt;br /&gt;
&lt;br /&gt;
==Некоторые свойства &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;==&lt;br /&gt;
===Факт №1===&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между двумя суффиксами {{---}} это минимум &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; всех пар соседних суффиксов между ними в суффиксном массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. То есть &amp;lt;tex&amp;gt;LCP(S_{Suf[x]}, S_{Suf[z]}) = \min_{x &amp;lt; y \leqslant z}(LCP(S_{Suf[y - 1]},S_{Suf[y]})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Отсюда следует, что &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; пары соседних суффиксов в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt; больше или равно &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; пары суффиксов, окружающих их.&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;LCP(S_{Suf[y - 1]}, S_{Suf[y]}) \geqslant LCP(S_{Suf[x]},S_{Suf[z]}), x &amp;lt; y \leqslant z&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Факт №2===&lt;br /&gt;
Если значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между парой суффиксов, соседних в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;, больше &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то можно удалить первый символ каждого суффикса и лексикографический порядок суффиксов сохранится.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]} , S_{Suf[x]} ) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;Suf^{-1}[Suf[x - 1] + 1] &amp;lt; Suf^{-1}[Suf[x] + 1]&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
[[Файл:kasai.png|400px|thumb|right|Пояснительная картинка к факту 2 и 3]]&lt;br /&gt;
&lt;br /&gt;
===Факт №3===&lt;br /&gt;
В этом же случае, значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{Suf[x-1]+1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;S_{Suf[x]+1}&amp;lt;/tex&amp;gt; на один меньше значения &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{Suf[x-1]}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;S_{Suf[x]}&amp;lt;/tex&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=Если &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]} , S_{Suf[x]} ) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]+1} , S_{Suf[x]+1}) = LCP(S_{Suf[x-1]} , S_{Suf[x]} ) - 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Вспомогательные утверждения===&lt;br /&gt;
&lt;br /&gt;
Теперь рассмотрим следующую задачу: рассчитать &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между суффиксом &amp;lt;tex&amp;gt;S_{i}&amp;lt;/tex&amp;gt; и его соседним суффиксом в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;, при условии, что значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{i-1}&amp;lt;/tex&amp;gt; и его соседним суффиксом известны. Для удобства записи пусть &amp;lt;tex&amp;gt;p=Suf^{-1}[i - 1]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q = Suf^{-1}[i]&amp;lt;/tex&amp;gt;. Так же пусть &amp;lt;tex&amp;gt;j - 1 = Suf[p-1]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k = Suf[q - 1]&amp;lt;/tex&amp;gt;. Проще говоря, мы хотим посчитать &amp;lt;tex&amp;gt;Height[q]&amp;lt;/tex&amp;gt;, когда задано &amp;lt;tex&amp;gt;Height[p]&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Лемма|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;LCP(S_{j-1}, S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;LCP(S_k,S_i) \geqslant LCP(S_j,S_i)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;LCP(S_{j-1},S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, имеем &amp;lt;tex&amp;gt;Suf^{-1}[j] &amp;lt; Suf^{-1}[i]&amp;lt;/tex&amp;gt; из факта №2. Так как &amp;lt;tex&amp;gt;Suf^{-1}[j] \leqslant Suf^{-1}[k] = Suf^{-1}[i] - 1&amp;lt;/tex&amp;gt;, имеем &amp;lt;tex&amp;gt;LCP(S_{k} , S_{i}) \geqslant LCP(S_{j} , S_{i})&amp;lt;/tex&amp;gt; из факта №1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;Height[p] = LCP(S_{j-1}, S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;Height[q] = LCP(S_{k}, S_{i}) \geqslant Height[p] - 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP(S_{k}, S_{i}) \geqslant LCP(S_{j} , S_{i})&amp;lt;/tex&amp;gt; (из леммы)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP(S_{j} , S_{i}) = LCP(S_{j-1}, S_{i-1}) - 1&amp;lt;/tex&amp;gt; (из факта №3).&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;LCP(S_{k}, S_{i}) \geqslant LCP(S_{j-1}, S_{i-1}) - 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Описание алгоритма и псевдокод==&lt;br /&gt;
Таким образом, начиная проверять &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; для текущего суффикса не с первого символа, а с указанного, можно за линейное время построить &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Покажем, что построение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; таким образом действительно требует &amp;lt;tex&amp;gt;O(N)&amp;lt;/tex&amp;gt; времени. Действительно, на каждой итерации текущее значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; может быть не более&lt;br /&gt;
чем на единицу меньше предыдущего. Таким образом, значения &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; в сумме могут увеличиться не более, чем на &amp;lt;tex&amp;gt;2N&amp;lt;/tex&amp;gt; (с точностью до константы). Следовательно, алгоритм построит &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;O(N)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
 '''int[]''' build_lcp(str : '''string''', suf : '''int[]''') &amp;lt;font color=green&amp;gt; // str {{---}} исходная строка с добавленным специальным символом $ &amp;lt;/font&amp;gt;&lt;br /&gt;
                                            &amp;lt;font color=green&amp;gt; // suf[] {{---}} суффиксный массив строки str &amp;lt;/font&amp;gt; &lt;br /&gt;
    '''int''' len &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; str.length&lt;br /&gt;
    '''int[len]''' lcp&lt;br /&gt;
    '''int[len]''' pos                            &amp;lt;font color=green&amp;gt; // pos[] {{---}} массив, обратный массиву suf &amp;lt;/font&amp;gt;&lt;br /&gt;
    '''for''' i = 0 '''to''' len - 1&lt;br /&gt;
       pos[suf[i]] &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; i&lt;br /&gt;
    '''int''' k &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; 0&lt;br /&gt;
    '''for''' i = 0 '''to''' len - 1&lt;br /&gt;
       '''if''' k &amp;gt; 0&lt;br /&gt;
          k--  &lt;br /&gt;
       '''if''' pos[i] == len - 1&lt;br /&gt;
          lcp[len - 1] &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; -1&lt;br /&gt;
          k &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; 0&lt;br /&gt;
       '''else'''&lt;br /&gt;
          '''int''' j &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; suf[pos[i] + 1]&lt;br /&gt;
          '''while''' str[i + k] == str[j + k]&lt;br /&gt;
             k++&lt;br /&gt;
          lcp[pos[i]] &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; k;&lt;br /&gt;
    '''return''' lcp&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
* [[wikipedia:ru:Алгоритм_Касаи | Википедия {{---}} Алгоритм Касаи]]&lt;br /&gt;
* [http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.118.8221  T.Kasai, G.Lee, H.Arimura, S.Arikawa, K.Park - Linear-Time Longest-Common-Prefix Computation in Suffix Arrays and Its Application]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Суффиксный массив]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9A%D0%B0%D1%81%D0%B0%D0%B8_%D0%B8_%D0%B4%D1%80.&amp;diff=38804</id>
		<title>Алгоритм Касаи и др.</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9A%D0%B0%D1%81%D0%B0%D0%B8_%D0%B8_%D0%B4%D1%80.&amp;diff=38804"/>
				<updated>2014-06-12T13:30:04Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Описание алгоритма */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Алгоритм Касаи''' (Аримуры-Арикавы-Касаи-Ли-Парка) {{---}} алгоритм, позволяющий за линейное время вычислить&lt;br /&gt;
длину наибольших общих префиксов для соседних циклических сдвигов строки, отсортированных в лексикографическом&lt;br /&gt;
порядке (largest common prefix, далее &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==Обозначения==&lt;br /&gt;
Задана строка &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;S_{i}&amp;lt;/tex&amp;gt; {{---}} суффикс строки &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, начинающийся в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ом символе. Пусть задан суффиксный массив &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Для вычисления &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; будем использовать промежуточный массив &amp;lt;tex&amp;gt;Suf^{-1}&amp;lt;/tex&amp;gt;. Массив &amp;lt;tex&amp;gt;Suf^{-1}&amp;lt;/tex&amp;gt; определен как обратный к массиву &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Он может быть получен немедленно, если задан массив &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;Suf[k] = i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;Suf^{-1}[i] = k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;Height[i]&amp;lt;/tex&amp;gt; {{---}} длина наибольшего общего префикса &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; строк в суффиксном массиве (&amp;lt;tex&amp;gt;Suf[i]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;Suf[i-1]&amp;lt;/tex&amp;gt; соответственно).&lt;br /&gt;
&lt;br /&gt;
==Некоторые свойства &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;==&lt;br /&gt;
===Факт №1===&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между двумя суффиксами {{---}} это минимум &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; всех пар соседних суффиксов между ними в суффиксном массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. То есть &amp;lt;tex&amp;gt;LCP(S_{Suf[x]}, S_{Suf[z]}) = \min_{x &amp;lt; y \leqslant z}(LCP(S_{Suf[y - 1]},S_{Suf[y]})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Отсюда следует, что &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; пары соседних суффиксов в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt; больше или равно &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; пары суффиксов, окружающих их.&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;LCP(S_{Suf[y - 1]}, S_{Suf[y]}) \geqslant LCP(S_{Suf[x]},S_{Suf[z]}), x &amp;lt; y \leqslant z&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Факт №2===&lt;br /&gt;
Если значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между парой суффиксов, соседних в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;, больше &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то можно удалить первый символ каждого суффикса и лексикографический порядок суффиксов сохранится.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]} , S_{Suf[x]} ) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;Suf^{-1}[Suf[x - 1] + 1] &amp;lt; Suf^{-1}[Suf[x] + 1]&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
[[Файл:kasai.png|400px|thumb|right|Пояснительная картинка к факту 2 и 3]]&lt;br /&gt;
&lt;br /&gt;
===Факт №3===&lt;br /&gt;
В этом же случае, значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{Suf[x-1]+1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;S_{Suf[x]+1}&amp;lt;/tex&amp;gt; на один меньше значения &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{Suf[x-1]}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;S_{Suf[x]}&amp;lt;/tex&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=Если &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]} , S_{Suf[x]} ) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]+1} , S_{Suf[x]+1}) = LCP(S_{Suf[x-1]} , S_{Suf[x]} ) - 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Вспомогательные утверждения===&lt;br /&gt;
&lt;br /&gt;
Теперь рассмотрим следующую задачу: рассчитать &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между суффиксом &amp;lt;tex&amp;gt;S_{i}&amp;lt;/tex&amp;gt; и его соседним суффиксом в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;, при условии, что значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{i-1}&amp;lt;/tex&amp;gt; и его соседним суффиксом известны. Для удобства записи пусть &amp;lt;tex&amp;gt;p=Suf^{-1}[i - 1]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q = Suf^{-1}[i]&amp;lt;/tex&amp;gt;. Так же пусть &amp;lt;tex&amp;gt;j - 1 = Suf[p-1]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k = Suf[q - 1]&amp;lt;/tex&amp;gt;. Проще говоря, мы хотим посчитать &amp;lt;tex&amp;gt;Height[q]&amp;lt;/tex&amp;gt;, когда задано &amp;lt;tex&amp;gt;Height[p]&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Лемма|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;LCP(S_{j-1}, S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;LCP(S_k,S_i) \geqslant LCP(S_j,S_i)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;LCP(S_{j-1},S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, имеем &amp;lt;tex&amp;gt;Suf^{-1}[j] &amp;lt; Suf^{-1}[i]&amp;lt;/tex&amp;gt; из факта №2. Так как &amp;lt;tex&amp;gt;Suf^{-1}[j] \leqslant Suf^{-1}[k] = Suf^{-1}[i] - 1&amp;lt;/tex&amp;gt;, имеем &amp;lt;tex&amp;gt;LCP(S_{k} , S_{i}) \geqslant LCP(S_{j} , S_{i})&amp;lt;/tex&amp;gt; из факта №1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;Height[p] = LCP(S_{j-1}, S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;Height[q] = LCP(S_{k}, S_{i}) \geqslant Height[p] - 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP(S_{k}, S_{i}) \geqslant LCP(S_{j} , S_{i})&amp;lt;/tex&amp;gt; (из леммы)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP(S_{j} , S_{i}) = LCP(S_{j-1}, S_{i-1}) - 1&amp;lt;/tex&amp;gt; (из факта №3).&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;LCP(S_{k}, S_{i}) \geqslant LCP(S_{j-1}, S_{i-1}) - 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Описание алгоритма и псевдокод==&lt;br /&gt;
Таким образом, начиная проверять &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; для текущего суффикса не с первого символа, а с указанного, можно за линейное время построить &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Покажем, что построение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; таким образом действительно требует &amp;lt;tex&amp;gt;O(N)&amp;lt;/tex&amp;gt; времени. Действительно, на каждой итерации текущее значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; может быть не более&lt;br /&gt;
чем на единицу меньше предыдущего. Таким образом, значения &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; в сумме могут увеличиться не более, чем на &amp;lt;tex&amp;gt;2N&amp;lt;/tex&amp;gt; (с точностью до константы). Следовательно, алгоритм построит &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;O(N)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
 '''int[]''' build_lcp(str : '''string''', suf : '''int[]''') // str {{---}} исходная строка с добавленным специальным символом $&lt;br /&gt;
                                            // suf[] {{---}} суффиксный массив строки str &lt;br /&gt;
    '''int''' len &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; str.length&lt;br /&gt;
    '''int[len]''' lcp&lt;br /&gt;
    '''int[len]''' pos                              // pos[] {{---}} массив, обратный массиву suf&lt;br /&gt;
    '''for''' i = 0 '''to''' len - 1&lt;br /&gt;
       pos[suf[i]] &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; i&lt;br /&gt;
    '''int''' k &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; 0&lt;br /&gt;
    '''for''' i = 0 '''to''' len - 1&lt;br /&gt;
       '''if''' k &amp;gt; 0&lt;br /&gt;
          k--  &lt;br /&gt;
       '''if''' pos[i] == len - 1&lt;br /&gt;
          lcp[len - 1] &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; -1&lt;br /&gt;
          k &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; 0&lt;br /&gt;
       '''else'''&lt;br /&gt;
          '''int''' j &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; suf[pos[i] + 1]&lt;br /&gt;
          '''while''' str[i + k] == str[j + k]&lt;br /&gt;
             k++&lt;br /&gt;
          lcp[pos[i]] &amp;lt;tex&amp;gt;\leftarrow&amp;lt;/tex&amp;gt; k;&lt;br /&gt;
    '''return''' lcp&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
* [[wikipedia:ru:Алгоритм_Касаи | Википедия {{---}} Алгоритм Касаи]]&lt;br /&gt;
* [http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.118.8221  T.Kasai, G.Lee, H.Arimura, S.Arikawa, K.Park - Linear-Time Longest-Common-Prefix Computation in Suffix Arrays and Its Application]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Суффиксный массив]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38759</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38759"/>
				<updated>2014-06-12T10:46:31Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; {{---}} векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1, \ \dots, \ v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1, \ \dots, \ v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом''' (англ. ''vector matroid'')&lt;br /&gt;
}} &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда множество &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом''' (англ. ''graphic matroid'').&lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; {{---}} двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом''' (англ. ''transversal matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам {{---}} синему и красному, либо одному {{---}} синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом''' (англ. ''uniform matroid'') называют объект &amp;lt;tex&amp;gt;U_{nk} = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; {{---}} положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \ \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений''' (англ. ''partition matroid'')&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \ \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, \ k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний''' (англ. ''matching matroid'').&lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; {{---}} множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, \ y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \ \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \ \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; '''представим над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если он [[Определение матроида| изоморфен]] некоторому векторному матроиду над этим полем.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид''' (англ. ''binary matroid'') {{---}} матроид, представимый над полем целых чисел по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является бинарным.&lt;br /&gt;
|proof = &lt;br /&gt;
&lt;br /&gt;
Составим матрицу инцидентности &amp;lt;tex&amp;gt;A = (a_{ij})&amp;lt;/tex&amp;gt; для графа &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt;. Строки этой матрицы соответствуют вершинам графа, а столбцы {{---}} ребрам. &lt;br /&gt;
* Если &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ое ребро есть петля, инцидентная &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершине, то &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ая вершина инцидентна &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ому ребру, то  &amp;lt;tex&amp;gt;a_{ij} = 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
* Иначе  &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Необходимо доказать, что если мы возьмем множество ребер &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержат цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл.&lt;br /&gt;
&lt;br /&gt;
Если некоторые столбцы матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:&lt;br /&gt;
&lt;br /&gt;
1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.&lt;br /&gt;
&lt;br /&gt;
2) У нас есть столбец &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, который является суммой остальных столбцов.  Этому столбцу соответствует ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;. Начнем с вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; переходить по другим ребрам из &amp;lt;tex&amp;gt;R \setminus uv&amp;lt;/tex&amp;gt; (по каждому ребру проходим только один раз), в итоге мы придем в вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; была бы единица (а единицы у нас только на позициях &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;). Таким образом мы показали, что существует два пути между вершинами &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (тот который мы построили и путь по ребру &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;), значит в выбранном множестве ребер есть цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов.&lt;br /&gt;
&lt;br /&gt;
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.&lt;br /&gt;
Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Другие матроиды==&lt;br /&gt;
Несложно доказать, что следующие конструкции тоже являются матроидами.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид с выкинутым элементом'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \ \{A | A \in I, \ x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид, стянутый по элементу'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \ \{A \setminus x | A \in I, \ x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \ \{A | A \in I, \ |A| \leqslant k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. {{---}} Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. {{---}} Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9A%D0%B0%D1%81%D0%B0%D0%B8_%D0%B8_%D0%B4%D1%80.&amp;diff=38729</id>
		<title>Алгоритм Касаи и др.</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9A%D0%B0%D1%81%D0%B0%D0%B8_%D0%B8_%D0%B4%D1%80.&amp;diff=38729"/>
				<updated>2014-06-11T23:09:47Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Алгоритм Касаи''' (Аримуры-Арикавы-Касаи-Ли-Парка) {{---}} алгоритм, позволяющий за линейное время вычислить&lt;br /&gt;
длину наибольших общих префиксов для соседних циклических сдвигов строки, отсортированных в лексикографическом&lt;br /&gt;
порядке (largest common prefix, далее &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==Обозначения==&lt;br /&gt;
Задана строка &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;S_{i}&amp;lt;/tex&amp;gt; {{---}} суффикс строки &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, начинающийся в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ом символе. Пусть задан суффиксный массив &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Для вычисления &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; будем использовать промежуточный массив &amp;lt;tex&amp;gt;Suf^{-1}&amp;lt;/tex&amp;gt;. Массив &amp;lt;tex&amp;gt;Suf^{-1}&amp;lt;/tex&amp;gt; определен как обратный к массиву &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Он может быть получен немедленно, если задан массив &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;Suf[k] = i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;Suf^{-1}[i] = k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;Height[i]&amp;lt;/tex&amp;gt; {{---}} длина наибольшего общего префикса &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; строк в суффиксном массиве (&amp;lt;tex&amp;gt;Suf[i]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;Suf[i-1]&amp;lt;/tex&amp;gt; соответственно).&lt;br /&gt;
&lt;br /&gt;
==Некоторые свойства &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;==&lt;br /&gt;
===Факт №1===&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между двумя суффиксами {{---}} это минимум &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; всех пар соседних суффиксов между ними в суффиксном массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;. То есть &amp;lt;tex&amp;gt;LCP(S_{Suf[x]}, S_{Suf[z]}) = \min_{x &amp;lt; y \leqslant z}(LCP(S_{Suf[y - 1]},S_{Suf[y]})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Отсюда следует, что &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; пары соседних суффиксов в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt; больше или равно &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; пары суффиксов, окружающих их.&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;LCP(S_{Suf[y - 1]}, S_{Suf[y]}) \geqslant LCP(S_{Suf[x]},S_{Suf[z]}), x &amp;lt; y \leqslant z&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Факт №2===&lt;br /&gt;
Если значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между парой суффиксов, соседних в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;, больше &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то можно удалить первый символ каждого суффикса и лексикографический порядок суффиксов сохранится.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]} , S_{Suf[x]} ) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;Suf^{-1}[Suf[x - 1] + 1] &amp;lt; Suf^{-1}[Suf[x] + 1]&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
[[Файл:kasai.png|400px|thumb|right|Пояснительная картинка к факту 2 и 3]]&lt;br /&gt;
&lt;br /&gt;
===Факт №3===&lt;br /&gt;
В этом же случае, значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{Suf[x-1]+1}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;S_{Suf[x]+1}&amp;lt;/tex&amp;gt; на один меньше значения &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{Suf[x-1]}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;S_{Suf[x]}&amp;lt;/tex&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=Если &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]} , S_{Suf[x]} ) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;LCP(S_{Suf[x-1]+1} , S_{Suf[x]+1}) = LCP(S_{Suf[x-1]} , S_{Suf[x]} ) - 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Вспомогательные утверждения===&lt;br /&gt;
&lt;br /&gt;
Теперь рассмотрим следующую задачу: рассчитать &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между суффиксом &amp;lt;tex&amp;gt;S_{i}&amp;lt;/tex&amp;gt; и его соседним суффиксом в массиве &amp;lt;tex&amp;gt;Suf&amp;lt;/tex&amp;gt;, при условии, что значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; между &amp;lt;tex&amp;gt;S_{i-1}&amp;lt;/tex&amp;gt; и его соседним суффиксом известны. Для удобства записи пусть &amp;lt;tex&amp;gt;p=Suf^{-1}[i - 1]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q = Suf^{-1}[i]&amp;lt;/tex&amp;gt;. Так же пусть &amp;lt;tex&amp;gt;j - 1 = Suf[p-1]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k = Suf[q - 1]&amp;lt;/tex&amp;gt;. Проще говоря, мы хотим посчитать &amp;lt;tex&amp;gt;Height[q]&amp;lt;/tex&amp;gt;, когда задано &amp;lt;tex&amp;gt;Height[p]&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Лемма|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;LCP(S_{j-1}, S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;LCP(S_k,S_i) \geqslant LCP(S_j,S_i)&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;LCP(S_{j-1},S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, имеем &amp;lt;tex&amp;gt;Suf^{-1}[j] &amp;lt; Suf^{-1}[i]&amp;lt;/tex&amp;gt; из факта №2. Так как &amp;lt;tex&amp;gt;Suf^{-1}[j] \leqslant Suf^{-1}[k] = Suf^{-1}[i] - 1&amp;lt;/tex&amp;gt;, имеем &amp;lt;tex&amp;gt;LCP(S_{k} , S_{i}) \geqslant LCP(S_{j} , S_{i})&amp;lt;/tex&amp;gt; из факта №1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;Height[p] = LCP(S_{j-1}, S_{i-1}) &amp;gt; 1&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;Height[q] = LCP(S_{k}, S_{i}) \geqslant Height[p] - 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP(S_{k}, S_{i}) \geqslant LCP(S_{j} , S_{i})&amp;lt;/tex&amp;gt; (из леммы)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;LCP(S_{j} , S_{i}) = LCP(S_{j-1}, S_{i-1}) - 1&amp;lt;/tex&amp;gt; (из факта №3).&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;LCP(S_{k}, S_{i}) \geqslant LCP(S_{j-1}, S_{i-1}) - 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Описание алгоритма==&lt;br /&gt;
Таким образом, начиная проверять &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; для текущего суффикса не с первого символа, а с указанного, можно за линейное время построить &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Покажем, что построение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; таким образом действительно требует &amp;lt;tex&amp;gt;O(N)&amp;lt;/tex&amp;gt; времени. Действительно, на каждой итерации текущее значение &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; может быть не более&lt;br /&gt;
чем на единицу меньше предыдущего. Таким образом, значения &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; в сумме могут увеличиться не более, чем на &amp;lt;tex&amp;gt;2N&amp;lt;/tex&amp;gt; (с точностью до константы). Следовательно, алгоритм построит &amp;lt;tex&amp;gt;LCP&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;O(N)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
* [[wikipedia:ru:Алгоритм_Касаи | Википедия {{---}} Алгоритм Касаи]]&lt;br /&gt;
* [http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.118.8221  T.Kasai, G.Lee, H.Arimura, S.Arikawa, K.Park - Linear-Time Longest-Common-Prefix Computation in Suffix Arrays and Its Application]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Суффиксный массив]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38709</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38709"/>
				<updated>2014-06-11T22:14:29Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Графовый матроид */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; {{---}} векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1, \ \dots, \ v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1, \ \dots, \ v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом''' (англ. ''vector matroid'')&lt;br /&gt;
}} &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда множество &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом''' (англ. ''graphic matroid'').&lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; {{---}} двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом''' (англ. ''transversal matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам {{---}} синему и красному, либо одному {{---}} синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом''' (англ. ''uniform matroid'') называют объект &amp;lt;tex&amp;gt;U_{nk} = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; {{---}} положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \ \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений''' (англ. ''partition matroid'')&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \ \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, \ k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний''' (англ. ''matching matroid'').&lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; {{---}} множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, \ y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \ \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \ \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; '''представим над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если он [[Определение матроида| изоморфен]] некоторому векторному матроиду над этим полем.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид''' (англ. ''binary matroid'') {{---}} матроид, представимый над полем целых чисел по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Например, графовый матроид является бинарным. &lt;br /&gt;
&lt;br /&gt;
Составим матрицу инцидентности &amp;lt;tex&amp;gt;A = (a_{ij})&amp;lt;/tex&amp;gt; для графа &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt;. Строки этой матрицы соответствуют вершинам графа, а столбцы {{---}} ребрам. &lt;br /&gt;
* Если &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ое ребро есть петля, инцидентная &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершине, то &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ая вершина инцидентна &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ому ребру, то  &amp;lt;tex&amp;gt;a_{ij} = 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
* Иначе  &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Необходимо доказать, что если мы возьмем множество ребер &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержат цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл.&lt;br /&gt;
&lt;br /&gt;
Если некоторые столбцы матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:&lt;br /&gt;
&lt;br /&gt;
1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.&lt;br /&gt;
&lt;br /&gt;
2) У нас есть столбец &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, который является суммой остальных столбцов.  Этому столбцу соответствует ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;. Начнем с вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; переходить по другим ребрам из &amp;lt;tex&amp;gt;R \setminus uv&amp;lt;/tex&amp;gt; (по каждому ребру проходим только один раз), в итоге мы придем в вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; была бы единица (а единицы у нас только на позициях &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;). Таким образом мы показали, что существует два пути между вершинами &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (тот который мы построили и путь по ребру &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;), значит в выбранном множестве ребер есть цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов.&lt;br /&gt;
&lt;br /&gt;
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.&lt;br /&gt;
Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.&lt;br /&gt;
&lt;br /&gt;
==Другие матроиды==&lt;br /&gt;
Несложно доказать, что следующие конструкции тоже являются матроидами.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид с выкинутым элементом'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \ \{A | A \in I, \ x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид, стянутый по элементу'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \ \{A \setminus x | A \in I, \ x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \ \{A | A \in I, \ |A| \leqslant k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. {{---}} Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. {{---}} Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38708</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38708"/>
				<updated>2014-06-11T22:13:09Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Бинарный матроид */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; {{---}} векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1, \ \dots, \ v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1, \ \dots, \ v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом''' (англ. ''vector matroid'')&lt;br /&gt;
}} &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда множество &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом''' (англ. ''graphic matroid'').&lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; {{---}} двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом''' (англ. ''transversal matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам {{---}} синему и красному, либо одному {{---}} синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом''' (англ. ''uniform matroid'') называют объект &amp;lt;tex&amp;gt;U_{nk} = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; {{---}} положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \ \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений''' (англ. ''partition matroid'')&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \ \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, \ k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний''' (англ. ''matching matroid'').&lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; {{---}} множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, \ y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \ \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \ \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; '''представим над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если он [[Определение матроида| изоморфен]] некоторому векторному матроиду над этим полем.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид''' (англ. ''binary matroid'') {{---}} матроид, представимый над полем целых чисел по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Например, графовый матроид является бинарным. &lt;br /&gt;
&lt;br /&gt;
Составим матрицу инцидентности &amp;lt;tex&amp;gt;A = (a_{ij})&amp;lt;/tex&amp;gt; для графа &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt;. Строки этой матрицы соответствуют вершинам графа, а столбцы {{---}} ребрам. &lt;br /&gt;
* Если &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ое ребро есть петля, инцидентная &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершине, то &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ая вершина инцидентна &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ому ребру, то  &amp;lt;tex&amp;gt;a_{ij} = 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
* Иначе  &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Необходимо доказать, что если мы возьмем множество ребер &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержат цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл.&lt;br /&gt;
&lt;br /&gt;
Если некоторые столбцы матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:&lt;br /&gt;
&lt;br /&gt;
1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.&lt;br /&gt;
&lt;br /&gt;
2) У нас есть столбец &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, который является суммой остальных столбцов.  Этому столбцу соответствует ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;. Начнем с вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; переходить по другим ребрам из &amp;lt;tex&amp;gt;R \setminus uv&amp;lt;/tex&amp;gt; (по каждому ребру проходим только один раз), в итоге мы придем в вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; была бы единица (а единицы у нас только на позициях &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;). Таким образом мы показали, что существует два пути между вершинами &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (тот который мы построили и путь по ребру &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;), значит в выбранном множестве ребер есть цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов.&lt;br /&gt;
&lt;br /&gt;
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.&lt;br /&gt;
Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.&lt;br /&gt;
&lt;br /&gt;
==Другие матроиды==&lt;br /&gt;
Несложно доказать, что следующие конструкции тоже являются матроидами.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид с выкинутым элементом'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \ \{A | A \in I, \ x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид, стянутый по элементу'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \ \{A \setminus x | A \in I, \ x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \ \{A | A \in I, \ |A| \leqslant k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. {{---}} Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. {{---}} Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38632</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38632"/>
				<updated>2014-06-11T18:30:43Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; {{---}} векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1, \ \dots, \ v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1, \ \dots, \ v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом''' (англ. ''vector matroid'')&lt;br /&gt;
}} &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда множество &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом''' (англ. ''graphic matroid'').&lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; {{---}} двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом''' (англ. ''transversal matroid'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам {{---}} синему и красному, либо одному {{---}} синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом''' (англ. ''uniform matroid'') называют объект &amp;lt;tex&amp;gt;U_{nk} = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; {{---}} положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \ \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений''' (англ. ''partition matroid'')&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \ \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, \ k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; {{---}} неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний''' (англ. ''matching matroid'').&lt;br /&gt;
}}&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, \ B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, \ B \in I, \ \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; {{---}} множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, \ y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \ \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \ \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; '''представим над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если он [[Определение матроида| изоморфен]] некоторому векторному матроиду над этим полем.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид''' (англ. ''binary matroid'') {{---}} матроид, представимый над полем целых чисел по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Например, графовый матроид является бинарным. &lt;br /&gt;
&lt;br /&gt;
Составим матрицу инцидентности &amp;lt;tex&amp;gt;A = (a_{ij})&amp;lt;/tex&amp;gt; для графа &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt;. Строки этой матрицы соответствуют вершинам графа, а столбцы {{---}} ребрам. &lt;br /&gt;
* Если &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ое ребро есть петля, инцидентная &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершине, то &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ая вершина инцидентна &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ому ребру, то  &amp;lt;tex&amp;gt;a_{ij} = 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
* Иначе  &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Необходимо доказать, что если мы возьмем множество ребер &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержат цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл.&lt;br /&gt;
&lt;br /&gt;
Если некоторые столбцы матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:&lt;br /&gt;
&lt;br /&gt;
1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.&lt;br /&gt;
&lt;br /&gt;
2) У нас есть столбец &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, который является суммой остальных столбцов.  Этому столбцу соответствует ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;. Начнем с вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; переходить по другим ребрам из &amp;lt;tex&amp;gt;R \setminus uv&amp;lt;/tex&amp;gt; (по каждому ребру проходим только один раз), в итоге мы придем в вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; была бы единица (а единицы у нас только на позициях u и v). Таким образом мы показали, что существует два пути между вершинами 7&amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (тот который мы построили и путь по ребру &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;), значит в выбранном множестве ребер есть цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов.&lt;br /&gt;
&lt;br /&gt;
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.&lt;br /&gt;
Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.&lt;br /&gt;
&lt;br /&gt;
==Другие матроиды==&lt;br /&gt;
Несложно доказать, что следующие конструкции тоже являются матроидами.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид с выкинутым элементом'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \ \{A | A \in I, \ x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид, стянутый по элементу'''. Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \ \{A \setminus x | A \in I, \ x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; {{---}} матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \ \{A | A \in I, \ |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. {{---}} Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. {{---}} Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%B0&amp;diff=38631</id>
		<title>Определение матроида</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%B0&amp;diff=38631"/>
				<updated>2014-06-11T18:29:14Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Аксиоматическое определение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Аксиоматическое определение ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Матроид''' (англ. ''matroid'') {{---}} пара &amp;lt;tex&amp;gt;\langle X,I \rangle&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; {{---}} конечное множество, называемое '''носителем матроида''' (англ. ''ground'' ''set''), а &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; {{---}} некоторое множество подмножеств &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, называемое семейством '''независимых множеств''' (англ. ''independent'' ''sets''), то есть &amp;lt;tex&amp;gt;I \subset 2^X &amp;lt;/tex&amp;gt;. При этом должны выполняться следующие условия:&lt;br /&gt;
# &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
# если &amp;lt;tex&amp;gt;A \in I &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; B \subset A&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;B \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
# если &amp;lt;tex&amp;gt;A,B \in I&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;|A| &amp;gt; |B|&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt; \exists \, x \in A \setminus B : B \cup \{x\} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''База матроида''' (англ. ''base'') {{---}} максимальное по включению независимое множество .&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Зависимое множество''' (англ. ''dependent'' ''set'')  {{---}} подмножество носителя матроида, не являющееся независимым.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Цикл матроида''' (англ. ''cicruit'') {{---}} минимальное по включению зависимое множество.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроиды &amp;lt;tex&amp;gt;M_1 = \langle X_1,I_1 \rangle&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;M_2 = \langle X_2,I_2 \rangle&amp;lt;/tex&amp;gt; называются '''изоморфными''' (англ. ''isomorphic matroids''), если существует биекция (взаммно-однозначное отображение) &amp;lt;tex&amp;gt;\varphi: \ X_1 \rightarrow X_2&amp;lt;/tex&amp;gt;, сохраняющая независимость, то есть множество &amp;lt;tex&amp;gt;A \subset I_1&amp;lt;/tex&amp;gt; является независимым в матроиде &amp;lt;tex&amp;gt;M_1&amp;lt;/tex&amp;gt; тогда и только тогда, когда образ этого множества при заданном отображении &amp;lt;tex&amp;gt;\varphi(A)&amp;lt;/tex&amp;gt; есть независимое множество в матроиде &amp;lt;tex&amp;gt;M_2&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;
*''Асанов М. О., Баранский В. А., Расин В. В.'' - Дискретная математика: Графы, матроиды, алгоритмы. '''ISBN 978-5-8114-1068-2'''&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38451</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38451"/>
				<updated>2014-06-10T21:37:05Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Бинарный матроид */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний (matching matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; — множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; на множестве &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будем называть '''представимым над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если существуют векторное пространство &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; над &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt; и отображение &amp;lt;tex&amp;gt;\phi:X \rightarrow V&amp;lt;/tex&amp;gt;, обладающее тем свойством, что подмножество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; независимо тогда и только тогда, когда &amp;lt;tex&amp;gt;\phi&amp;lt;/tex&amp;gt; взаимнооднозначно на &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\phi(A)&amp;lt;/tex&amp;gt; линейно-независимо в &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид(binary matroid)''' — матроид, представимый над полем целых чисел по модулю 2.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Например, графовый матроид является бинарным. &lt;br /&gt;
&lt;br /&gt;
Составим матрицу инцидентности &amp;lt;tex&amp;gt;A = (a_{ij})&amp;lt;/tex&amp;gt; для графа &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt;. Строки этой матрицы соответствуют вершинам графа, а столбцы — ребрам. &lt;br /&gt;
* Если &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ое ребро есть петля, инцидентная &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершине, то &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ая вершина инцидентна &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ому ребру, то  &amp;lt;tex&amp;gt;a_{ij} = 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
* Иначе  &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Необходимо доказать, что если мы возьмем множество ребер &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержат цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл.&lt;br /&gt;
&lt;br /&gt;
Если некоторые столбцы матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:&lt;br /&gt;
&lt;br /&gt;
1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.&lt;br /&gt;
&lt;br /&gt;
2) У нас есть столбец &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, который является суммой остальных столбцов.  Этому столбцу соответствует ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;. Начнем с вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; переходить по другим ребрам из &amp;lt;tex&amp;gt;R \setminus uv&amp;lt;/tex&amp;gt; (по каждому ребру проходим только один раз), в итоге мы придем в вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; была бы единица (а единицы у нас только на позициях u и v). Таким образом мы показали, что существует два пути между вершинами 7&amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (тот который мы построили и путь по ребру &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;), значит в выбранном множестве ребер есть цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов.&lt;br /&gt;
&lt;br /&gt;
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.&lt;br /&gt;
Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю 2 указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; — матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. — Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38450</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38450"/>
				<updated>2014-06-10T21:29:41Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Бинарный матроид */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний (matching matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; — множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; на множестве &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будем называть '''представимым над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если существуют векторное пространство &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; над &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt; и отображение &amp;lt;tex&amp;gt;\phi:X \rightarrow V&amp;lt;/tex&amp;gt;, обладающее тем свойством, что подмножество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; независимо тогда и только тогда, когда &amp;lt;tex&amp;gt;\phi&amp;lt;/tex&amp;gt; взаимнооднозначно на &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\phi(A)&amp;lt;/tex&amp;gt; линейно-независимо в &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид(binary matroid)''' — матроид, представимый над полем целых чисел по модулю 2.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Например, графовый матроид является бинарным. &lt;br /&gt;
&lt;br /&gt;
Составим матрицу инцидентности &amp;lt;tex&amp;gt;A = (a_{ij})&amp;lt;/tex&amp;gt; для графа &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt;. Строки этой матрицы соответствуют вершинам графа, а столбцы — ребрам. &lt;br /&gt;
* Если &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ое ребро есть петля, инцидентная &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершине, то &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ая вершина инцидентна &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ому ребру, то  &amp;lt;tex&amp;gt;a_{ij} = 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
* Иначе  &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Необходимо доказать, что если мы возьмем множество ребер &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержат цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Если некоторые столбцы матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:&lt;br /&gt;
&lt;br /&gt;
1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.&lt;br /&gt;
&lt;br /&gt;
2) У нас есть столбец &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, который является суммой остальных столбцов.  Этому столбцу соответствует ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;. Начнем с вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; переходить по другим ребрам из &amp;lt;tex&amp;gt;R \setminus uv&amp;lt;/tex&amp;gt; (по каждому ребру проходим только один раз), в итоге мы придем в вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; была бы единица (а единицы у нас только на позициях u и v). Таким образом мы показали, что существует два пути между вершинами 7&amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (тот который мы построили и путь по ребру &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;), значит в выбранном множестве ребер есть цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть некоторое множество ребер содержит цикл. Если среди них есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.&lt;br /&gt;
Если цикла нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю 2 указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; — матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. — Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38420</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38420"/>
				<updated>2014-06-10T19:43:23Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Бинарный матроид */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний (matching matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; — множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; на множестве &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будем называть '''представимым над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если существуют векторное пространство &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; над &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt; и отображение &amp;lt;tex&amp;gt;\phi:X \rightarrow V&amp;lt;/tex&amp;gt;, обладающее тем свойством, что подмножество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; независимо тогда и только тогда, когда &amp;lt;tex&amp;gt;\phi&amp;lt;/tex&amp;gt; взаимнооднозначно на &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\phi(A)&amp;lt;/tex&amp;gt; линейно-независимо в &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид(binary matroid)''' - матроид, представимый над полем целых чисел по модулю 2.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Например, графовый матроид является бинарным. &lt;br /&gt;
&lt;br /&gt;
Составим матрицу инцидентности &amp;lt;tex&amp;gt;A = (a_{ij})&amp;lt;/tex&amp;gt; для графа &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt;. Строки этой матрицы соответствуют вершинам графа, а столбцы {---} ребрам. &lt;br /&gt;
* Если &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ое ребро есть петля, инцидентная &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой вершине, то &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* Если &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ая вершина инцидентна &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;-ому ребру, то  &amp;lt;tex&amp;gt;a_{ij} = 1&amp;lt;/tex&amp;gt; &lt;br /&gt;
* Иначе  &amp;lt;tex&amp;gt;a_{ij} = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Необходимо доказать, что если мы возьмем множество ребер &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; содержат цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Если некоторые столбцы матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:&lt;br /&gt;
&lt;br /&gt;
1) Cреди выбранных столбцов есть нулевой, значит в соответствующем множестве ребер есть петля, то есть цикл.&lt;br /&gt;
&lt;br /&gt;
2) У нас есть столбец &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;, который является суммой остальных столбцов.  Этому столбцу соответствует ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;. Начнем с вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; переходить по другим ребрам из &amp;lt;tex&amp;gt;R \setminus uv&amp;lt;/tex&amp;gt; (по каждому ребру проходим только один раз), в итоге мы придем в вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; была бы единица (а единицы у нас только на позициях u и v). То есть существует два пути между вершинами &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (тот который мы построили и путь по ребру &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;), значит в выбранном множестве ребер есть цикл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть некоторое множество ребер содержит цикл. Если среди них есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов.&lt;br /&gt;
Если цикла нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю 2 указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; — матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. — Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38010</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38010"/>
				<updated>2014-06-07T22:56:45Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид разбиений==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом разбиений (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матроид разбиений является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидом паросочетаний (matching matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; — множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; на множестве &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будем называть '''представимым над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если существуют векторное пространство &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; над &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt; и отображение &amp;lt;tex&amp;gt;\phi:X \rightarrow V&amp;lt;/tex&amp;gt;, обладающее тем свойством, что подмножество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; независимо тогда и только тогда, когда &amp;lt;tex&amp;gt;\phi&amp;lt;/tex&amp;gt; взаимнооднозначно на &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\phi(A)&amp;lt;/tex&amp;gt; линейно-независимо в &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Регулярный матроид(regular matroid)''' - матроид, представимый над любым полем.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид(binary matroid)''' - матроид, представимый над полем целых чисел по модулю 2.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; — матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. — Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38007</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38007"/>
				<updated>2014-06-07T22:55:30Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Matching Matroid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Разделенный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''разделенным матроидом (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Разделенный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''матроидои паросочетаний (matching matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матроид паросочетаний является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; — множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; на множестве &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будем называть '''представимым над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если существуют векторное пространство &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; над &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt; и отображение &amp;lt;tex&amp;gt;\phi:X \rightarrow V&amp;lt;/tex&amp;gt;, обладающее тем свойством, что подмножество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; независимо тогда и только тогда, когда &amp;lt;tex&amp;gt;\phi&amp;lt;/tex&amp;gt; взаимнооднозначно на &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\phi(A)&amp;lt;/tex&amp;gt; линейно-независимо в &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Регулярный матроид(regular matroid)''' - матроид, представимый над любым полем.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид(binary matroid)''' - матроид, представимый над полем целых чисел по модулю 2.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; — матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. — Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38004</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=38004"/>
				<updated>2014-06-07T22:53:15Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Разделенный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''разделенным матроидом (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Разделенный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&amp;lt;/tex&amp;gt;, противоречие. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Matching Matroid==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''(matching matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Matching матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; — множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Матроид &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; на множестве &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; будем называть '''представимым над полем &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;''', если существуют векторное пространство &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; над &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt; и отображение &amp;lt;tex&amp;gt;\phi:X \rightarrow V&amp;lt;/tex&amp;gt;, обладающее тем свойством, что подмножество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; независимо тогда и только тогда, когда &amp;lt;tex&amp;gt;\phi&amp;lt;/tex&amp;gt; взаимнооднозначно на &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\phi(A)&amp;lt;/tex&amp;gt; линейно-независимо в &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Регулярный матроид(regular matroid)''' - матроид, представимый над любым полем.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Бинарный матроид(binary matroid)''' - матроид, представимый над полем целых чисел по модулю 2.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; — матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* Уилсон Р. — Введение в теорию графов (глава 9. Теория матроидов) &lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37995</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37995"/>
				<updated>2014-06-07T22:36:02Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Matching Matroid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; - матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''разделенным матроидом (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Разделенный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&amp;lt;/tex&amp;gt;, противоречие. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Laminar Matroid==&lt;br /&gt;
&lt;br /&gt;
==Matching Matroid==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''(matching matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Matching матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть паросочетание &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt; покрывает множество &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt; — множество &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Все вершины, принадлежащие &amp;lt;tex&amp;gt;A \cap B&amp;lt;/tex&amp;gt; покроем ребрами из паросочетания &amp;lt;tex&amp;gt;P_B&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B \setminus A&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рассмотрим три возможных случая:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy \in P_A, y \in A \Rightarrow P_A&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A&amp;lt;/tex&amp;gt;. Мы можем добавить в &amp;lt;tex&amp;gt;A&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_A&amp;lt;/tex&amp;gt; ребро &amp;lt;tex&amp;gt;xy&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Если первые два случая не выполнились, значит &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\exists y \notin A, \notin B: \exists xy \in P_B&amp;lt;/tex&amp;gt;. Обозначим множество таких &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt;C, \left\vert C \right\vert = \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Таким образом в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; найдется хотя бы одна вершина &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt;, не покрытая паросочетанием &amp;lt;tex&amp;gt;P_A&amp;lt;/tex&amp;gt;. Тогда паросочетание &amp;lt;tex&amp;gt;P_A \cup xy&amp;lt;/tex&amp;gt; покрывает &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I&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;
&lt;br /&gt;
==Источники==&lt;br /&gt;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37980</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37980"/>
				<updated>2014-06-07T19:11:22Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Разделенный матроид */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; - матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''разделенным матроидом (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Разделенный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x \in X_j&amp;lt;/tex&amp;gt;. Из последнего следует, что &amp;lt;tex&amp;gt;\left\vert B \setminus A \right\vert \subset X_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert = \left\vert B \cap X_j \right\vert = \left\vert ((A \cap B) \cup (A \setminus B)) \cap X_j \right\vert&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert &amp;lt; \left\vert B \setminus A \right\vert&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\left\vert B \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но &amp;lt;tex&amp;gt;B \in I&amp;lt;/tex&amp;gt;, противоречие. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Laminar Matroid==&lt;br /&gt;
&lt;br /&gt;
==Matching Matroid==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''(matching matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Matching матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&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;
&lt;br /&gt;
==Источники==&lt;br /&gt;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37793</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37793"/>
				<updated>2014-06-06T15:50:48Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Matching Matroid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; - матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''разделенным матроидом (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Разделенный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Предположим, что &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow x \in X_j&amp;lt;/tex&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Laminar Matroid==&lt;br /&gt;
&lt;br /&gt;
==Matching Matroid==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset V \mid \exists&amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle V, I \rangle &amp;lt;/tex&amp;gt; называют '''(matching matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Matching матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&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;
&lt;br /&gt;
==Источники==&lt;br /&gt;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37792</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37792"/>
				<updated>2014-06-06T15:46:38Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Разделенный матроид */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; - матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0&amp;lt;/tex&amp;gt;  &amp;lt;tex&amp;gt;\forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''разделенным матроидом (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Разделенный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Предположим, что &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow x \in X_j&amp;lt;/tex&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Laminar Matroid==&lt;br /&gt;
&lt;br /&gt;
==Matching Matroid==&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Определение матроида]]&lt;br /&gt;
* [[Прямая сумма матроидов]]&lt;br /&gt;
* [[Двойственный матроид]]&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37791</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37791"/>
				<updated>2014-06-06T15:21:32Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Partition Matroid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; - матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X = \bigcup\limits_{i=_1}^n X_i&amp;lt;/tex&amp;gt;, при этом &amp;lt;tex&amp;gt; X_i \cap X_j = 0 \forall i \neq j,&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;k_1 \dots k_n&amp;lt;/tex&amp;gt; — положительные целые числа. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \left\vert A \cap X_i \right\vert \leqslant k_i, \forall i: 1 \leqslant i \leqslant n \mathcal {g}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''разделенным матроидом (partition matroid)'''&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Разделенный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A \subset B, \left\vert A \right\vert \leqslant \left\vert B \right\vert \Rightarrow \left\vert A \cap X_i \right\vert \leqslant \left\vert B \cap X_i \right\vert \leqslant k_i \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Предположим, что &amp;lt;tex&amp;gt;\forall x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \notin I \Rightarrow \exists X_j, k_j: \left\vert A \cup \mathcal{f} x \mathcal {g} \cap X_j \right\vert &amp;gt; k_j&amp;lt;/tex&amp;gt;, но так как  &amp;lt;tex&amp;gt;A \in I&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt; \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow x \in X_j&amp;lt;/tex&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Laminar Matroid==&lt;br /&gt;
&lt;br /&gt;
==Matching Matroid==&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Определение матроида]]&lt;br /&gt;
* [[Прямая сумма матроидов]]&lt;br /&gt;
* [[Двойственный матроид]]&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37717</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37717"/>
				<updated>2014-06-05T22:10:01Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; - матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Бинарный матроид==&lt;br /&gt;
&lt;br /&gt;
==Partition Matroid==&lt;br /&gt;
&lt;br /&gt;
==Laminar Matroid==&lt;br /&gt;
&lt;br /&gt;
==Matching Matroid==&lt;br /&gt;
==См. также==&lt;br /&gt;
* [[Определение матроида]]&lt;br /&gt;
* [[Прямая сумма матроидов]]&lt;br /&gt;
* [[Двойственный матроид]]&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37716</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37716"/>
				<updated>2014-06-05T21:57:34Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид с выкинутым элементом==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M\setminus x = \langle X \setminus x, \{A | A \in I, x \not\in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M\setminus x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Матроид, стянутый по элементу==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I\rangle&amp;lt;/tex&amp;gt; — матроид. Определим &amp;lt;tex&amp;gt;M/x = \langle X \setminus x, \{A \setminus x | A \in I, x \in A\}\rangle&amp;lt;/tex&amp;gt;. Для любых &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, таких что &amp;lt;tex&amp;gt;\{x\}\in I,&amp;lt;/tex&amp;gt; получившаяся конструкция &amp;lt;tex&amp;gt;M/x&amp;lt;/tex&amp;gt; является матроидом.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Урезанный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M = \langle X, I \rangle&amp;lt;/tex&amp;gt; - матроид. Обозначим как &amp;lt;tex&amp;gt;M|_k&amp;lt;/tex&amp;gt; следующую констркуцию: &amp;lt;tex&amp;gt;M|_k = \langle X, \{A | A \in I, |A| \le k \}\rangle&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;M|_k&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;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37702</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37702"/>
				<updated>2014-06-05T20:46:10Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A \in I,&amp;lt;/tex&amp;gt; то &amp;lt;tex&amp;gt;dim \mathcal{L}(A) = \left\vert A \right\vert&amp;lt;/tex&amp;gt;. По условию &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;x \notin A&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; линейно-независимо по определению линейной оболочки. &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;A \in I, B \in I, \left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&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;
==Источники==&lt;br /&gt;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37697</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37697"/>
				<updated>2014-06-05T20:25:42Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Трансверсальный матроид */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть не так. Тогда &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt; такой, что множество векторов &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; — линейно зависимо. Значит, оно образует базис в пространстве векторов &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; &amp;quot;натянутом&amp;quot; на множество векторов &amp;lt;tex&amp;gt;A \cup B&amp;lt;/tex&amp;gt;. Но тогда  &amp;lt;tex&amp;gt;\left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert &amp;gt; \left\vert B \right\vert &amp;lt;/tex&amp;gt;, так как мощность базиса больше мощности любого линейно-независимого множества, а &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; — линейно-независимо, а по условию &amp;lt;tex&amp;gt;\left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert &amp;lt;/tex&amp;gt;. Противоречие, значит предположение не верно и 3-е свойство тоже выполнено.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. &amp;lt;tex&amp;gt;I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; P&amp;lt;/tex&amp;gt;, покрывающее &amp;lt;tex&amp;gt;A \mathcal {g} &amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;M = \langle X, I \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, покрывающим &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;. Значит &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&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;
==Источники==&lt;br /&gt;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37676</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37676"/>
				<updated>2014-06-05T18:40:07Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: /* Трансверсальный матроид */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть не так. Тогда &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt; такой, что множество векторов &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; — линейно зависимо. Значит, оно образует базис в пространстве векторов &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; &amp;quot;натянутом&amp;quot; на множество векторов &amp;lt;tex&amp;gt;A \cup B&amp;lt;/tex&amp;gt;. Но тогда  &amp;lt;tex&amp;gt;\left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert &amp;gt; \left\vert B \right\vert &amp;lt;/tex&amp;gt;, так как мощность базиса больше мощности любого линейно-независимого множества, а &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; — линейно-независимо, а по условию &amp;lt;tex&amp;gt;\left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert &amp;lt;/tex&amp;gt;. Противоречие, значит предположение не верно и 3-е свойство тоже выполнено.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. Тогда &amp;lt;tex&amp;gt;M = \langle X, I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; M: X \cap ends(M) = A \mathcal {g} \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, которое обозначим за &amp;lt;tex&amp;gt;M'&amp;lt;/tex&amp;gt;. И будет выполняться условие &amp;lt;tex&amp;gt; X \cap ends(M') = A &amp;lt;/tex&amp;gt; , что значит, &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; \left\vert A \setminus B \right\vert &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; \left\vert B \setminus A \right\vert &amp;gt; \left\vert A \setminus B \right\vert&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&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;
==Источники==&lt;br /&gt;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37674</id>
		<title>Примеры матроидов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2&amp;diff=37674"/>
				<updated>2014-06-05T18:38:19Z</updated>
		
		<summary type="html">&lt;p&gt;Maryann: Отмена правки 37673 участника Maryann (обсуждение)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Матричный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — векторное пространство над телом &amp;lt;tex&amp;gt;F&amp;lt;/tex&amp;gt;, пусть набор векторов &amp;lt;tex&amp;gt;V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}&amp;lt;/tex&amp;gt; из пространства &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; является носителем &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;. Элементами независимого множества &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; данного матроида являются множества линейно-независимых векторов из набора &amp;lt;tex&amp;gt;v_ 1,\dots,v_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;M = \langle V_i, I \rangle &amp;lt;/tex&amp;gt;, называется '''матричным матроидом (vector matroid)'''&lt;br /&gt;
}} &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Матричный матроид является матроидом.&lt;br /&gt;
|proof = &lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Множество в котором нет векторов является линейно-независимым.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть не так. Тогда &amp;lt;tex&amp;gt;\forall x \in B \setminus A&amp;lt;/tex&amp;gt; такой, что множество векторов &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g}&amp;lt;/tex&amp;gt; — линейно зависимо. Значит, оно образует базис в пространстве векторов &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; &amp;quot;натянутом&amp;quot; на множество векторов &amp;lt;tex&amp;gt;A \cup B&amp;lt;/tex&amp;gt;. Но тогда  &amp;lt;tex&amp;gt;\left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert &amp;gt; \left\vert B \right\vert &amp;lt;/tex&amp;gt;, так как мощность базиса больше мощности любого линейно-независимого множества, а &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; — линейно-независимо, а по условию &amp;lt;tex&amp;gt;\left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert &amp;lt;/tex&amp;gt;. Противоречие, значит предположение не верно и 3-е свойство тоже выполнено.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Графовый матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle V, E \rangle&amp;lt;/tex&amp;gt; — неориентированный граф. Тогда &amp;lt;tex&amp;gt;M = \langle E, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом (graphic matroid)'''.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Графовый матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое множество является ациклическим, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очевидно, что любой подграф леса, так же является лесом, а значит входит в &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; вследствие своей ацикличности.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В графе &amp;lt;tex&amp;gt;G_A = \langle V, A \rangle &amp;lt;/tex&amp;gt; как минимум две компоненты связанности, иначе &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.&lt;br /&gt;
&lt;br /&gt;
Допустим в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; не существует ребра, соединяющего две различные компоненты связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, значит любая компонента связанности из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt; целиком вершинно-входит в какую-либо компоненту из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;. Рассмотрим любую компоненту связанности Q из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt;, у неё &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; вершин и &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; рёбер. Теперь рассмотрим все компоненты связанности &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;, вершинно-входящие в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;, пусть их &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; штук, тогда суммарное количество рёбер из &amp;lt;tex&amp;gt;P_i&amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt;k - m&amp;lt;/tex&amp;gt;, что не превосходит &amp;lt;tex&amp;gt;k - 1&amp;lt;/tex&amp;gt; (количество рёбер в &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt;). Просуммируем неравенство по всем компонентам связанности из &amp;lt;tex&amp;gt;G_A&amp;lt;/tex&amp;gt; и получим  &amp;lt;tex&amp;gt;\left\vert A \right\vert \geqslant \left\vert B \right\vert&amp;lt;/tex&amp;gt;, что противоречит условию. Значит предположение не верно, и в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; существует искомое ребро &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; из разных компонент связанности &amp;lt;tex&amp;gt;G_B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Трансверсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;G = \langle X, Y, E \rangle&amp;lt;/tex&amp;gt; — двудольный граф. Тогда &amp;lt;tex&amp;gt;M = \langle X, I = \mathcal{f} A \subset X \mid \exists &amp;lt;/tex&amp;gt; паросочетание &amp;lt;tex&amp;gt; M: X \cap ends(M) = A \mathcal {g} \rangle &amp;lt;/tex&amp;gt; называют '''трансверсальным матроидом (transversal matroid).'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Трансверсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пустое паросочетание удовлетворяет условию.&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; ребра, концами которых являются вершины из множества &amp;lt;tex&amp;gt;B \setminus A&amp;lt;/tex&amp;gt;. Оставшееся множество ребер будет являться паросочетанием, которое обозначим за &amp;lt;tex&amp;gt;M'&amp;lt;/tex&amp;gt;. И будет выполняться условие &amp;lt;tex&amp;gt; X \cap ends(M') = A &amp;lt;/tex&amp;gt; , что значит, &amp;lt;tex&amp;gt; A \in I &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раскрасим ребра из паросочетания, соответствующего &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; в синий цвет, а соответствующего &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится &amp;lt;tex&amp;gt; |B \setminus A| &amp;lt;/tex&amp;gt; ребер синего цвета, &amp;lt;tex&amp;gt; |A \setminus B| &amp;lt;/tex&amp;gt; ребер красного цвета, и будет выполняться соотношение &amp;lt;tex&amp;gt; |B \setminus A| &amp;gt; |A \setminus B|&amp;lt;/tex&amp;gt;. Рассмотрим подграф &amp;lt;tex&amp;gt; H &amp;lt;/tex&amp;gt;, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt;. Поменяем в &amp;lt;tex&amp;gt; H' &amp;lt;/tex&amp;gt; синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид &amp;lt;tex&amp;gt;A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x \in B \setminus A &amp;lt;/tex&amp;gt;. Что значит, что &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Универсальный матроид==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Универсальным матроидом (uniform matroid)''' называют объект &amp;lt;tex&amp;gt;U_n,_k = \langle X, I \rangle &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Универсальный матроид является матроидом.&lt;br /&gt;
|proof =&lt;br /&gt;
Проверим выполнение аксиом независимости:&lt;br /&gt;
&lt;br /&gt;
1) &amp;lt;tex&amp;gt;\varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;tex&amp;gt;A \subset B, B \in I \Rightarrow A \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left\vert A \right\vert \leqslant \left\vert B \right\vert \leqslant k \Rightarrow \left\vert A \right\vert \leqslant  k \Rightarrow A \in I &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert &amp;lt;/tex&amp;gt; и числа в каждом множестве различны, найдётся такое число &amp;lt;tex&amp;gt; x \in B &amp;lt;/tex&amp;gt;, которое не будет принадлежать меньшему по мощности множеству &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; A \cup \mathcal{f} x \mathcal {g} &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;\left\vert A \right\vert &amp;lt; \left\vert B \right\vert  \Rightarrow  \left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert = \left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert \leqslant k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I&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;
==Источники==&lt;br /&gt;
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)&lt;br /&gt;
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов]&lt;br /&gt;
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]]&lt;br /&gt;
*[[wikipedia:ru:Матроид | Википедия {{---}} Матроид]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Матроиды]]&lt;/div&gt;</summary>
		<author><name>Maryann</name></author>	</entry>

	</feed>