Примеры матроидов — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м
м
Строка 2: Строка 2:
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
Пусть <tex>V</tex> — векторное пространство над телом <tex>F</tex>, пусть набор векторов <tex>V_i = \mathcal{f} v_1,...,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)'''
 
}}  
 
}}  
Строка 18: Строка 18:
 
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.
 
Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.
  
3) <tex>| A | < | B | \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex>
+
3) <tex>\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</tex> такой, что множество векторов <tex>A \cup \mathcal{f} x \mathcal {g}</tex> — линейно зависимо. Значит, оно образует базис в пространстве векторов <tex>U</tex> "натянутом" на множество векторов <tex>A \cup B</tex>. Но тогда  <tex>| A \cup \mathcal{f} x \mathcal {g} | > | B | </tex>, так как мощность базиса больше мощности любого линейно-независимого множества, а <tex>B</tex> — линейно-независимо, а по условию <tex>| A | + 1 \leqslant | B | </tex>. Противоречие, значит предположение не верно и 3-е свойство тоже выполнено.
+
Пусть не так. Тогда <tex>\forall x \in B \setminus A</tex> такой, что множество векторов <tex>A \cup \mathcal{f} x \mathcal {g}</tex> — линейно зависимо. Значит, оно образует базис в пространстве векторов <tex>U</tex> "натянутом" на множество векторов <tex>A \cup B</tex>. Но тогда  <tex>\left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert > \left\vert B \right\vert </tex>, так как мощность базиса больше мощности любого линейно-независимого множества, а <tex>B</tex> — линейно-независимо, а по условию <tex>\left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert </tex>. Противоречие, значит предположение не верно и 3-е свойство тоже выполнено.
  
 
}}
 
}}
Строка 42: Строка 42:
 
Очевидно, что любой подграф леса, так же является лесом, а значит входит в <tex>I</tex> вследствие своей ацикличности.
 
Очевидно, что любой подграф леса, так же является лесом, а значит входит в <tex>I</tex> вследствие своей ацикличности.
  
3) <tex>| A | < | B | \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex>
+
3) <tex>\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> являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.
  
Допустим в <tex>B</tex> не существует ребра, соединяющего две различные компоненты связанности из <tex>G_A</tex>, значит любая компонента связанности из <tex>G_B</tex> целиком вершинно-входит в какую-либо компоненту из <tex>G_A</tex>. Рассмотрим любую компоненту связанности Q из <tex>G_A</tex>, у неё <tex>k</tex> вершин и <tex>k - 1</tex> рёбер. Теперь рассмотрим все компоненты связанности <tex>P_i</tex> из <tex>G_B</tex>, вершинно-входящие в <tex>Q</tex>, пусть их <tex>m</tex> штук, тогда суммарное количество рёбер из <tex>P_i</tex> равно <tex>k - m</tex>, что не превосходит <tex>k - 1</tex> (количество рёбер в <tex>Q</tex>). Просуммируем неравенство по всем компонентам связанности из <tex>G_A</tex> и получим  <tex>| A | \geqslant | B |</tex>, что противоречит условию. Значит предположение не верно, и в <tex>B</tex> существует искомое ребро <tex>x</tex> из разных компонент связанности <tex>G_B</tex>.
+
Допустим в <tex>B</tex> не существует ребра, соединяющего две различные компоненты связанности из <tex>G_A</tex>, значит любая компонента связанности из <tex>G_B</tex> целиком вершинно-входит в какую-либо компоненту из <tex>G_A</tex>. Рассмотрим любую компоненту связанности Q из <tex>G_A</tex>, у неё <tex>k</tex> вершин и <tex>k - 1</tex> рёбер. Теперь рассмотрим все компоненты связанности <tex>P_i</tex> из <tex>G_B</tex>, вершинно-входящие в <tex>Q</tex>, пусть их <tex>m</tex> штук, тогда суммарное количество рёбер из <tex>P_i</tex> равно <tex>k - m</tex>, что не превосходит <tex>k - 1</tex> (количество рёбер в <tex>Q</tex>). Просуммируем неравенство по всем компонентам связанности из <tex>G_A</tex> и получим  <tex>\left\vert A \right\vert \geqslant \left\vert B \right\vert</tex>, что противоречит условию. Значит предположение не верно, и в <tex>B</tex> существует искомое ребро <tex>x</tex> из разных компонент связанности <tex>G_B</tex>.
  
 
}}
 
}}
Строка 69: Строка 69:
 
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания <tex>M</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, которое обозначим за <tex>M'</tex>. И будет выполняться условие <tex> X \cap ends(M') = A </tex> , что значит, <tex> A \in I </tex>.
 
Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания <tex>M</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, которое обозначим за <tex>M'</tex>. И будет выполняться условие <tex> X \cap ends(M') = A </tex> , что значит, <tex> A \in I </tex>.
  
3) <tex>| A | < | B | \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex>
+
3) <tex>\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 \setminus A| </tex> ребер синего цвета, <tex> |A \setminus B| </tex> ребер красного цвета, и будет выполняться соотношение <tex> |B \setminus A| > |A \setminus B|</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>.
 
Раскрасим ребра из паросочетания, соответствующего <tex> B </tex> в синий цвет, а соответствующего <tex> A </tex> — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится <tex> |B \setminus A| </tex> ребер синего цвета, <tex> |A \setminus B| </tex> ребер красного цвета, и будет выполняться соотношение <tex> |B \setminus A| > |A \setminus B|</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)''' называют объект <tex>U_n,_k = \langle X, I \rangle </tex>, где <tex>X = \{1, 2, 3, ..., n\}, I = \mathcal{f} A \subset X |  | A | \leqslant k\}</tex>
+
'''Универсальным матроидом (uniform matroid)''' называют объект <tex>U_n,_k = \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>
 
}}
 
}}
  
