Объединение матроидов, проверка множества на независимость — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Доказательство того, что обединение матроидов является матродидом)
(не показаны 3 промежуточные версии 1 участника)
Строка 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 = \mathcal {f} A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2  \mathcal {g} </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>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 = \mathcal {f} A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2  \mathcal {g} \rangle </tex>.
+
  <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 = \mathcal {f} f(A) \mid A \in I \mathcal {g} \rangle </tex> является матроидом.
+
|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 =
Строка 49: Строка 49:
  
 
# <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>\mathcal {9} 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>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> \mathcal {9} y \in A \setminus B, B \cup \mathcal{f} y \mathcal {g} \in I_1</tex><br /><tex>A = f(S) \Rightarrow \mathcal {9} S_1 \subset S, A = f(S_1), |S_1| = |A| </tex>.<br /><tex>B = f(T) \Rightarrow \mathcal {9} 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>\mathcal {9} x \in S_1 \setminus T_1, T_1 \cup \mathcal{f} x \mathcal {g} \in I</tex>. Следовательно <tex>f(T_1 \cup \mathcal{f} x \mathcal {g}) \in I_1</tex>.<br /><tex>f(T_1 \cup \mathcal{f} x \mathcal {g}) = f(T_1) \cup f(x) = B \cup f(x)</tex>. Значит <tex>\mathcal {9} y = f(x) \in A \setminus B , B \cup \mathcal{f} y \mathcal {g} \in I_1</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 \mathcal {f} 1 \mathcal {g} \cup X_2 \times \mathcal {f} 2 \mathcal {g}, I = \mathcal {f} A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2  \mathcal {g} \rangle </tex> является матроидом. Пусть <tex>f \colon X_1 \times \mathcal {f} 1 \mathcal {g} \cup X_2 \times \mathcal {f} 2 \mathcal {g} \to X_1 \cup X_2 </tex>, такая, что <tex>f(x \times \mathcal {f} 1 \mathcal {g}) \rightarrow x </tex>, <tex>f(x \times \mathcal {f} 2 \mathcal {g}) \rightarrow x </tex>. Тогда по лемме <tex> M_3 = \langle X_1 \cup X_2, I_3 = \mathcal {f} f(A) \mid A \in I \mathcal {g} \rangle</tex> — матроид, в котором независимым множествам соответствуют объединения независимых множеств в <tex>M_1</tex> и <tex>M_2</tex>. То есть <tex>M_3 = M_1 \cup M_2</tex>.
+
|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>.
 
}}
 
}}
  

Версия 21:56, 22 декабря 2018

Определение:
Пусть [math]M_1 = \langle X, I_1 \rangle [/math] и [math] M_2 = \langle X, I_2 \rangle [/math] — два матроида на множестве элементов [math]X[/math] с наборами независимых множеств [math]I_1[/math] и [math]I_2[/math]. Положим [math] I = \{ A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2 \} [/math]. Множество [math]I[/math] удовлетворяет аксиомам независимости, следовательно, [math]\langle X, I \rangle [/math] — матроид, для которого [math]I[/math] служит набором независимых множеств. Этот матроид называется объединением матроидов (англ. matroid union) [math]M_1[/math] и [math]M_2[/math], и обозначается [math]M = M_1 \cup M_2 [/math]

Обычно термин «объединение» применяется, когда носители [math]X[/math] в обоих матроидах одинаковы, однако это не является необходимым, мы можем дополнить их до объединения, заметим, что от этого [math]M_1[/math] и [math]M_2[/math] не перестанут быть матроидами. Если в [math]M_1[/math] и [math]M_2[/math] носители непересекающиеся, то это будет являться прямой суммой матроидов.

Верны следующие утверждения про объединение матроидов:

  • Операция объединения матроидов ассоциативна, следовательно, можно говорить об объединении нескольких матроидов.
  • В отличие от пересечения матроидов, объединение двух конечных матроидов (англ. finite matroid) всегда является матроидом, однако объединение двух бесконечных матроидов (англ. infinite matroid) не обязательно будет им.
  • Объединение применяется к независимым множествам, а не к матроидам в целом, то есть это операция на другом уровне, по сравнению с пересечением матроидов.


Проверка множества на независимость

Задача:
Дан матроид [math]M = M_1 \cup M_2, M = \langle X, I\rangle[/math]. Необходимо проверить, является ли некоторое множество [math]U \in X[/math] независимым, то есть, лежит ли оно в [math]I[/math].


Для решения этой задачи преобразуем каждый элемент множества [math]X[/math] в матроиде [math]M_1[/math] в [math](x, 1)[/math], а каждый элемент множества [math]X[/math] в матроиде [math]M_2[/math] в [math](x, 2)[/math]. Мы получили два матроида [math]M'_1 = \langle (X \times \{1\}), I_1 \rangle [/math] и [math] M'_2 = \langle (X \times \{2\}), I_2 \rangle [/math].

Определим функцию [math]P_1[/math] : [math] X \times Y \rightarrow X[/math], при этом [math]P_1((x, y)) = x[/math], а для множества [math]B \in X \times Y[/math] выполняется [math]P_1(B) = \{A \subset X \mid \forall x \in A [/math] [math] \exists b \in B : P_1(b) = x\}[/math]. Тогда функция [math]P_1[/math] на носителях матроидов [math]M'_1[/math] и [math]M'_2[/math] будет являться естественным отображением [math](x, i) \rightarrow x[/math], где [math]i \in \{1, 2\}[/math].

