Объединение матроидов, проверка множества на независимость — различия между версиями
(Отмена правки 10403 участника Vincent (обсуждение)) |
Alice (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
− | Пусть | + | {{Определение |
+ | |definition = | ||
+ | Пусть <tex>M_1 = \langle X, \mathcal{I}_1 \rangle </tex> и <tex> M_2 = \langle X, \mathcal{I}_2 \rangle </tex> {{---}} два матроида на множестве элементов <tex>X</tex> с наборами независимых множеств <tex>\mathcal{I}_1</tex> и <tex>\mathcal{I}_2</tex>. Положим <tex> \mathcal{I} = \mathcal {f} A \mid A = A_1 \cup A_2, A_1 \in \mathcal{I}_1, A_2 \in \mathcal{I}_2 \mathcal {g} </tex>. Множество <tex>\mathcal{I}</tex> удовлетворяет [[Объединение матроидов, доказательство того, что объединение является матроидом|аксиомам независимости]], следовательно, <tex>\langle X, \mathcal{I} \rangle </tex> {{---}} матроид, для которого <tex>\mathcal{I}</tex> служит независимым множеством. Этот матроид называется '''объединением матроидов''' (англ. ''matroid union'') <tex>M_1</tex> и <tex>M_2</tex>, и обозначается <tex> 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> носители непересекающиеся, тогда это будет являться [[Прямая сумма матроидов|прямой суммой матроидов]]. | ||
− | + | * Операция объединения матроидов ассоциативна, следовательно, можно говорить об объединении нескольких матроидов. | |
+ | * В отличие от пересечения матроидов, объединение двух конечных (англ. ''finite matroid'') матроидов всегда является матроидом, однако объединение двух бесконечных матроидов (англ. ''infinite matroid'') не обязательно будет им. | ||
+ | * Объединение применяется к независимым множествам, а не к матроидам в целом, то есть это операция на другом уровне, по сравнению с пересечение матроидов. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
Давайте зададим функцию <tex>P_1</tex> : <tex> X \times Y \rightarrow X</tex>: <tex>P_1((x, y)) = x</tex>, а для множества <tex>B \in X \times Y</tex> выполняется <tex>P_1(B) = \{A \subset X| \forall x \in A</tex> <tex>\exists y \in B : P_1(y) = x\}</tex>. | Давайте зададим функцию <tex>P_1</tex> : <tex> X \times Y \rightarrow X</tex>: <tex>P_1((x, y)) = x</tex>, а для множества <tex>B \in X \times Y</tex> выполняется <tex>P_1(B) = \{A \subset X| \forall x \in A</tex> <tex>\exists y \in B : P_1(y) = x\}</tex>. | ||
Строка 23: | Строка 24: | ||
== Литература == | == Литература == | ||
− | + | * Емеличев В. А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. {{---}} Лекции по теории графов | |
+ | * Chandra Chekuri {{---}} [https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture19.pdf '''Combinatorial Optimization'''] | ||
+ | * https://en.wikipedia.org/wiki/Matroid |
Версия 03:36, 21 мая 2016
Определение: |
Пусть аксиомам независимости, следовательно, — матроид, для которого служит независимым множеством. Этот матроид называется объединением матроидов (англ. matroid union) и , и обозначается | и — два матроида на множестве элементов с наборами независимых множеств и . Положим . Множество удовлетворяет
Обычно термин "объединение" применяется, когда носители прямой суммой матроидов.
в обоих матроидах одинаковы, однако это не является необходимым, мы можем дополнить их до объединения, заметим, что от этого и не перестанут быть матроидами. Если в и носители непересекающиеся, тогда это будет являться- Операция объединения матроидов ассоциативна, следовательно, можно говорить об объединении нескольких матроидов.
- В отличие от пересечения матроидов, объединение двух конечных (англ. finite matroid) матроидов всегда является матроидом, однако объединение двух бесконечных матроидов (англ. infinite matroid) не обязательно будет им.
- Объединение применяется к независимым множествам, а не к матроидам в целом, то есть это операция на другом уровне, по сравнению с пересечение матроидов.
Давайте зададим функцию : : , а для множества выполняется .
Определим ещё несколько матроидов, которые нам понадобятся:
.
.
Теперь перейдём к задаче. У нас есть множество и нужно проверить его независимость в объединении матроидов. Множество Алгоритм построения базы в пересечении матроидов.
- независимо, если . А можно заметить, что в матроиде выполняется . Т.е. мы свели задачу о проверке множества на независимость в объединении к нахождению мощности максимального независимого множества в пересечении матроидов и . Мы это уже умеем делать -Литература
- Емеличев В. А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. — Лекции по теории графов
- Chandra Chekuri — Combinatorial Optimization
- https://en.wikipedia.org/wiki/Matroid