Примеры матроидов — различия между версиями
Shersh (обсуждение | вклад) (→Бинарный матроид) |
Maryann (обсуждение | вклад) |
||
| Строка 2: | Строка 2: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Пусть <tex>V</tex> {{---}} векторное пространство над телом <tex>F</tex>, пусть набор векторов <tex>V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}</tex> из пространства <tex>V</tex> является носителем <tex>X</tex>. Элементами независимого множества <tex>I</tex> данного матроида являются множества линейно-независимых векторов из набора <tex>v_ 1,\dots,v_n</tex>. | + | Пусть <tex>V</tex> {{---}} векторное пространство над телом <tex>F</tex>, пусть набор векторов <tex>V_i = \mathcal{f} v_1, \ \dots, \ v_n\mathcal {g}</tex> из пространства <tex>V</tex> является носителем <tex>X</tex>. Элементами независимого множества <tex>I</tex> данного матроида являются множества линейно-независимых векторов из набора <tex>v_ 1, \ \dots, \ v_n</tex>. |
| − | Тогда <tex>M = \langle V_i, I \rangle </tex>, называется '''матричным матроидом (vector matroid | + | Тогда <tex>M = \langle V_i, I \rangle </tex>, называется '''матричным матроидом''' (англ. ''vector matroid'') |
}} | }} | ||
| − | {{ | + | {{Утверждение |
|statement = Матричный матроид является матроидом. | |statement = Матричный матроид является матроидом. | ||
|proof = | |proof = | ||
| Строка 14: | Строка 14: | ||
Множество в котором нет векторов является линейно-независимым. | Множество в котором нет векторов является линейно-независимым. | ||
| − | 2) <tex>A \subset B, B \in I \Rightarrow A \in I</tex> | + | 2) <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex> |
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым. | Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым. | ||
| − | 3) <tex>A \in I, B \in I, \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex> | + | 3) <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I</tex> |
| − | Так как <tex>A \in I | + | Так как <tex>A \in I</tex>, то <tex>\dim \mathcal{L}(A) = \left\vert A \right\vert</tex>. По условию <tex>\left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \exists x \in B: x \notin \mathcal{L}(A)</tex>, то есть <tex>x \notin A</tex>. Тогда множество <tex> A \cup \mathcal{f} x \mathcal {g}</tex> линейно-независимо по определению линейной оболочки. |
}} | }} | ||
| Строка 27: | Строка 27: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Пусть <tex>G = \langle V, E \rangle</tex> | + | Пусть <tex>G = \langle V, E \rangle</tex> {{---}} неориентированный граф. Тогда <tex>M = \langle E, I \rangle </tex>, где <tex>I</tex> состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют '''графовым (графическим) матроидом''' (англ. ''graphic matroid''). |
}} | }} | ||
| − | {{ | + | {{Утверждение |
|statement = Графовый матроид является матроидом. | |statement = Графовый матроид является матроидом. | ||
|proof = | |proof = | ||
| Строка 38: | Строка 38: | ||
Пустое множество является ациклическим, а значит входит в <tex>I</tex>. | Пустое множество является ациклическим, а значит входит в <tex>I</tex>. | ||
| − | 2) <tex>A \subset B, B \in I \Rightarrow A \in I</tex> | + | 2) <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex> |
Очевидно, что любой подграф леса, так же является лесом, а значит входит в <tex>I</tex> вследствие своей ацикличности. | Очевидно, что любой подграф леса, так же является лесом, а значит входит в <tex>I</tex> вследствие своей ацикличности. | ||
| − | 3) <tex>A \in I, B \in I, \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex> | + | 3) <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I</tex> |
В графе <tex>G_A = \langle V, A \rangle </tex> как минимум две компоненты связанности, иначе <tex>G_A</tex> являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью. | В графе <tex>G_A = \langle V, A \rangle </tex> как минимум две компоненты связанности, иначе <tex>G_A</tex> являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью. | ||
| Строка 53: | Строка 53: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Пусть <tex>G = \langle X, Y, E \rangle</tex> | + | Пусть <tex>G = \langle X, Y, E \rangle</tex> {{---}} двудольный граф. <tex>I = \mathcal{f} A \subset X \mid \exists </tex> паросочетание <tex> P</tex>, покрывающее <tex>A \mathcal {g} </tex>. Тогда <tex>M = \langle X, I \rangle </tex> называют '''трансверсальным матроидом''' (англ. ''transversal matroid''). |
}} | }} | ||
| − | {{ | + | {{Утверждение |
|statement = Трансверсальный матроид является матроидом. | |statement = Трансверсальный матроид является матроидом. | ||
|proof = | |proof = | ||
| Строка 65: | Строка 65: | ||
Пустое паросочетание удовлетворяет условию. | Пустое паросочетание удовлетворяет условию. | ||
| − | 2) <tex>A \subset B, B \in I \Rightarrow A \in I</tex> | + | 2) <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex> |
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания <tex>P</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, покрывающим <tex>A</tex>. Значит <tex> A \in I </tex>. | Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания <tex>P</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, покрывающим <tex>A</tex>. Значит <tex> A \in I </tex>. | ||
| − | 3) <tex>A \in I, B \in I, \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex> | + | 3) <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I</tex> |
| − | Раскрасим ребра из паросочетания, соответствующего <tex> B </tex> в синий цвет, а соответствующего <tex> A </tex> | + | Раскрасим ребра из паросочетания, соответствующего <tex> B </tex> в синий цвет, а соответствующего <tex> A </tex> {{---}} в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится <tex> \left\vert B \setminus A \right\vert </tex> ребер синего цвета, <tex> \left\vert A \setminus B \right\vert </tex> ребер красного цвета, и будет выполняться соотношение <tex> \left\vert B \setminus A \right\vert > \left\vert A \setminus B \right\vert</tex>. Рассмотрим подграф <tex> H </tex>, индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам {{---}} синему и красному, либо одному {{---}} синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь <tex> H' </tex>. Поменяем в <tex> H' </tex> синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид <tex>A \cup \mathcal{f} x \mathcal {g} </tex>, где <tex> x \in B \setminus A </tex>. Что значит, что <tex> A \cup \mathcal{f} x \mathcal {g} \in I</tex>. |
}} | }} | ||
| Строка 77: | Строка 77: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | '''Универсальным матроидом (uniform matroid | + | '''Универсальным матроидом''' (англ. ''uniform matroid'') называют объект <tex>U_{nk} = \langle X, I \rangle </tex>, где <tex>X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}</tex> |
}} | }} | ||
| − | {{ | + | {{Утверждение |
|statement = Универсальный матроид является матроидом. | |statement = Универсальный матроид является матроидом. | ||
|proof = | |proof = | ||
| Строка 89: | Строка 89: | ||
<tex> \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I</tex> | <tex> \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I</tex> | ||
| − | 2) <tex>A \subset B, B \in I \Rightarrow A \in I</tex> | + | 2) <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex> |
<tex> \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 </tex> | <tex> \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 </tex> | ||
| − | 3) <tex>A \in I, B \in I, \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex> | + | 3) <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I</tex> |
Так как <tex>\left\vert A \right\vert < \left\vert B \right\vert </tex> и числа в каждом множестве различны, найдётся такое число <tex> x \in B </tex>, которое не будет принадлежать меньшему по мощности множеству <tex> A </tex>. | Так как <tex>\left\vert A \right\vert < \left\vert B \right\vert </tex> и числа в каждом множестве различны, найдётся такое число <tex> x \in B </tex>, которое не будет принадлежать меньшему по мощности множеству <tex> A </tex>. | ||
| Строка 103: | Строка 103: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Пусть <tex>X = \bigcup\limits_{i=_1}^n X_i</tex>, при этом <tex> X_i \cap X_j = 0</tex>, <tex>\forall i \neq j | + | Пусть <tex>X = \bigcup\limits_{i=_1}^n X_i</tex>, при этом <tex> X_i \cap X_j = 0</tex>, <tex>\forall i \neq j</tex>, и <tex>k_1 \dots k_n</tex> {{---}} положительные целые числа. <tex>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}</tex>. Тогда <tex>M = \langle X, I \rangle </tex> называют '''матроидом разбиений''' (англ. ''partition matroid'') |
}} | }} | ||
| − | {{ | + | {{Утверждение |
|statement = Матроид разбиений является матроидом. | |statement = Матроид разбиений является матроидом. | ||
|proof = | |proof = | ||
| Строка 115: | Строка 115: | ||
<tex>\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I</tex> | <tex>\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I</tex> | ||
| − | 2) <tex>A \subset B, B \in I \Rightarrow A \in I</tex> | + | 2) <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex> |
| − | <tex>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</tex> | + | <tex>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</tex> |
| − | 3) <tex>A \in I, B \in I, \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex> | + | 3) <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I</tex> |
| − | Пусть <tex>\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 > k_j</tex>, но так как <tex>A \in I</tex>, то есть <tex> \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j</tex> и <tex>x \in X_j</tex>. Из последнего следует, что <tex>\left\vert B \setminus A \right\vert \subset X_j</tex>. | + | Пусть <tex>\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 > k_j</tex>, но так как <tex>A \in I</tex>, то есть <tex> \left\vert A \cap X_j \right\vert \leqslant k_j \Rightarrow \left\vert A \cap X_j \right\vert = k_j</tex> и <tex>x \in X_j</tex>. Из последнего следует, что <tex>\left\vert B \setminus A \right\vert \subset X_j</tex>. |
<tex>\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j</tex>, а <tex>\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</tex>. Так как <tex>\left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert < \left\vert B \setminus A \right\vert</tex>, тогда <tex>\left\vert B \cap X_j \right\vert > k_j</tex>, но <tex>B \in I</tex>, противоречие. | <tex>\left\vert A \cap X_j \right\vert = \left\vert ((A \cap B) \cup (B \setminus A)) \cap X_j \right\vert = k_j</tex>, а <tex>\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</tex>. Так как <tex>\left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \left\vert A \setminus B \right\vert < \left\vert B \setminus A \right\vert</tex>, тогда <tex>\left\vert B \cap X_j \right\vert > k_j</tex>, но <tex>B \in I</tex>, противоречие. | ||
| Строка 131: | Строка 131: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Пусть <tex>G = \langle V, E \rangle</tex> | + | Пусть <tex>G = \langle V, E \rangle</tex> {{---}} неориентированный граф. <tex>I = \mathcal{f} A \subset V \mid \exists</tex> паросочетание <tex>P</tex>, покрывающее <tex>A \mathcal {g}</tex>. Тогда <tex>M = \langle V, I \rangle </tex> называют '''матроидом паросочетаний''' (англ. ''matching matroid''). |
}} | }} | ||
| − | {{ | + | {{Утверждение |
|statement = Матроид паросочетаний является матроидом. | |statement = Матроид паросочетаний является матроидом. | ||
|proof = | |proof = | ||
| Строка 142: | Строка 142: | ||
Пустое паросочетание удовлетворяет условию. | Пустое паросочетание удовлетворяет условию. | ||
| − | 2) <tex>A \subset B, B \in I \Rightarrow A \in I</tex> | + | 2) <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex> |
Удалим из исходного паросочетания <tex>P</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, покрывающим <tex>A</tex>. Значит <tex>A \in I</tex>. | Удалим из исходного паросочетания <tex>P</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, покрывающим <tex>A</tex>. Значит <tex>A \in I</tex>. | ||
| − | 3) <tex>A \in I, B \in I, \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex> | + | 3) <tex>A \in I, \ B \in I, \ \left\vert A \right\vert < \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, \ A \cup \mathcal{f} x \mathcal {g} \in I</tex> |
| − | Пусть паросочетание <tex>P_A</tex> покрывает множество <tex>A</tex>, <tex>P_B</tex> | + | Пусть паросочетание <tex>P_A</tex> покрывает множество <tex>A</tex>, <tex>P_B</tex> {{---}} множество <tex>B</tex>. |
Все вершины, принадлежащие <tex>A \cap B</tex> покроем ребрами из паросочетания <tex>P_B</tex>. | Все вершины, принадлежащие <tex>A \cap B</tex> покроем ребрами из паросочетания <tex>P_B</tex>. | ||
| Строка 154: | Строка 154: | ||
Рассмотрим три возможных случая: | Рассмотрим три возможных случая: | ||
| − | * <tex>\exists xy \in P_A, y \in A \Rightarrow P_A</tex> покрывает <tex>A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I</tex> | + | * <tex>\exists xy \in P_A, \ y \in A \Rightarrow P_A</tex> покрывает <tex>A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal {g} \in I</tex> |
* <tex>\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A</tex>. Мы можем добавить в <tex>A</tex> вершину <tex>x</tex> (или <tex>y</tex>), а в <tex>P_A</tex> ребро <tex>xy</tex>. Тогда паросочетание <tex>P_A \cup xy</tex> покрывает <tex>A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I</tex> | * <tex>\exists xy: y \in B \setminus A \Rightarrow xy \notin P_A</tex>. Мы можем добавить в <tex>A</tex> вершину <tex>x</tex> (или <tex>y</tex>), а в <tex>P_A</tex> ребро <tex>xy</tex>. Тогда паросочетание <tex>P_A \cup xy</tex> покрывает <tex>A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I</tex> | ||
| − | *Если первые два случая не выполнились, значит <tex>\forall x \in B \setminus A</tex> <tex>\exists y \notin A, \notin B: \exists xy \in P_B</tex>. Обозначим множество таких <tex>y</tex> за <tex>C, \left\vert C \right\vert = \left\vert B \setminus A \right\vert > \left\vert A \setminus B \right\vert</tex>. Таким образом в <tex>C</tex> найдется хотя бы одна вершина <tex>y</tex>, не покрытая паросочетанием <tex>P_A</tex>. Тогда паросочетание <tex>P_A \cup xy</tex> покрывает <tex>A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I</tex> | + | *Если первые два случая не выполнились, значит <tex>\forall x \in B \setminus A</tex> <tex>\exists y \notin A, \ \notin B: \exists xy \in P_B</tex>. Обозначим множество таких <tex>y</tex> за <tex>C, \ \left\vert C \right\vert = \left\vert B \setminus A \right\vert > \left\vert A \setminus B \right\vert</tex>. Таким образом в <tex>C</tex> найдется хотя бы одна вершина <tex>y</tex>, не покрытая паросочетанием <tex>P_A</tex>. Тогда паросочетание <tex>P_A \cup xy</tex> покрывает <tex>A \cup \mathcal{f} x \mathcal {g} \Rightarrow A \cup \mathcal{f} x \mathcal{g} \in I</tex> |
}} | }} | ||
| Строка 163: | Строка 163: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Матроид <tex>M</tex> | + | Матроид <tex>M</tex> '''представим над полем <tex>F</tex>''', если он [[Определение матроида| изоморфен]] некоторому векторному матроиду над этим полем. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | '''Бинарный матроид (binary matroid | + | '''Бинарный матроид''' (англ. ''binary matroid'') {{---}} матроид, представимый над полем целых чисел по модулю <tex>2</tex>. |
}} | }} | ||
Например, графовый матроид является бинарным. | Например, графовый матроид является бинарным. | ||
| − | Составим матрицу инцидентности <tex>A = (a_{ij})</tex> для графа <tex>G = \langle V, E \rangle</tex>. Строки этой матрицы соответствуют вершинам графа, а столбцы | + | Составим матрицу инцидентности <tex>A = (a_{ij})</tex> для графа <tex>G = \langle V, E \rangle</tex>. Строки этой матрицы соответствуют вершинам графа, а столбцы {{---}} ребрам. |
* Если <tex>j</tex>-ое ребро есть петля, инцидентная <tex>i</tex>-ой вершине, то <tex>a_{ij} = 0</tex>. | * Если <tex>j</tex>-ое ребро есть петля, инцидентная <tex>i</tex>-ой вершине, то <tex>a_{ij} = 0</tex>. | ||
* Если <tex>i</tex>-ая вершина инцидентна <tex>j</tex>-ому ребру, то <tex>a_{ij} = 1</tex> | * Если <tex>i</tex>-ая вершина инцидентна <tex>j</tex>-ому ребру, то <tex>a_{ij} = 1</tex> | ||
| Строка 190: | Строка 190: | ||
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов. | Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов. | ||
| − | Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы <tex>A</tex> содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю 2 указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов. | + | Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы <tex>A</tex> содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю <tex>2</tex> указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов. |
| − | == | + | ==Другие матроиды== |
| + | Несложно доказать, что следующие конструкции тоже являются матроидами. | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Пусть <tex>M = \langle X, I\rangle</tex> | + | '''Матроид с выкинутым элементом'''. Пусть <tex>M = \langle X, I\rangle</tex> {{---}} матроид. Определим <tex>M\setminus x = \langle X \setminus x, \ \{A | A \in I, \ x \not\in A\}\rangle</tex>. Для любых <tex>M</tex> и <tex>x</tex> получившаяся конструкция <tex>M\setminus x</tex> является матроидом. |
}} | }} | ||
| − | |||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Пусть <tex>M = \langle X, I\rangle</tex> | + | '''Матроид, стянутый по элементу'''. Пусть <tex>M = \langle X, I\rangle</tex> {{---}} матроид. Определим <tex>M/x = \langle X \setminus x, \ \{A \setminus x | A \in I, \ x \in A\}\rangle</tex>. Для любых <tex>M</tex> и <tex>x</tex>, таких что <tex>\{x\}\in I,</tex> получившаяся конструкция <tex>M/x</tex> является матроидом. |
}} | }} | ||
| − | |||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Пусть <tex>M = \langle X, I \rangle</tex> | + | Пусть <tex>M = \langle X, I \rangle</tex> {{---}} матроид. Обозначим как <tex>M|_k</tex> следующую констркуцию: <tex>M|_k = \langle X, \ \{A | A \in I, \ |A| \le k \}\rangle</tex>, тогда <tex>M|_k</tex> называют '''урезанным матроидом'''. |
}} | }} | ||
| Строка 217: | Строка 216: | ||
==Источники== | ==Источники== | ||
| − | * Асанов М. О., Баранский В. А., Расин В. В. | + | * Асанов М. О., Баранский В. А., Расин В. В. {{---}} Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды) |
| − | * Уилсон Р. | + | * Уилсон Р. {{---}} Введение в теорию графов (глава 9. Теория матроидов) |
* [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов] | * [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Примеры матроидов] | ||
*[[wikipedia:Matroid | Wikipedia {{---}} Matroid]] | *[[wikipedia:Matroid | Wikipedia {{---}} Matroid]] | ||
Версия 21:30, 11 июня 2014
Содержание
Матричный матроид
| Определение: |
| Пусть — векторное пространство над телом , пусть набор векторов из пространства является носителем . Элементами независимого множества данного матроида являются множества линейно-независимых векторов из набора . Тогда , называется матричным матроидом (англ. vector matroid) |
| Утверждение: |
Матричный матроид является матроидом. |
|
Проверим выполнение аксиом независимости: 1) Множество в котором нет векторов является линейно-независимым. 2) Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым. 3) Так как , то . По условию , то есть . Тогда множество линейно-независимо по определению линейной оболочки. |
Графовый матроид
| Определение: |
| Пусть — неориентированный граф. Тогда , где состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют графовым (графическим) матроидом (англ. graphic matroid). |
| Утверждение: |
Графовый матроид является матроидом. |
|
Проверим выполнение аксиом независимости: 1) Пустое множество является ациклическим, а значит входит в . 2) Очевидно, что любой подграф леса, так же является лесом, а значит входит в вследствие своей ацикличности. 3) В графе как минимум две компоненты связанности, иначе являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью. Допустим в не существует ребра, соединяющего две различные компоненты связанности из , значит любая компонента связанности из целиком вершинно-входит в какую-либо компоненту из . Рассмотрим любую компоненту связанности Q из , у неё вершин и рёбер. Теперь рассмотрим все компоненты связанности из , вершинно-входящие в , пусть их штук, тогда суммарное количество рёбер из равно , что не превосходит (количество рёбер в ). Просуммируем неравенство по всем компонентам связанности из и получим , что противоречит условию. Значит предположение не верно, и в существует искомое ребро из разных компонент связанности . |
Трансверсальный матроид
| Определение: |
| Пусть — двудольный граф. паросочетание , покрывающее . Тогда называют трансверсальным матроидом (англ. transversal matroid). |
| Утверждение: |
Трансверсальный матроид является матроидом. |
|
Проверим выполнение аксиом независимости: 1) Пустое паросочетание удовлетворяет условию. 2) Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания ребра, концами которых являются вершины из множества . Оставшееся множество ребер будет являться паросочетанием, покрывающим . Значит . 3) Раскрасим ребра из паросочетания, соответствующего в синий цвет, а соответствующего — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится ребер синего цвета, ребер красного цвета, и будет выполняться соотношение . Рассмотрим подграф , индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь . Поменяем в синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид , где . Что значит, что . |
Универсальный матроид
| Определение: |
| Универсальным матроидом (англ. uniform matroid) называют объект , где |
| Утверждение: |
Универсальный матроид является матроидом. |
|
Проверим выполнение аксиом независимости: 1)
2)
3) Так как и числа в каждом множестве различны, найдётся такое число , которое не будет принадлежать меньшему по мощности множеству . Рассмотрим . |
Матроид разбиений
| Определение: |
| Пусть , при этом , , и — положительные целые числа. . Тогда называют матроидом разбиений (англ. partition matroid) |
| Утверждение: |
Матроид разбиений является матроидом. |
|
Проверим выполнение аксиом независимости: 1)
2)
3) Пусть , но так как , то есть и . Из последнего следует, что . , а . Так как , тогда , но , противоречие. |
Матроид паросочетаний
| Определение: |
| Пусть — неориентированный граф. паросочетание , покрывающее . Тогда называют матроидом паросочетаний (англ. matching matroid). |
| Утверждение: |
Матроид паросочетаний является матроидом. |
|
Проверим выполнение аксиом независимости: 1) Пустое паросочетание удовлетворяет условию. 2) Удалим из исходного паросочетания ребра, концами которых являются вершины из множества . Оставшееся множество ребер будет являться паросочетанием, покрывающим . Значит . 3) Пусть паросочетание покрывает множество , — множество . Все вершины, принадлежащие покроем ребрами из паросочетания . Так как Рассмотрим три возможных случая:
|
Бинарный матроид
| Определение: |
| Матроид представим над полем , если он изоморфен некоторому векторному матроиду над этим полем. |
| Определение: |
| Бинарный матроид (англ. binary matroid) — матроид, представимый над полем целых чисел по модулю . |
Например, графовый матроид является бинарным.
Составим матрицу инцидентности для графа . Строки этой матрицы соответствуют вершинам графа, а столбцы — ребрам.
- Если -ое ребро есть петля, инцидентная -ой вершине, то .
- Если -ая вершина инцидентна -ому ребру, то
- Иначе
Необходимо доказать, что если мы возьмем множество ребер , то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа содержат цикл.
Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл.
Если некоторые столбцы матрицы линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:
1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл.
2) У нас есть столбец , который является суммой остальных столбцов. Этому столбцу соответствует ребро . Начнем с вершины переходить по другим ребрам из (по каждому ребру проходим только один раз), в итоге мы придем в вершину , так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце была бы единица (а единицы у нас только на позициях u и v). Таким образом мы показали, что существует два пути между вершинами 7 и (тот который мы построили и путь по ребру ), значит в выбранном множестве ребер есть цикл.
Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов.
Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов. Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов.
Другие матроиды
Несложно доказать, что следующие конструкции тоже являются матроидами.
| Определение: |
| Матроид с выкинутым элементом. Пусть — матроид. Определим . Для любых и получившаяся конструкция является матроидом. |
| Определение: |
| Матроид, стянутый по элементу. Пусть — матроид. Определим . Для любых и , таких что получившаяся конструкция является матроидом. |
| Определение: |
| Пусть — матроид. Обозначим как следующую констркуцию: , тогда называют урезанным матроидом. |
См. также
Источники
- Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)
- Уилсон Р. — Введение в теорию графов (глава 9. Теория матроидов)
- Примеры матроидов
- Wikipedia — Matroid
- Википедия — Матроид