Примеры матроидов — различия между версиями
(→Разноцветный матроид) |
|||
Строка 28: | Строка 28: | ||
Проверим выполнение аксиом независимости: | Проверим выполнение аксиом независимости: | ||
− | + | # <tex>\varnothing \in I</tex><br><tex> \left\vert \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I</tex> | |
− | + | # <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex><br><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 \varnothing \right\vert = 0 \leqslant k \Rightarrow \varnothing \in I</tex> | + | # <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><br>Так как <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 \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 < \left\vert B \right\vert </tex> и числа в каждом множестве различны, найдётся такое число <tex> x \in B </tex>, которое не будет принадлежать меньшему по мощности множеству <tex> A </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> | Рассмотрим <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> | ||
}} | }} | ||
Строка 53: | Строка 45: | ||
Проверим выполнение аксиом независимости: | Проверим выполнение аксиом независимости: | ||
− | + | # <tex>\varnothing \in I</tex><br>Пустое множество является ациклическим, а значит входит в <tex>I</tex>. | |
− | + | # <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex><br>Очевидно, что любой подграф леса, так же является лесом, а значит входит в <tex>I</tex> вследствие своей ацикличности. | |
− | Пустое множество является ациклическим, а значит входит в <tex>I</tex>. | + | # <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><br>В графе <tex>G_A = \langle V, A \rangle </tex> как минимум две компоненты связанности, иначе <tex>G_A</tex> являлся бы остовным деревом и не существовало бы ациклического множества с большей мощностью. |
− | |||
− | |||
− | |||
− | Очевидно, что любой подграф леса, так же является лесом, а значит входит в <tex>I</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>. Рассмотрим любую компоненту связанности <tex>Q</tex> из <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>. | Допустим в <tex>B</tex> не существует ребра, соединяющего две различные компоненты связанности из <tex>G_A</tex>, значит любая компонента связанности из <tex>G_B</tex> целиком вершинно-входит в какую-либо компоненту из <tex>G_A</tex>. Рассмотрим любую компоненту связанности <tex>Q</tex> из <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>. | ||
Строка 80: | Строка 64: | ||
Проверим выполнение аксиом независимости: | Проверим выполнение аксиом независимости: | ||
− | + | # <tex>\varnothing \in I</tex><br>Множество в котором нет векторов является линейно-независимым. | |
− | + | # <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex><br>Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым. | |
− | Множество в котором нет векторов является линейно-независимым. | + | # <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><br>Так как <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> линейно-независимо по определению линейной оболочки. |
− | |||
− | |||
− | |||
− | Если из набора линейно-независимых векторов убрать некоторые, то этот набор не станет зависимым. | ||
− | |||
− | |||
− | |||
− | Так как <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> линейно-независимо по определению линейной оболочки. | ||
}} | }} | ||
Строка 104: | Строка 80: | ||
Проверим выполнение аксиом независимости: | Проверим выполнение аксиом независимости: | ||
− | + | # <tex>\varnothing \in I</tex><br>Пустое паросочетание удовлетворяет условию. | |
− | + | # <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex><br>Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания <tex>P</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, покрывающим <tex>A</tex>. Значит <tex> A \in I </tex>. | |
− | Пустое паросочетание удовлетворяет условию. | + | # <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><br>Раскрасим ребра из паросочетания, соответствующего <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>. |
− | |||
− | |||
− | |||
− | Подмножество паросочетания также является паросочетанием. Удалим из исходного паросочетания <tex>P</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, покрывающим <tex>A</tex>. Значит <tex> A \in I </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>. | ||
}} | }} | ||
Строка 128: | Строка 96: | ||
Проверим выполнение аксиом независимости: | Проверим выполнение аксиом независимости: | ||
− | + | # <tex>\varnothing \in I</tex><br>Пустое паросочетание удовлетворяет условию. | |
− | + | # <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex><br>Удалим из исходного паросочетания <tex>P</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, покрывающим <tex>A</tex>. Значит <tex>A \in I</tex>. | |
− | Пустое паросочетание удовлетворяет условию. | + | # <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><br>Пусть паросочетание <tex>P_A</tex> покрывает множество <tex>A</tex>, <tex>P_B</tex> {{---}} множество <tex>B</tex>. |
− | |||
− | |||
− | |||
− | Удалим из исходного паросочетания <tex>P</tex> ребра, концами которых являются вершины из множества <tex>B \setminus A</tex>. Оставшееся множество ребер будет являться паросочетанием, покрывающим <tex>A</tex>. Значит <tex>A \in I</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>. | ||
Строка 160: | Строка 120: | ||
Проверим выполнение аксиом независимости: | Проверим выполнение аксиом независимости: | ||
− | + | # <tex>\varnothing \in I</tex><br><tex>\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I</tex> | |
− | + | # <tex>A \subset B, \ B \in I \Rightarrow A \in I</tex><br><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>\left\vert \varnothing \cap X_i \right\vert = 0 \leqslant k_i \Rightarrow \varnothing \in I</tex> | + | # <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><br>Пусть <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>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>\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>, противоречие. |
Версия 23:35, 12 июня 2015
Содержание
Разноцветный матроид
Определение: |
Пусть | — множество элементов, каждый из которых раскрашен в некоторый цвет. Множество , если все элементы множества разного цвета. Тогда называется разноцветным матроидом (англ. multicolored matroid).
Утверждение: |
Разноцветный матроид является матроидом. |
Докажем аксиомы независимости для .
|
Универсальный матроид
Определение: |
Универсальным матроидом (англ. uniform matroid) называют объект | , где
Утверждение: |
Универсальный матроид является матроидом. |
Проверим выполнение аксиом независимости:
|
Графовый матроид
Определение: |
Пусть | — неориентированный граф. Тогда , где состоит из всех ацикличных множеств ребер (то есть являющихся лесами), называют графовым (графическим) матроидом (англ. graphic matroid).
Утверждение: |
Графовый матроид является матроидом. |
Проверим выполнение аксиом независимости:
|
Матричный матроид
Определение: |
Пусть | — векторное пространство над телом , пусть набор векторов из пространства является носителем . Элементами независимого множества данного матроида являются множества линейно-независимых векторов из набора . Тогда , называется матричным матроидом (англ. vector matroid)
Утверждение: |
Матричный матроид является матроидом. |
Проверим выполнение аксиом независимости:
|
Трансверсальный матроид
Определение: |
Пусть | — двудольный граф. паросочетание , покрывающее . Тогда называют трансверсальным матроидом (англ. transversal matroid).
Утверждение: |
Трансверсальный матроид является матроидом. |
Проверим выполнение аксиом независимости:
|
Матроид паросочетаний
Определение: |
Пусть | — неориентированный граф. паросочетание , покрывающее . Тогда называют матроидом паросочетаний (англ. matching matroid).
Утверждение: |
Матроид паросочетаний является матроидом. |
Проверим выполнение аксиом независимости:
Все вершины, принадлежащие покроем ребрами из паросочетания .Так как Рассмотрим три возможных случая:
|
Матроид разбиений
Определение: |
Пусть | , при этом , , и — положительные целые числа. . Тогда называют матроидом разбиений (англ. partition matroid)
Утверждение: |
Матроид разбиений является матроидом. |
Проверим выполнение аксиом независимости:
|
Бинарный матроид
Определение: |
Матроид изоморфен некоторому векторному матроиду над этим полем. | представим над полем , если он
Определение: |
Бинарный матроид (англ. binary matroid) — матроид, представимый над полем целых чисел по модулю | .
Утверждение: |
Графовый матроид является бинарным. |
Составим матрицу инцидентности для графа . Строки этой матрицы соответствуют вершинам графа, а столбцы — ребрам.
Необходимо доказать, что если мы возьмем множество ребер , то множество столбцов матрицы инцидентности, соответствующее выбранным ребрам, линейно-независимо, и наоборот, если мы возьмем линейно-независимое множество столбцов, то соответствующее ему множество ребер, не будет образовывать цикла. Докажем эквивалентное утверждение: столбцы линейно-зависимы тогда и только тогда, когда соответствующие им ребра графа содержат цикл.) Пусть столбцы линейно-зависимы, докажем, что соответствующие ребра графа содержат цикл. Если некоторые столбцы матрицы линейно-зависимы, то среди них можно выделить столбцы с нулевой суммой. Есть два варианта:1) Cреди выбранных столбцов есть нулевой, тогда в соответствующем множестве ребер есть петля, то есть цикл. 2) У нас есть столбец , который является суммой остальных столбцов. Этому столбцу соответствует ребро . Начнем с вершины переходить по другим ребрам из (по каждому ребру проходим только один раз), в итоге мы придем в вершину , так для остальных вершин у нас обязательно будет четное число выходящих из них ребер, потому что иначе на позиции этой вершины в столбце была бы единица (а единицы у нас только на позициях и ). Таким образом мы показали, что существует два пути между вершинами и (тот который мы построили и путь по ребру ), значит в выбранном множестве ребер есть цикл.) Пусть на множестве ребер есть цикл, докажем линейную-зависимость соответствующих столбцов. Если среди данного множества ребер есть петля, то соответствующий ей столбец будет нулевым (по построению матрицы инцидентности), он и обеспечивает линейную-зависимость всего набора векторов. Если петли нет, то рассмотрим столбцы, отвечающие ребрам простого цикла. Любая строка матрицы содержит в этих столбцах ровно 2 единицы. Поэтому сумма по модулю указанных столбцов равна нулевому столбцу, что означает линейную зависимость исходного множества столбцов. |
Другие матроиды
Несложно доказать, что следующие конструкции тоже являются матроидами.
Определение: |
Матроид с выкинутым элементом. Пусть | — матроид. Определим . Для любых и получившаяся конструкция является матроидом.
Определение: |
Матроид, стянутый по элементу. Пусть | — матроид. Определим . Для любых и , таких что получившаяся конструкция является матроидом.
Определение: |
Пусть | — матроид. Обозначим как следующую констркуцию: , тогда называют урезанным мат
Определение: |
Полный матроид — матроид | такой, что .
Определение: |
Тривиальный матроид — матроид | такой, что .
См. также
Источники
- Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы (глава 4. Матроиды)
- Уилсон Р. — Введение в теорию графов (глава 9. Теория матроидов)
- Примеры матроидов
- Wikipedia — Matroid
- Википедия — Матроид