Строка 87: Строка 87:
 
1) <tex>\varnothing \in I</tex>
 
1) <tex>\varnothing \in I</tex>
  
<tex> | \varnothing | = 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> | A | \leqslant | B | \leqslant k \Rightarrow | A | \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 | < | B | \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I</tex>
+
3) <tex>\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 | < | B | </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>.
Рассмотрим <tex> A \cup \mathcal{f} x \mathcal {g} </tex>. <tex>| A | < | B | \Rightarrow  | A \cup \mathcal{f} x \mathcal {g} | = | A | + 1 \leq | B | \leq k  \Rightarrow  A \cup \mathcal{f} x \mathcal {g} \in I</tex>
+
Рассмотрим <tex> A \cup \mathcal{f} x \mathcal {g} </tex>. <tex>\left\vert A \right\vert < \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</tex>
  
 
}}
 
}}

Версия 21:34, 5 июня 2014

Матричный матроид

Определение:
Пусть [math]V[/math] — векторное пространство над телом [math]F[/math], пусть набор векторов [math]V_i = \mathcal{f} v_1,\dots,v_n\mathcal {g}[/math] из пространства [math]V[/math] является носителем [math]X[/math]. Элементами независимого множества [math]I[/math] данного матроида являются множества линейно-независимых векторов из набора [math]v_ 1,\dots,v_n[/math]. Тогда [math]M = \langle V_i, I \rangle [/math], называется матричным матроидом (vector matroid)
Лемма:
Матричный матроид является матроидом.
Доказательство:
[math]\triangleright[/math]

Проверим выполнение аксиом независимости:

1) [math]\varnothing \in I[/math]

Множество в котором нет векторов является линейно-независимым.

2) [math]A \subset B, B \in I \Rightarrow A \in I[/math]

Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым.

3) [math]\left\vert A \right\vert \lt \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I[/math]

Пусть не так. Тогда [math]\forall x \in B \setminus A[/math] такой, что множество векторов [math]A \cup \mathcal{f} x \mathcal {g}[/math] — линейно зависимо. Значит, оно образует базис в пространстве векторов [math]U[/math] "натянутом" на множество векторов [math]A \cup B[/math]. Но тогда [math]\left\vert A \cup \mathcal{f} x \mathcal {g} \right\vert \gt \left\vert B \right\vert [/math], так как мощность базиса больше мощности любого линейно-независимого множества, а [math]B[/math] — линейно-независимо, а по условию [math]\left\vert A \right\vert + 1 \leqslant \left\vert B \right\vert [/math]. Противоречие, значит предположение не верно и 3-е свойство тоже выполнено.
[math]\triangleleft[/math]

Графовый матроид

Определение:
Пусть [math]G = \langle V, E \rangle[/math] — неориентированный граф. Тогда [math]M = \langle E, I \rangle [/math], где [math]I[/math] состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют графовым (графическим) матроидом (graphic matroid).
Лемма:
Графовый матроид является матроидом.
Доказательство:
[math]\triangleright[/math]

Проверим выполнение аксиом независимости:

1) [math]\varnothing \in I[/math]

Пустое множество является ациклическим, а значит входит в [math]I[/math].

2) [math]A \subset B, B \in I \Rightarrow A \in I[/math]

Очевидно, что любой подграф леса, так же является лесом, а значит входит в [math]I[/math] вследствие своей ацикличности.

3) [math]\left\vert A \right\vert \lt \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I[/math]

В графе [math]G_A = \langle V, A \rangle [/math] как минимум две компоненты связанности, иначе [math]G_A[/math] являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью.

