Объединение матроидов, проверка множества на независимость — различия между версиями
Строка 13: | Строка 13: | ||
<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>P_1</tex> : <tex> X \times X \rightarrow X</tex>: <tex>P_1((x, y)) = x</tex>. | ||
Из предыдущей темы ([[Объединение матроидов, доказательство того, что объединение является матроидом]];) мы знаем, что | Из предыдущей темы ([[Объединение матроидов, доказательство того, что объединение является матроидом]];) мы знаем, что |
Версия 22:53, 7 июня 2011
Пусть нам даны три матроида:
,
,
.
Для простоты мы считаем, что носители в обоих матроидах одинаковы, если не так, то дополним их до объединения, заметим, что от этого
и не перестанут быть матроидами.
Определим ещё несколько матроидов, которые нам понадобятся:
.
Давайте зададим функцию
: : .Из предыдущей темы (Объединение матроидов, доказательство того, что объединение является матроидом;) мы знаем, что для - , поэтому матроид .
Теперь перейдём к задаче. У нас есть множество и нужно проверить его независимость в объединении матроидов.
Множество - независимо, если .
А можно заметить, что в матроиде - .
Т.е. мы свели задачу о проверке множества на независимость в объединении к нахождению мощности максимального независимого множества в пересечении матроидов и . Мы это уже умеем делать - Алгоритм построения базы в пересечении матроидов.