http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&user=Antonova&feedformat=atomВикиконспекты - Вклад участника [ru]2024-03-28T12:59:23ZВклад участникаMediaWiki 1.30.0http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2,_%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE_%D1%82%D0%BE%D0%B3%D0%BE,_%D1%87%D1%82%D0%BE_%D0%BE%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%BC&diff=68168Объединение матроидов, доказательство того, что объединение является матроидом2019-01-05T15:16:24Z<p>Antonova: </p>
<hr />
<div><br />
<br />
{{Лемма<br />
|statement = <tex>M = \langle X, I \rangle</tex> — [[Определение матроида|матроид]], <tex> f \colon X \to Y</tex>. Также <tex>\exists f^{-1} \colon Y \to X</tex>. Тогда <tex>M_1 = \langle Y, I_1 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle </tex> является матроидом.<br />
|proof =<br />
Докажем аксиомы независимости для <tex> I_1 </tex>.<br />
<br />
# <tex>\varnothing \in I_1</tex> <br /><tex> \varnothing = f(\varnothing) \in I_1 </tex><br />
# <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>\forall x \in A\ f^{-1}(x) \cap S \ne \varnothing</tex>. Пусть <tex> T = \{x \in S | f(x) \in B\}</tex>. Тогда <tex> B = f(T) </tex> и из этого <tex> T \subseteq S, T \in I </tex> и <tex> B \in I_1 </tex>, ч. т. д.<br />
# Пусть <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 \mathcal \{ y \mathcal \} \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 \mathcal \{ x \mathcal \} \in I</tex>. Следовательно <tex>f(T_1 \cup \mathcal \{ x \mathcal \}) \in I_1 </tex> и <tex>f(x) \in f(S_1 \setminus T_1) = A \setminus B. </tex> Также <br /><tex> f(T_1 \cup \mathcal \{ x \mathcal \}) = f(T_1) \cup f(x) = B \cup f(x)</tex>. Значит <tex>\exists y = f(x) \in A \setminus B , B \cup \mathcal \{ y \mathcal \} \in I_1</tex><br />
}}<br />
<br />
{{Теорема<br />
|statement = [[Объединение матроидов, проверка множества на независимость|Объединение матроидов]] является матроидом.<br />
|proof = Рассмотрим матроиды <tex>M_1</tex> и <tex>M_2</tex> из определения [[Объединение матроидов, проверка множества на независимость|объединения матроидов]]. Из [[Прямая сумма матроидов|леммы]] знаем, что <tex> M_1 \oplus M_2= \langle X = X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \}, I = \mathcal \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \mathcal \} \rangle </tex> , где <tex> X_1 \times \mathcal \{ i \mathcal \} </tex> — декартово произведение множеств <tex> X_1 </tex> и <tex> \mathcal \{ i \mathcal \} </tex>, является матроидом. Пусть <tex>f \colon X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \} \to X_1 \cup X_2 </tex>, такая, что <tex>f(x \times \mathcal \{ 1 \mathcal \}) \rightarrow x </tex>, <tex>f(x \times \mathcal \{ 2 \mathcal \}) \rightarrow x </tex>. Тогда по вышеизложенной лемме <tex> M_3 = \langle X_1 \cup X_2, I_3 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle</tex> — матроид, в котором независимым множествам соответствуют объединения независимых множеств в <tex>M_1</tex> и <tex>M_2</tex>. То есть <tex>M_3 = M_1 \cup M_2</tex>.<br />
}}<br />
<br />
== См. также==<br />
* [[Определение матроида]]<br />
* [[Объединение матроидов, проверка множества на независимость]]<br />
* [[Алгоритм построения базы в объединении матроидов]]<br />
<br />
== Источники информации==<br />
* [https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture19.pdf Chandra Chekuri {{---}} Combinatorial Optimization]<br />
* [http://math.mit.edu/~goemans/18438F09/lec13.pdf Michel X. Goemans {{---}} Advanced Combinatorial Optimization]<br />
* [https://en.wikipedia.org/wiki/Matroid Wikipedia {{---}} Matroid]<br />
<br />
[[Категория:Алгоритмы и структуры данных]]<br />
[[Категория:Матроиды]]<br />
[[Категория:Объединение матроидов]]</div>Antonovahttp://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2,_%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE_%D1%82%D0%BE%D0%B3%D0%BE,_%D1%87%D1%82%D0%BE_%D0%BE%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%BC&diff=68167Объединение матроидов, доказательство того, что объединение является матроидом2019-01-05T15:08:22Z<p>Antonova: </p>
<hr />
<div><br />
<br />
{{Лемма<br />
|statement = <tex>M = \langle X, I \rangle</tex> — [[Определение матроида|матроид]], <tex> f \colon X \to Y</tex>. Тогда <tex>M_1 = \langle Y, I_1 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle </tex> является матроидом.<br />
|proof =<br />
Докажем аксиомы независимости для <tex> I_1 </tex>.<br />
<br />
# <tex>\varnothing \in I_1</tex> <br /><tex> \varnothing = f(\varnothing) \in I_1 </tex><br />
# <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>\forall x \in A\ f^{-1}(x) \cap S \ne \varnothing</tex>. Пусть <tex> T = \{x \in S | f(x) \in B\}</tex>. Тогда <tex> B = f(T) </tex> и из этого <tex> T \subseteq S, T \in I </tex> и <tex> B \in I_1 </tex>, ч. т. д.<br />
# Пусть <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 \mathcal \{ y \mathcal \} \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 \mathcal \{ x \mathcal \} \in I</tex>. Следовательно <tex>f(T_1 \cup \mathcal \{ x \mathcal \}) \in I_1 </tex> и <tex>f(x) \in f(S_1 \setminus T_1) = A \setminus B. </tex> Также <br /><tex> f(T_1 \cup \mathcal \{ x \mathcal \}) = f(T_1) \cup f(x) = B \cup f(x)</tex>. Значит <tex>\exists y = f(x) \in A \setminus B , B \cup \mathcal \{ y \mathcal \} \in I_1</tex><br />
}}<br />
<br />
{{Теорема<br />
|statement = [[Объединение матроидов, проверка множества на независимость|Объединение матроидов]] является матроидом.<br />
|proof = Рассмотрим матроиды <tex>M_1</tex> и <tex>M_2</tex> из определения [[Объединение матроидов, проверка множества на независимость|объединения матроидов]]. Из [[Прямая сумма матроидов|леммы]] знаем, что <tex> M_1 \oplus M_2= \langle X = X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \}, I = \mathcal \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \mathcal \} \rangle </tex> , где <tex> X_1 \times \mathcal \{ i \mathcal \} </tex> — декартово произведение множеств <tex> X_1 </tex> и <tex> \mathcal \{ i \mathcal \} </tex>, является матроидом. Пусть <tex>f \colon X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \} \to X_1 \cup X_2 </tex>, такая, что <tex>f(x \times \mathcal \{ 1 \mathcal \}) \rightarrow x </tex>, <tex>f(x \times \mathcal \{ 2 \mathcal \}) \rightarrow x </tex>. Тогда по вышеизложенной лемме <tex> M_3 = \langle X_1 \cup X_2, I_3 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle</tex> — матроид, в котором независимым множествам соответствуют объединения независимых множеств в <tex>M_1</tex> и <tex>M_2</tex>. То есть <tex>M_3 = M_1 \cup M_2</tex>.<br />
}}<br />
<br />
== См. также==<br />
* [[Объединение матроидов, проверка множества на независимость]]<br />
* [[Алгоритм построения базы в объединении матроидов]]<br />
<br />
== Источники информации==<br />
* [https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture19.pdf Chandra Chekuri {{---}} Combinatorial Optimization]<br />
* [http://math.mit.edu/~goemans/18438F09/lec13.pdf Michel X. Goemans {{---}} Advanced Combinatorial Optimization]<br />
* [https://en.wikipedia.org/wiki/Matroid Wikipedia {{---}} Matroid]<br />
<br />
[[Категория:Алгоритмы и структуры данных]]<br />
[[Категория:Матроиды]]<br />
[[Категория:Объединение матроидов]]</div>Antonovahttp://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2,_%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE_%D1%82%D0%BE%D0%B3%D0%BE,_%D1%87%D1%82%D0%BE_%D0%BE%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%BC&diff=68161Объединение матроидов, доказательство того, что объединение является матроидом2019-01-05T05:00:55Z<p>Antonova: </p>
<hr />
<div><br />
<br />
{{Лемма<br />
|statement = <tex>M = \langle X, I \rangle</tex> — матроид, <tex> f \colon X \to Y</tex>. Тогда <tex>M_1 = \langle Y, I_1 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle </tex> является матроидом.<br />
|proof =<br />
Докажем аксиомы независимости для <tex> I_1 </tex>.<br />
<br />
# <tex>\varnothing \in I_1</tex> <br /><tex> \varnothing = f(\varnothing) \in I_1 </tex><br />
# <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>\forall x \in A\ f^{-1}(x) \cap S \ne \varnothing</tex>. Пусть <tex> T = \{x \in S | f(x) \in B\}</tex>. Тогда <tex> B = f(T) </tex> и из этого <tex> T \subseteq S, T \in I </tex> и <tex> B \in I_1 </tex>, ч. т. д.<br />
# Пусть <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 \mathcal \{ y \mathcal \} \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 \mathcal \{ x \mathcal \} \in I</tex>. Следовательно <tex>f(T_1 \cup \mathcal \{ x \mathcal \}) \in I_1 </tex> и <tex>f(x) \in f(S_1 \setminus T_1) = A \setminus B. </tex> Также <br /><tex> f(T_1 \cup \mathcal \{ x \mathcal \}) = f(T_1) \cup f(x) = B \cup f(x)</tex>. Значит <tex>\exists y = f(x) \in A \setminus B , B \cup \mathcal \{ y \mathcal \} \in I_1</tex><br />
}}<br />
<br />
{{Теорема<br />
|statement = [[Объединение матроидов, проверка множества на независимость|Объединение матроидов]] является матроидом.<br />
|proof = Рассмотрим матроиды <tex>M_1</tex> и <tex>M_2</tex> из определения [[Объединение матроидов, проверка множества на независимость|объединения матроидов]]. Из [[Прямая сумма матроидов|леммы]] знаем, что <tex> M_1 \oplus M_2= \langle X = X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \}, I = \mathcal \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \mathcal \} \rangle </tex> , где <tex> X_1 \times \mathcal \{ i \mathcal \} </tex> — декартово произведение множеств <tex> X_1 </tex> и <tex> \mathcal \{ i \mathcal \} </tex>, является матроидом. Пусть <tex>f \colon X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \} \to X_1 \cup X_2 </tex>, такая, что <tex>f(x \times \mathcal \{ 1 \mathcal \}) \rightarrow x </tex>, <tex>f(x \times \mathcal \{ 2 \mathcal \}) \rightarrow x </tex>. Тогда по вышеизложенной лемме <tex> M_3 = \langle X_1 \cup X_2, I_3 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle</tex> — матроид, в котором независимым множествам соответствуют объединения независимых множеств в <tex>M_1</tex> и <tex>M_2</tex>. То есть <tex>M_3 = M_1 \cup M_2</tex>.<br />
}}<br />
<br />
== См. также==<br />
* [[Объединение матроидов, проверка множества на независимость]]<br />
* [[Алгоритм построения базы в объединении матроидов]]<br />
<br />
== Источники информации==<br />
* [https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture19.pdf Chandra Chekuri {{---}} Combinatorial Optimization]<br />
* [http://math.mit.edu/~goemans/18438F09/lec13.pdf Michel X. Goemans {{---}} Advanced Combinatorial Optimization]<br />
* [https://en.wikipedia.org/wiki/Matroid Wikipedia {{---}} Matroid]<br />
<br />
[[Категория:Алгоритмы и структуры данных]]<br />
[[Категория:Матроиды]]<br />
[[Категория:Объединение матроидов]]</div>Antonovahttp://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2,_%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE_%D1%82%D0%BE%D0%B3%D0%BE,_%D1%87%D1%82%D0%BE_%D0%BE%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%BC&diff=68137Объединение матроидов, доказательство того, что объединение является матроидом2019-01-02T12:45:28Z<p>Antonova: </p>
<hr />
<div><br />
<br />
{{Лемма<br />
|statement = <tex>M = \langle X, I \rangle</tex> — матроид, <tex> f \colon X \to Y</tex>. Тогда <tex>M_1 = \langle Y, I_1 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle </tex> является матроидом.<br />
|proof =<br />
Докажем аксиомы независимости для <tex> I_1 </tex>.<br />
<br />
# <tex>\varnothing \in I_1</tex> <br /><tex> \varnothing = f(\varnothing) \in I_1 </tex><br />
# <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>\forall x \in A\ f^{-1}(x) \cap S \ne \varnothing</tex>. Пусть <tex> T = \{x \in S | f(x) \in B\}</tex>. Тогда <tex> B = f(T) </tex> и из этого <tex> T \subseteq S, T \in I </tex> и <tex> B \in I_1 </tex>, ч. т. д.<br />
# Пусть <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 \mathcal \{ y \mathcal \} \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 \mathcal \{ x \mathcal \} \in I</tex>. Следовательно <tex>f(T_1 \cup \mathcal \{ x \mathcal \}) \in I_1 </tex> и <tex>f(x) \in f(S_1 \setminus T_1) = A \setminus B. </tex> Также <br /><tex> f(T_1 \cup \mathcal \{ x \mathcal \}) = f(T_1) \cup f(x) = B \cup f(x)</tex>. Значит <tex>\exists y = f(x) \in A \setminus B , B \cup \mathcal \{ y \mathcal \} \in I_1</tex><br />
}}<br />
<br />
{{Теорема<br />
|statement = [[Объединение матроидов, проверка множества на независимость|Объединение матроидов]] является матроидом.<br />
|proof = Рассмотрим матроиды <tex>M_1</tex> и <tex>M_2</tex> из определения объединения матроидов. Из [[Прямая сумма матроидов|леммы]] знаем, что <tex> M_1 \oplus M_2= \langle X = X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \}, I = \mathcal \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \mathcal \} \rangle </tex> , где <tex> X_1 \times \mathcal \{ i \mathcal \} </tex> — декартово произведение множеств <tex> X_1 </tex> и <tex> \mathcal \{ i \mathcal \} </tex>, является матроидом. Пусть <tex>f \colon X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \} \to X_1 \cup X_2 </tex>, такая, что <tex>f(x \times \mathcal \{ 1 \mathcal \}) \rightarrow x </tex>, <tex>f(x \times \mathcal \{ 2 \mathcal \}) \rightarrow x </tex>. Тогда по вышеизложенной лемме <tex> M_3 = \langle X_1 \cup X_2, I_3 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle</tex> — матроид, в котором независимым множествам соответствуют объединения независимых множеств в <tex>M_1</tex> и <tex>M_2</tex>. То есть <tex>M_3 = M_1 \cup M_2</tex>.<br />
}}<br />
<br />
== См. также==<br />
* [[Объединение матроидов, проверка множества на независимость]]<br />
* [[Алгоритм построения базы в объединении матроидов]]<br />
<br />
== Источники информации==<br />
* [https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture19.pdf Chandra Chekuri {{---}} Combinatorial Optimization]<br />
* [http://math.mit.edu/~goemans/18438F09/lec13.pdf Michel X. Goemans {{---}} Advanced Combinatorial Optimization]<br />
* [https://en.wikipedia.org/wiki/Matroid Wikipedia {{---}} Matroid]<br />
<br />
[[Категория:Алгоритмы и структуры данных]]<br />
[[Категория:Матроиды]]<br />
[[Категория:Объединение матроидов]]</div>Antonovahttp://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2,_%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%BD%D0%B0_%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C&diff=68000Объединение матроидов, проверка множества на независимость2018-12-22T18:56:16Z<p>Antonova: </p>
<hr />
<div>{{Определение<br />
|definition = <br />
Пусть <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><br />
}}<br />
Обычно термин «объединение» применяется, когда носители <tex>X</tex> в обоих матроидах одинаковы, однако это не является необходимым, мы можем дополнить их до объединения, заметим, что от этого <tex>M_1</tex> и <tex>M_2</tex> не перестанут быть матроидами. Если в <tex>M_1</tex> и <tex>M_2</tex> носители непересекающиеся, то это будет являться [[Прямая сумма матроидов|прямой суммой матроидов]].<br />
<br />
Верны следующие утверждения про объединение матроидов:<br />
* Операция объединения матроидов ассоциативна, следовательно, можно говорить об объединении нескольких матроидов.<br />
* В отличие от [[Пересечение матроидов, определение, примеры|пересечения матроидов]], объединение двух '''конечных матроидов''' (англ. ''finite matroid'') всегда является матроидом, однако объединение двух '''бесконечных матроидов''' (англ. ''infinite matroid'') не обязательно будет им.<br />
* Объединение применяется к независимым множествам, а не к матроидам в целом, то есть это операция на другом уровне, по сравнению с пересечением матроидов.<br />
<br />
<br />
==Проверка множества на независимость==<br />
<br />
{{Задача<br />
|definition=<br />
Дан матроид <tex>M = M_1 \cup M_2, M = \langle X, I\rangle</tex>. Необходимо проверить, является ли некоторое множество <tex>U \in X</tex> независимым, то есть, лежит ли оно в <tex>I</tex>.<br />
}}<br />
<br />
Для решения этой задачи преобразуем каждый элемент множества <tex>X</tex> в матроиде <tex>M_1</tex> в <tex>(x, 1)</tex>, а каждый элемент множества <tex>X</tex> в матроиде <tex>M_2</tex> в <tex>(x, 2)</tex>. Мы получили два матроида <tex>M'_1 = \langle (X \times \{1\}), I_1 \rangle </tex> и <tex> M'_2 = \langle (X \times \{2\}), I_2 \rangle </tex>. <br />
<br />
Определим функцию <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 \mid \forall x \in A </tex> <tex> \exists b \in B : P_1(b) = x\}</tex>. <br />
Тогда функция <tex>P_1</tex> на носителях матроидов <tex>M'_1</tex> и <tex>M'_2</tex> будет являться естественным отображением <tex>(x, i) \rightarrow x</tex>, где <tex>i \in \{1, 2\}</tex>.<br />
<br />
Затем определим два матроида, которые нам далее понадобятся: <br />
<br />
# <tex>M_{\oplus} = M'_1 \oplus M'_2 = \langle (X \times \{1\}) \cup (X \times \{2\}),</tex> <tex> I_{\oplus} = \{A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2\} \rangle</tex> {{---}} прямая сумма двух матроидов (носители матроидов <tex>M'_1</tex> и <tex>M'_2</tex> при пересечении будут давать пустое множество).<br />
# <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> {{---}} <tex>I_{P_1}</tex> в данном случае будет содержать такие независимые множества, что мощность любого множества <tex>A</tex> из <tex>I_{P_1}</tex> будет равна мощности множества, получаемого функцией <tex>P_1</tex> над <tex>A</tex>, то есть <tex>A</tex> не будет содержать одновременно <tex>(x, 1)</tex> и <tex>(x, 2)</tex>.<br />
<br />
<br />
Теперь перейдём к нашей задаче.<br />
<br />
Множество <tex>U</tex> является независимым, если [[Ранговая функция, полумодулярность|ранговая функция]] <tex> r(U) = |U|</tex>.<br />
Можно заметить, что в матроиде <tex>M</tex> выполняется <tex>r(U) = \max\limits_{A \mid A \in I_{\oplus}, A \in I_{P_1}, P_1(A) \subset U} |A|</tex>. <br />
Таким образом, мы свели задачу о проверке множества на независимость в объединении к нахождению мощности максимального независимого множества в пересечении матроидов <tex>M_{\oplus}</tex> и <tex>M_{P_1}</tex>. С помощью [[Алгоритм построения базы в пересечении матроидов|алгоритма построения базы в пересечении матроидов]] найдем размер максимального подмножества <tex>U' \mid P_1(U') = U</tex> в пересечении наборов независимых множеств матроидов.<br />
<br />
==Доказательство того, что объединение матроидов является матродидом==<br />
{{Определение<br />
|definition = <br />
<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>.<br />
}}<br />
<br />
<br />
{{Лемма<br />
|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> является матроидом.<br />
<br />
|proof =<br />
Докажем аксиомы независимости для <tex> I_1 </tex>.<br />
<br />
# <tex>\varnothing \in I_1</tex> <br /><tex> \varnothing = f(\varnothing) \in I_1 </tex><br />
# <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>.<br />
# Пусть <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><br />
}}<br />
<br />
<br />
{{Теорема<br />
|statement = Объединение матроидов является матроидом.<br />
<br />
|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>.<br />
}}<br />
<br />
==См. также==<br />
* [[Пересечение матроидов, определение, примеры]]<br />
* [[Алгоритм построения базы в пересечении матроидов]]<br />
<br />
==Источники информации ==<br />
* Емеличев В. А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. {{---}} Лекции по теории графов<br />
* [https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture19.pdf Chandra Chekuri {{---}} Combinatorial Optimization]<br />
* [http://math.mit.edu/~goemans/18438F09/lec13.pdf Michel X. Goemans {{---}} Advanced Combinatorial Optimization]<br />
* [https://en.wikipedia.org/wiki/Matroid Wikipedia {{---}} Matroid]<br />
<br />
[[Категория:Алгоритмы и структуры данных]]<br />
[[Категория:Матроиды]]<br />
[[Категория:Объединение матроидов]]</div>Antonovahttp://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2,_%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE_%D1%82%D0%BE%D0%B3%D0%BE,_%D1%87%D1%82%D0%BE_%D0%BE%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%BC&diff=67999Объединение матроидов, доказательство того, что объединение является матроидом2018-12-22T16:54:00Z<p>Antonova: </p>
<hr />
<div>{{Определение<br />
|definition = <br />
<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 = \mathcal \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \mathcal \} \rangle </tex>.<br />
}}<br />
<br />
<br />
{{Лемма<br />
|statement = <tex>M = \langle X, I \rangle</tex> — матроид, <tex> f \colon X \to Y</tex>. Также существует обратное отображение <tex> f^{-1} \colon Y \to X</tex>. Тогда <tex>M_1 = \langle Y, I_1 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle </tex> является матроидом.<br />
|proof =<br />
Докажем аксиомы независимости для <tex> I_1 </tex>.<br />
<br />
# <tex>\varnothing \in I_1</tex> <br /><tex> \varnothing = f(\varnothing) \in I_1 </tex><br />
# <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>.<br />
# Пусть <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 \mathcal \{ y \mathcal \} \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 \mathcal \{ x \mathcal \} \in I</tex>. Следовательно <tex>f(T_1 \cup \mathcal \{ x \mathcal \}) \in I_1 </tex> и <tex>f(x) \in f(S_1 \setminus T_1) = A \setminus B. </tex> Также <br /><tex> f(T_1 \cup \mathcal \{ x \mathcal \}) = f(T_1) \cup f(x) = B \cup f(x)</tex>. Значит <tex>\exists y = f(x) \in A \setminus B , B \cup \mathcal \{ y \mathcal \} \in I_1</tex><br />
}}<br />
<br />
{{Теорема<br />
|statement = Объединение матроидов является матроидом.<br />
|proof = Рассмотрим матроиды <tex>M_1</tex> и <tex>M_2</tex> из определения объединения матроидов. Из [[Прямая сумма матроидов|леммы]] знаем, что <tex> M_1 \oplus M_2= \langle X = X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \}, I = \mathcal \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \mathcal \} \rangle </tex> , где <tex> X_1 \times \mathcal \{ i \mathcal \} </tex> — декартово произведение множеств <tex> X_1 </tex> и <tex> \mathcal \{ i \mathcal \} </tex>, является матроидом. Пусть <tex>f \colon X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \} \to X_1 \cup X_2 </tex>, такая, что <tex>f(x \times \mathcal \{ 1 \mathcal \}) \rightarrow x </tex>, <tex>f(x \times \mathcal \{ 2 \mathcal \}) \rightarrow x </tex>. Тогда по вышеизложенной лемме <tex> M_3 = \langle X_1 \cup X_2, I_3 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle</tex> — матроид, в котором независимым множествам соответствуют объединения независимых множеств в <tex>M_1</tex> и <tex>M_2</tex>. То есть <tex>M_3 = M_1 \cup M_2</tex>.<br />
}}<br />
<br />
== См. также==<br />
* [[Объединение матроидов, проверка множества на независимость]]<br />
* [[Алгоритм построения базы в объединении матроидов]]<br />
<br />
== Источники информации==<br />
* [https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture19.pdf Chandra Chekuri {{---}} Combinatorial Optimization]<br />
* [http://math.mit.edu/~goemans/18438F09/lec13.pdf Michel X. Goemans {{---}} Advanced Combinatorial Optimization]<br />
* [https://en.wikipedia.org/wiki/Matroid Wikipedia {{---}} Matroid]<br />
<br />
[[Категория:Алгоритмы и структуры данных]]<br />
[[Категория:Матроиды]]<br />
[[Категория:Объединение матроидов]]</div>Antonovahttp://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%B2,_%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE_%D1%82%D0%BE%D0%B3%D0%BE,_%D1%87%D1%82%D0%BE_%D0%BE%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F_%D0%BC%D0%B0%D1%82%D1%80%D0%BE%D0%B8%D0%B4%D0%BE%D0%BC&diff=67930Объединение матроидов, доказательство того, что объединение является матроидом2018-12-16T09:37:23Z<p>Antonova: Выполнены все пункты тикета 10-2</p>
<hr />
<div>{{Определение<br />
|definition = <br />
<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 = \mathcal \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \mathcal \} \rangle </tex>.<br />
}}<br />
<br />
<br />
{{Лемма<br />
|statement = <tex>M = \langle X, I \rangle</tex> — матроид, <tex> f \colon X \to Y</tex>. Тогда <tex>M_1 = \langle Y, I_1 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle </tex> является матроидом.<br />
|proof =<br />
Докажем аксиомы независимости для <tex> I_1 </tex>.<br />
<br />
# <tex>\varnothing \in I_1</tex> <br /><tex> \varnothing = f(\varnothing) \in I_1 </tex><br />
# <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>.<br />
# Пусть <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 \mathcal \{ y \mathcal \} \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 \mathcal \{ x \mathcal \} \in I</tex>. Следовательно <tex>f(T_1 \cup \mathcal \{ x \mathcal \}) \in I_1</tex>.<br /><tex>f(T_1 \cup \mathcal \{ x \mathcal \}) = f(T_1) \cup f(x) = B \cup f(x)</tex>. Значит <tex>\exists y = f(x) \in A \setminus B , B \cup \mathcal \{ y \mathcal \} \in I_1</tex><br />
}}<br />
<br />
{{Теорема<br />
|statement = Объединение матроидов является матроидом.<br />
|proof = Рассмотрим матроиды <tex>M_1</tex> и <tex>M_2</tex> из определения объединения матроидов. Из [[Прямая сумма матроидов|леммы]] знаем, что <tex> M_1 \oplus M_2= \langle X = X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \}, I = \mathcal \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \mathcal \} \rangle </tex> , где <tex> X_1 \times \mathcal \{ i \mathcal \} </tex> — декартово произведение множеств <tex> X_1 </tex> и <tex> \mathcal \{ i \mathcal \} </tex>, является матроидом. Пусть <tex>f \colon X_1 \times \mathcal \{ 1 \mathcal \} \cup X_2 \times \mathcal \{ 2 \mathcal \} \to X_1 \cup X_2 </tex>, такая, что <tex>f(x \times \mathcal \{ 1 \mathcal \}) \rightarrow x </tex>, <tex>f(x \times \mathcal \{ 2 \mathcal \}) \rightarrow x </tex>. Тогда по вышеизложенной лемме <tex> M_3 = \langle X_1 \cup X_2, I_3 = \mathcal \{ f(A) \mid A \in I \mathcal \} \rangle</tex> — матроид, в котором независимым множествам соответствуют объединения независимых множеств в <tex>M_1</tex> и <tex>M_2</tex>. То есть <tex>M_3 = M_1 \cup M_2</tex>.<br />
}}<br />
<br />
== См. также==<br />
* [[Объединение матроидов, проверка множества на независимость]]<br />
* [[Алгоритм построения базы в объединении матроидов]]<br />
<br />
== Источники информации==<br />
* [https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture19.pdf Chandra Chekuri {{---}} Combinatorial Optimization]<br />
* [http://math.mit.edu/~goemans/18438F09/lec13.pdf Michel X. Goemans {{---}} Advanced Combinatorial Optimization]<br />
* [https://en.wikipedia.org/wiki/Matroid Wikipedia {{---}} Matroid]<br />
<br />
[[Категория:Алгоритмы и структуры данных]]<br />
[[Категория:Матроиды]]<br />
[[Категория:Объединение матроидов]]</div>Antonova