Затем определим два матроида, которые нам далее понадобятся:

  1. [math]M_{\oplus} = M'_1 \oplus M'_2 = \langle (X \times \{1\}) \cup (X \times \{2\}),[/math] [math] I_{\oplus} = \{A \mid A = A_1 \cup A_2, A_1 \in I_1, A_2 \in I_2\} \rangle[/math] — прямая сумма двух матроидов (носители матроидов [math]M'_1[/math] и [math]M'_2[/math] при пересечении будут давать пустое множество).
  2. [math]M_{P_1} = \langle (X \times \{1\}) \cup (X \times \{2\}),[/math] [math] I_{P_1} = \{A \mid |P_1(A)| = |A|\} \rangle[/math][math]I_{P_1}[/math] в данном случае будет содержать такие независимые множества, что мощность любого множества [math]A[/math] из [math]I_{P_1}[/math] будет равна мощности множества, получаемого функцией [math]P_1[/math] над [math]A[/math], то есть [math]A[/math] не будет содержать одновременно [math](x, 1)[/math] и [math](x, 2)[/math].


Теперь перейдём к нашей задаче.

Множество [math]U[/math] является независимым, если ранговая функция [math] r(U) = |U|[/math]. Можно заметить, что в матроиде [math]M[/math] выполняется [math]r(U) = \max\limits_{A \mid A \in I_{\oplus}, A \in I_{P_1}, P_1(A) \subset U} |A|[/math]. Таким образом, мы свели задачу о проверке множества на независимость в объединении к нахождению мощности максимального независимого множества в пересечении матроидов [math]M_{\oplus}[/math] и [math]M_{P_1}[/math]. С помощью алгоритма построения базы в пересечении матроидов найдем размер максимального подмножества [math]U' \mid P_1(U') = U[/math] в пересечении наборов независимых множеств матроидов.

Доказательство того, что объединение матроидов является матродидом

Определение:
[math]M_1 = \langle X_1, I_1 \rangle [/math] и [math] M_2 = \langle X_2, I_2 \rangle [/math] — матроиды. Тогда [math] 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 [/math].


Лемма:
[math]M = \langle X, I \rangle[/math] — матроид, [math] f \colon X \to Y[/math]. Тогда [math]M_1 = \langle Y, I_1 = \{ f(A) \mid A \in I \} \rangle [/math] является матроидом.
Доказательство:
[math]\triangleright[/math]

Докажем аксиомы независимости для [math] I_1 [/math].

  1. [math]\varnothing \in I_1[/math]
    [math] \varnothing = f(\varnothing) \in I_1 [/math]
  2. [math]B \subset A, A \in I_1 \Rightarrow B \in I_1[/math]
    [math]A \in I_1[/math], значит [math]\exists S, S \in I[/math], такое, что [math] A = f(S)[/math]. [math]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[/math]. Значит [math]B \in I_1[/math].
  3. Пусть [math] A \in I_1, A = f(S), B \in I_1, B = f(T), |A| \gt |B|[/math]. Докажем, что [math]\exists y \in A \setminus B, B \cup \{ y \} \in I_1[/math]
    [math]A = f(S) \Rightarrow \exists S_1 \subset S, A = f(S_1), |S_1| = |A| [/math].
    [math]B = f(T) \Rightarrow \exists T_1 \subset T, B = f(T_1), |T_1| = |B| [/math].
    [math]S_1 \in I, T_1 \in I[/math] по второй аксиоме для [math]M[/math].
    [math] |S_1| \gt |T_1| [/math], значит по третьей аксиоме для [math]M[/math], [math]\exists x \in S_1 \setminus T_1, T_1 \cup \{ x \} \in I[/math]. Следовательно [math]f(T_1 \cup \{ x \}) \in I_1[/math].
    [math]f(T_1 \cup \{ x \}) = f(T_1) \cup f(x) = B \cup f(x)[/math] Значит [math]\exists y = f(x) \in A \setminus B , B \cup \{ y \} \in I_1[/math]
[math]\triangleleft[/math]


Теорема:
Объединение матроидов является матроидом.
Доказательство:
[math]\triangleright[/math]
Рассмотрим матроиды [math]M_1[/math] и [math]M_2[/math] из определения объединения матроидов. Из леммы знаем, что [math] 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 [/math] является матроидом. Пусть [math]f \colon X_1 \times \{ 1 \} \cup X_2 \times \{ 2 \} \to X_1 \cup X_2 [/math], такая, что [math]f(x \times \{ 1 \}) \rightarrow x [/math], [math]f(x \times \{ 2 \}) \rightarrow x [/math]. Тогда по лемме [math] M_3 = \langle X_1 \cup X_2, I_3 = \{ f(A) \mid A \in I \} \rangle[/math] — матроид, в котором независимым множествам соответствуют объединения независимых множеств в [math]M_1[/math] и [math]M_2[/math]. То есть [math]M_3 = M_1 \cup M_2[/math].
[math]\triangleleft[/math]

См. также

Источники информации