Объединение матроидов, проверка множества на независимость — различия между версиями
Строка 9: | Строка 9: | ||
Для простоты мы считаем, что носители в обоих матроидах одинаковы, если не так, то дополним их до объединения, заметим, что от этого <tex>M_1</tex> и <tex>M_2</tex> не перестанут быть матроидами. | Для простоты мы считаем, что носители в обоих матроидах одинаковы, если не так, то дополним их до объединения, заметим, что от этого <tex>M_1</tex> и <tex>M_2</tex> не перестанут быть матроидами. | ||
− | Давайте зададим функцию <tex>P_1</tex> : <tex> X \times X \rightarrow X</tex>: <tex>P_1((x, y)) = x</tex>, а для | + | Давайте зададим функцию <tex>P_1</tex> : <tex> X \times X \rightarrow X</tex>: <tex>P_1((x, y)) = x</tex>, а для множества <tex>B</tex> выполняется <tex>P_1(B) = \{A \subset X| \forall x \in A</tex> <tex>\exists y \in B : P_1(y) = x\}</tex>. |
Определим ещё несколько матроидов, которые нам понадобятся: | Определим ещё несколько матроидов, которые нам понадобятся: | ||
Строка 15: | Строка 15: | ||
<tex>M_{\oplus} = M_1 \oplus M_2 = \langle (X \times \{1\}) \cup (X \times \{2\}),</tex> <tex> I = \{A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2\} \rangle</tex>. | <tex>M_{\oplus} = M_1 \oplus M_2 = \langle (X \times \{1\}) \cup (X \times \{2\}),</tex> <tex> I = \{A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2\} \rangle</tex>. | ||
− | <tex>M_{P_1} = \langle I_{P_1} = \{A \mid |P_1(A)| = |A|\} \rangle</tex>. | + | <tex>M_{P_1} = \langle (X \times \{1\}) \cup (X \times \{2\}),</tex> <tex> I_{P_1} = \{A \mid |P_1(A)| = |A|\} \rangle</tex>. |
− | |||
− | |||
− | |||
Теперь перейдём к задаче. У нас есть множество и нужно проверить его независимость в объединении матроидов. | Теперь перейдём к задаче. У нас есть множество и нужно проверить его независимость в объединении матроидов. |
Версия 23:37, 7 июня 2011
Пусть нам даны три матроида:
,
,
.
Для простоты мы считаем, что носители в обоих матроидах одинаковы, если не так, то дополним их до объединения, заметим, что от этого
и не перестанут быть матроидами.Давайте зададим функцию
: : , а для множества выполняется .Определим ещё несколько матроидов, которые нам понадобятся:
.
.
Теперь перейдём к задаче. У нас есть множество и нужно проверить его независимость в объединении матроидов. Множество Алгоритм построения базы в пересечении матроидов.
- независимо, если . А можно заметить, что в матроиде выполняется . Т.е. мы свели задачу о проверке множества на независимость в объединении к нахождению мощности максимального независимого множества в пересечении матроидов и . Мы это уже умеем делать -Литература
Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы. ISBN 978-5-8114-1068-2