Объединение матроидов, проверка множества на независимость — различия между версиями
м (rollbackEdits.php mass rollback) |
|||
(не показано 6 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | Пусть <tex>M_1 = \langle X, I_1 \rangle </tex> и <tex> M_2 = \langle X, I_2 \rangle </tex> {{---}} два матроида на множестве элементов <tex>X</tex> с наборами независимых множеств <tex>I_1</tex> и <tex>I_2</tex>. Положим <tex> I = \ | + | Пусть <tex>M_1 = \langle X, I_1 \rangle </tex> и <tex> M_2 = \langle X, I_2 \rangle </tex> {{---}} два матроида на множестве элементов <tex>X</tex> с наборами независимых множеств <tex>I_1</tex> и <tex>I_2</tex>. Положим <tex> I = \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \} </tex>. Множество <tex>I</tex> удовлетворяет [[Объединение матроидов, доказательство того, что объединение является матроидом|аксиомам независимости]], следовательно, <tex>\langle X, I \rangle </tex> {{---}} матроид, для которого <tex>I</tex> служит набором независимых множеств. Этот матроид называется '''объединением матроидов''' (англ. ''matroid union'') <tex>M_1</tex> и <tex>M_2</tex>, и обозначается <tex>M = M_1 \cup M_2 </tex> |
}} | }} | ||
Обычно термин «объединение» применяется, когда носители <tex>X</tex> в обоих матроидах одинаковы, однако это не является необходимым, мы можем дополнить их до объединения, заметим, что от этого <tex>M_1</tex> и <tex>M_2</tex> не перестанут быть матроидами. Если в <tex>M_1</tex> и <tex>M_2</tex> носители непересекающиеся, то это будет являться [[Прямая сумма матроидов|прямой суммой матроидов]]. | Обычно термин «объединение» применяется, когда носители <tex>X</tex> в обоих матроидах одинаковы, однако это не является необходимым, мы можем дополнить их до объединения, заметим, что от этого <tex>M_1</tex> и <tex>M_2</tex> не перестанут быть матроидами. Если в <tex>M_1</tex> и <tex>M_2</tex> носители непересекающиеся, то это будет являться [[Прямая сумма матроидов|прямой суммой матроидов]]. | ||
Строка 35: | Строка 35: | ||
Таким образом, мы свели задачу о проверке множества на независимость в объединении к нахождению мощности максимального независимого множества в пересечении матроидов <tex>M_{\oplus}</tex> и <tex>M_{P_1}</tex>. С помощью [[Алгоритм построения базы в пересечении матроидов|алгоритма построения базы в пересечении матроидов]] найдем размер максимального подмножества <tex>U' \mid P_1(U') = U</tex> в пересечении наборов независимых множеств матроидов. | Таким образом, мы свели задачу о проверке множества на независимость в объединении к нахождению мощности максимального независимого множества в пересечении матроидов <tex>M_{\oplus}</tex> и <tex>M_{P_1}</tex>. С помощью [[Алгоритм построения базы в пересечении матроидов|алгоритма построения базы в пересечении матроидов]] найдем размер максимального подмножества <tex>U' \mid P_1(U') = U</tex> в пересечении наборов независимых множеств матроидов. | ||
− | ==Доказательство того, что | + | ==Доказательство того, что объединение матроидов является матродидом== |
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <tex>M_1 = \langle X_1, I_1 \rangle </tex> и <tex> M_2 = \langle X_2, I_2 \rangle </tex> — матроиды. Тогда <tex> M_1 \cup M_2 = \langle X = X_1 \cup X_2, I = \ | + | <tex>M_1 = \langle X_1, I_1 \rangle </tex> и <tex> M_2 = \langle X_2, I_2 \rangle </tex> — матроиды. Тогда <tex> M_1 \cup M_2 = \langle X = X_1 \cup X_2, I = \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \} \rangle </tex>. |
}} | }} | ||
{{Лемма | {{Лемма | ||
− | |statement = <tex>M = \langle X, I \rangle</tex> — матроид, <tex> f \colon X \to Y</tex>. Тогда <tex>M_1 = \langle Y, I_1 = \ | + | |statement = <tex>M = \langle X, I \rangle</tex> — матроид, <tex> f \colon X \to Y</tex>. Тогда <tex>M_1 = \langle Y, I_1 = \{ f(A) \mid A \in I \} \rangle </tex> является матроидом. |
|proof = | |proof = | ||
− | Докажем | + | Докажем аксиомы независимости для <tex> I_1 </tex>. |
# <tex>\varnothing \in I_1</tex> <br /><tex> \varnothing = f(\varnothing) \in I_1 </tex> | # <tex>\varnothing \in I_1</tex> <br /><tex> \varnothing = f(\varnothing) \in I_1 </tex> | ||
− | # <tex>B \subset A, A \in I_1 \Rightarrow B \in I_1</tex><br /><tex>A \in I_1</tex>, значит <tex>\ | + | # <tex>B \subset A, A \in I_1 \Rightarrow B \in I_1</tex><br /><tex>A \in I_1</tex>, значит <tex>\exists S, S \in I</tex>, такое, что <tex> A = f(S)</tex>. <tex>B = f(S \setminus f^{-1} (A \setminus B)), (S \setminus f^{-1} (A \setminus B)) \subset S \Rightarrow (S \setminus f^{-1} (A \setminus B)) \in I</tex>. Значит <tex>B \in I_1</tex>. |
− | # Пусть <tex> A \in I_1, A = f(S), B \in I_1, B = f(T), |A| > |B|</tex>. Докажем, что <tex> \ | + | # Пусть <tex> A \in I_1, A = f(S), B \in I_1, B = f(T), |A| > |B|</tex>. Докажем, что <tex>\exists y \in A \setminus B, B \cup \{ y \} \in I_1</tex><br /><tex>A = f(S) \Rightarrow \exists S_1 \subset S, A = f(S_1), |S_1| = |A| </tex>.<br /><tex>B = f(T) \Rightarrow \exists T_1 \subset T, B = f(T_1), |T_1| = |B| </tex>.<br /><tex>S_1 \in I, T_1 \in I</tex> по второй аксиоме для <tex>M</tex>.<br /><tex> |S_1| > |T_1| </tex>, значит по третьей аксиоме для <tex>M</tex>, <tex>\exists x \in S_1 \setminus T_1, T_1 \cup \{ x \} \in I</tex>. Следовательно <tex>f(T_1 \cup \{ x \}) \in I_1</tex>.<br /><tex>f(T_1 \cup \{ x \}) = f(T_1) \cup f(x) = B \cup f(x)</tex> Значит <tex>\exists y = f(x) \in A \setminus B , B \cup \{ y \} \in I_1</tex> |
}} | }} | ||
Строка 57: | Строка 57: | ||
|statement = Объединение матроидов является матроидом. | |statement = Объединение матроидов является матроидом. | ||
− | |proof = Рассмотрим матроиды <tex>M_1</tex> и <tex>M_2</tex> из определения объединения матроидов. Из [[Прямая сумма матроидов|леммы]] знаем, что <tex> M_1 \oplus M_2= \langle X = X_1 \times \ | + | |proof = Рассмотрим матроиды <tex>M_1</tex> и <tex>M_2</tex> из определения объединения матроидов. Из [[Прямая сумма матроидов|леммы]] знаем, что <tex> M_1 \oplus M_2= \langle X = X_1 \times \{ 1 \} \cup X_2 \times \{ 2 \}, I = \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \} \rangle </tex> является матроидом. Пусть <tex>f \colon X_1 \times \{ 1 \} \cup X_2 \times \{ 2 \} \to X_1 \cup X_2 </tex>, такая, что <tex>f(x \times \{ 1 \}) \rightarrow x </tex>, <tex>f(x \times \{ 2 \}) \rightarrow x </tex>. Тогда по лемме <tex> M_3 = \langle X_1 \cup X_2, I_3 = \{ f(A) \mid A \in I \} \rangle</tex> — матроид, в котором независимым множествам соответствуют объединения независимых множеств в <tex>M_1</tex> и <tex>M_2</tex>. То есть <tex>M_3 = M_1 \cup M_2</tex>. |
}} | }} | ||
− | |||
==См. также== | ==См. также== |
Текущая версия на 19:18, 4 сентября 2022
Определение: |
Пусть аксиомам независимости, следовательно, — матроид, для которого служит набором независимых множеств. Этот матроид называется объединением матроидов (англ. matroid union) и , и обозначается | и — два матроида на множестве элементов с наборами независимых множеств и . Положим . Множество удовлетворяет
Обычно термин «объединение» применяется, когда носители прямой суммой матроидов.
в обоих матроидах одинаковы, однако это не является необходимым, мы можем дополнить их до объединения, заметим, что от этого и не перестанут быть матроидами. Если в и носители непересекающиеся, то это будет являтьсяВерны следующие утверждения про объединение матроидов:
- Операция объединения матроидов ассоциативна, следовательно, можно говорить об объединении нескольких матроидов.
- В отличие от пересечения матроидов, объединение двух конечных матроидов (англ. finite matroid) всегда является матроидом, однако объединение двух бесконечных матроидов (англ. infinite matroid) не обязательно будет им.
- Объединение применяется к независимым множествам, а не к матроидам в целом, то есть это операция на другом уровне, по сравнению с пересечением матроидов.
Содержание
Проверка множества на независимость
Задача: |
Дан матроид | . Необходимо проверить, является ли некоторое множество независимым, то есть, лежит ли оно в .
Для решения этой задачи преобразуем каждый элемент множества в матроиде в , а каждый элемент множества в матроиде в . Мы получили два матроида и .
Определим функцию
: , при этом , а для множества выполняется . Тогда функция на носителях матроидов и будет являться естественным отображением , где .Затем определим два матроида, которые нам далее понадобятся:
- — прямая сумма двух матроидов (носители матроидов и при пересечении будут давать пустое множество).
- — в данном случае будет содержать такие независимые множества, что мощность любого множества из будет равна мощности множества, получаемого функцией над , то есть не будет содержать одновременно и .
Теперь перейдём к нашей задаче.
Множество ранговая функция . Можно заметить, что в матроиде выполняется . Таким образом, мы свели задачу о проверке множества на независимость в объединении к нахождению мощности максимального независимого множества в пересечении матроидов и . С помощью алгоритма построения базы в пересечении матроидов найдем размер максимального подмножества в пересечении наборов независимых множеств матроидов.
является независимым, еслиДоказательство того, что объединение матроидов является матродидом
Определение: |
и — матроиды. Тогда . |
Лемма: |
— матроид, . Тогда является матроидом. |
Доказательство: |
Докажем аксиомы независимости для .
|
Теорема: |
Объединение матроидов является матроидом. |
Доказательство: |
Рассмотрим матроиды леммы знаем, что является матроидом. Пусть , такая, что , . Тогда по лемме — матроид, в котором независимым множествам соответствуют объединения независимых множеств в и . То есть . | и из определения объединения матроидов. Из
См. также
Источники информации
- Емеличев В. А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. — Лекции по теории графов
- Chandra Chekuri — Combinatorial Optimization
- Michel X. Goemans — Advanced Combinatorial Optimization
- Wikipedia — Matroid