Допустим в [math]B[/math] не существует ребра, соединяющего две различные компоненты связанности из [math]G_A[/math], значит любая компонента связанности из [math]G_B[/math] целиком вершинно-входит в какую-либо компоненту из [math]G_A[/math]. Рассмотрим любую компоненту связанности Q из [math]G_A[/math], у неё [math]k[/math] вершин и [math]k - 1[/math] рёбер. Теперь рассмотрим все компоненты связанности [math]P_i[/math] из [math]G_B[/math], вершинно-входящие в [math]Q[/math], пусть их [math]m[/math] штук, тогда суммарное количество рёбер из [math]P_i[/math] равно [math]k - m[/math], что не превосходит [math]k - 1[/math] (количество рёбер в [math]Q[/math]). Просуммируем неравенство по всем компонентам связанности из [math]G_A[/math] и получим [math]\left\vert A \right\vert \geqslant \left\vert B \right\vert[/math], что противоречит условию. Значит предположение не верно, и в [math]B[/math] существует искомое ребро [math]x[/math] из разных компонент связанности [math]G_B[/math].
[math]\triangleleft[/math]

Трансверсальный матроид

Определение:
Пусть [math]G = \langle X, Y, E \rangle[/math] — двудольный граф. Тогда [math]M = \langle X, I = \mathcal{f} A \subset X \mid \exists [/math] паросочетание [math] M: X \cap ends(M) = A \mathcal {g} \rangle [/math] называют трансверсальным матроидом (transversal matroid).


Лемма:
Трансверсальный матроид является матроидом.
Доказательство:
[math]\triangleright[/math]

Проверим выполнение аксиом независимости:

1) [math]\varnothing \in I[/math]

Пустое паросочетание удовлетворяет условию.

2) [math]A \subset B, B \in I \Rightarrow A \in I[/math]

Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания [math]M[/math] ребра, концами которых являются вершины из множества [math]B \setminus A[/math]. Оставшееся множество ребер будет являться паросочетанием, которое обозначим за [math]M'[/math]. И будет выполняться условие [math] X \cap ends(M') = A [/math] , что значит, [math] A \in I [/math].

3) [math]\left\vert A \right\vert \lt \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I[/math]

Раскрасим ребра из паросочетания, соответствующего [math] B [/math] в синий цвет, а соответствующего [math] A [/math] — в красный. Причем ребра, соответствующие двум паросочетаниям, будут окрашены в пурпурный цвет. Таким образом, получится [math] |B \setminus A| [/math] ребер синего цвета, [math] |A \setminus B| [/math] ребер красного цвета, и будет выполняться соотношение [math] |B \setminus A| \gt |A \setminus B|[/math]. Рассмотрим подграф [math] H [/math], индуцированный красными и синими ребрами из исходного графа. Каждая вершина соответствует либо двум ребрам — синему и красному, либо одному — синему или красному. Любая компонента связности представляет собой либо путь, либо цикл, состоящий из чередующихся красных и синих ребер. Так как граф двудольный, любой цикл состоит из четного числа ребер. Так как синих ребер больше, чем красных, то должен существовать путь, начинающийся и оканчивающийся синим ребром. Обозначим этот путь [math] H' [/math]. Поменяем в [math] H' [/math] синий и красный цвета. Получаем, что ребра, окрашенные в красный и пурпурный цвета образуют паросочетание в графе. Очевидно, что подмножество соответствующее этому новому паросочетанию имеет вид [math]A \cup \mathcal{f} x \mathcal {g} [/math], где [math] x \in B \setminus A [/math]. Что значит, что [math] A \cup \mathcal{f} x \mathcal {g} \in I[/math].
[math]\triangleleft[/math]

Универсальный матроид

Определение:
Универсальным матроидом (uniform matroid) называют объект [math]U_n,_k = \langle X, I \rangle [/math], где [math]X = \{1, 2, 3, \dots, n\}, I = \mathcal{f} A \subset X \mid \left\vert A \right\vert \leqslant k\}[/math]


Лемма:
Универсальный матроид является матроидом.
Доказательство:
[math]\triangleright[/math]

Проверим выполнение аксиом независимости:

1) [math]\varnothing \in I[/math]

[math] \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I[/math]

2) [math]A \subset B, B \in I \Rightarrow A \in I[/math]

[math] \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 [/math]

3) [math]\left\vert A \right\vert \lt \left\vert B \right\vert \Rightarrow \mathcal {9} x \in B \setminus A, A \cup \mathcal{f} x \mathcal {g} \in I[/math]

Так как [math]\left\vert A \right\vert \lt \left\vert B \right\vert [/math] и числа в каждом множестве различны, найдётся такое число [math] x \in B [/math], которое не будет принадлежать меньшему по мощности множеству [math] A [/math].

Рассмотрим [math] A \cup \mathcal{f} x \mathcal {g} [/math]. [math]\left\vert A \right\vert \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[/math]
[math]\triangleleft[/math]

См. также

Источники