Теорема о базах — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (rollbackEdits.php mass rollback)
 
(не показано 18 промежуточных версий 6 участников)
Строка 1: Строка 1:
 
{{Определение
 
{{Определение
 +
|id=definition
 
|definition=
 
|definition=
'''База''' — максимальное по включению независимое множество. То есть
+
'''База''' (англ. ''base'') — максимальное по включению независимое множество. То есть
 
<tex>B \in I</tex> — база, если <tex> \forall A \in I  : B \subseteq A \Rightarrow A = B </tex>.
 
<tex>B \in I</tex> — база, если <tex> \forall A \in I  : B \subseteq A \Rightarrow A = B </tex>.
 
}}
 
}}
Строка 16: Строка 17:
  
 
{{Теорема
 
{{Теорема
 +
|id=base_theorem
 
|about=
 
|about=
 
о базах
 
о базах
|statement= Пусть <tex>M</tex> — матроид и <tex>B_s</tex> — семейство его баз. Тогда: <br>  
+
|statement= Пусть <tex>M</tex> — матроид и <tex>\mathcal{B}</tex> — семейство его баз. Тогда: <br>  
1) <tex>B_s \ne \varnothing</tex>; <br>
+
# <tex>\mathcal{B} \ne \varnothing</tex>; <br>
2) если <tex>B_1, B_2 \in B_s</tex> и <tex>B_1 \ne B_2</tex>, то <tex>B_1 \nsubseteq B_2</tex> и <tex>B_2 \nsubseteq B_1</tex>;<br>
+
# если <tex>B_1, B_2 \in \mathcal{B}</tex> и <tex>B_1 \ne B_2</tex>, то <tex>B_1 \nsubseteq B_2</tex> и <tex>B_2 \nsubseteq B_1</tex>;<br>
3) если <tex>B_1, B_2 \in B_s</tex>, то для <tex>\forall b_1 \in B_1 \: \exists b_2 \in B_2 </tex> такой, что <tex>(B_1 \setminus b_1) \cup b_2 \in B_s</tex>.
+
# если <tex>B_1, B_2 \in \mathcal{B}</tex>, то для <tex>\forall b_1 \in B_1 \: \exists b_2 \in B_2 </tex> такой, что <tex>(B_1 \setminus b_1) \cup b_2 \in \mathcal{B}</tex>.
 
|proof=
 
|proof=
1) Следует из первой аксиомы [[Определение матроида|определения матроида]]. <br>
+
# Следует из первой аксиомы [[Определение матроида|определения матроида]]. <br>
2) Из теоремы о равномощности баз следует, что <tex>B_1 \neg \subset B_2</tex> и <tex>B_2 \neg \subset B_1</tex>.  
+
# Из теоремы о равномощности баз следует, что <tex>\neg (B_1 \subset B_2)</tex> и <tex>\neg (B_2 \subset B_1)</tex>. А с условием <tex>B_1 \ne B_2</tex> получаем <tex>B_1 \nsubseteq B_2</tex> и <tex>B_2 \nsubseteq B_1</tex>. <br>
А с условием <tex>B_1 \ne B_2</tex> получаем <tex>B_1 \nsubseteq B_2</tex> и <tex>B_2 \nsubseteq B_1</tex>. <br>
+
# По второй аксиоме [[Определение матроида|определения матроида]] <tex>\forall b_1 \in B_1</tex> верно, что <tex>(B_1 \setminus b_1) \in I</tex>. <br>По теореме о равномощности баз <tex>|B_2|>|B_1 \setminus b_1|</tex>. <br>Значит по третьей аксиоме [[Определение матроида|определения матроида]] <tex>\exists b_2 \in B_2 </tex> такой, что <tex>(B_1 \setminus b_1) \cup b_2 \in I</tex>. <br>А так как <tex>|(B_1 \setminus b_1) \cup b_2| = |B_1| \:</tex>  и <tex>B_1</tex> — база, то <tex>(B_1 \setminus b_1) \cup b_2 \in \mathcal{B}</tex>, что и требовалось доказать.
3) По второй аксиоме [[Определение матроида|определения матроида]] <tex>\forall b_1 \in B_1</tex> верно, что <tex>(B_1 \setminus b_1) \in I</tex>. <br>
 
По теореме о равномощности баз <tex>|B_2|>|B_1 \setminus b_1|</tex>. <br>
 
Значит по третьей аксиоме [[Определение матроида|определения матроида]] <tex>\exists b_2 \in B_2 </tex> такой, что <tex>(B_1 \setminus b_1) \cup b_2 \in I</tex>. <br>
 
А так как <tex>|(B_1 \setminus b_1) \cup b_2| = |B_1| \:</tex>  и <tex>B_1</tex> — база, то <tex>(B_1 \setminus b_1) \cup b_2 \in B_s</tex>, что и требовалось доказать.
 
 
}}
 
}}
  
 +
{{Теорема
 +
|id=strong_base_theorem
 +
|about=
 +
Сильная теорема о базах
 +
|statement=  Пусть <tex>M = \langle X, I \rangle</tex> — матроид и <tex>\mathcal{B}</tex> — семейство его баз. Тогда <tex>\forall B_1, B_2 \in \mathcal{B} : \forall x \in B_1 \setminus B_2 : \exists y \in B_2 \setminus B_1</tex>
 +
такой, что <tex>(B_1 \setminus x) \cup y \in \mathcal{B}</tex> и <tex>(B_2 \setminus y) \cup x \in \mathcal{B}</tex>
 +
|proof=
 +
Рассмотрим <tex>x \in B_1 \setminus B_2</tex>. Так как <tex>B_2</tex> - база, <tex>B_2 \cup x \notin I</tex>, а значит, <tex>\exists ! \ C</tex> - цикл,  <tex>C \subseteq B_2 \cup x</tex>, причем <tex>x \in C</tex>. (см. пункт 3 [[Двойственный_матроид|теоремы о двойственном матроиде]])<br>
 +
Так как <tex>C</tex> {{---}} цикл, <tex>r(C) = r(C \setminus x)</tex>, а значит, <tex>x \in \langle C \setminus x \rangle</tex>.<br>
 +
<tex>C \setminus x \subseteq (B_1 \cup C) \setminus x</tex>, так что по 1 свойству [[Оператор замыкания для матроидов|оператора замыкания]]: <tex>x \in \langle (B_1 \cap C) \setminus x \rangle</tex>.<br>
 +
Тогда по 3 свойству [[Оператор замыкания для матроидов|оператора замыкания]] имеем: <tex>\langle (B_1 \cap C) \setminus x \rangle = \langle B_1 \cap C \setminus x \rangle = X</tex> (т. к. <tex>B_1</tex> - база).<br>
 +
Из этого следует, что <tex>\exists B'</tex> {{---}} база, такая, что <tex>B' \subseteq (B \cap C) \setminus x</tex>.<br>
 +
Множество <tex>B_1 \setminus x </tex> независимо, и <tex>|B_1 \setminus x| < |B'|</tex>, a значит (по 3 аксиоме матроидов): <tex>\exists y \in B' \setminus (B_1 \setminus x) : (B_1 \setminus x) \cup y \in \mathcal{B}</tex>.<br>
 +
Но <tex>B' \setminus (B_1 \setminus x) \subseteq ((B_1 \cup C) \setminus x) \setminus (B_1 \setminus x) \subseteq C \setminus x</tex>, следовательно, <tex>y \in C \setminus x \subseteq B_2</tex>.
 +
Значит, <tex>y \in B_2 \setminus B_1</tex>, что и требовалось.
 +
 +
Докажем теперь, что <tex>(B_2 \setminus y) \cup x</tex> {{---}} база. Пусть это не так, тогда <tex>\exists C'</tex> - цикл, <tex>C \subseteq (B_2 \setminus y) \cup x</tex>, причем <tex>C' \ne C</tex>, ведь <tex>y \in C</tex>. Но мы уже установили, что <tex>C</tex> {{---}} единственный цикл в <tex>B_2 \cup x</tex> {{---}} противоречие. Значит, <tex>(B_2 \setminus y) \cup x</tex> {{---}} база.
 +
}}
 +
 +
== См. также ==
 +
* [[Аксиоматизация матроида базами]]
 +
* [[Теорема о циклах]]
 +
* [[Аксиоматизация матроида циклами]]
 +
 +
== Источники информации ==
 +
* [https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf Chandra Chekuri: Combinatorial Optimization, Lecture 14 - Introduction to Matroids]
 +
* [https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture16.pdf Chandra Chekuri: Combinatorial Optimization, Lecture 16 - Base Exchange Properties]
 +
* [http://math.mit.edu/~goemans/18438F09/lec11.pdf Michel X. Goemans: Advanced Combinatorial Optimization, Lecture 11: Matroid Intersection]
  
 
[[Категория:Алгоритмы и структуры данных]]
 
[[Категория:Алгоритмы и структуры данных]]
 
[[Категория:Матроиды]]
 
[[Категория:Матроиды]]

Текущая версия на 19:15, 4 сентября 2022

Определение:
База (англ. base) — максимальное по включению независимое множество. То есть [math]B \in I[/math] — база, если [math] \forall A \in I : B \subseteq A \Rightarrow A = B [/math].


Теорема (о равномощности баз):
Пусть [math]B_1[/math] и [math]B_2[/math] — базы матроида [math]M[/math]. Тогда [math]|B_1| = |B_2|[/math].
Доказательство:
[math]\triangleright[/math]

Доказательство от противного. Пусть [math]|B_1| \gt |B_2|[/math]. Тогда по третьей аксиоме определения матроида [math]\exists x \in B_1 \setminus B_2[/math] такой, что [math]B_2 \cup {x} \in I[/math]. То есть [math]B_2[/math] — не максимальное по включению независимое множество, что противоречит определению базы.

Случай [math]|B_2| \gt |B_1|[/math] разбирается аналогично.
[math]\triangleleft[/math]
Теорема (о базах):
Пусть [math]M[/math] — матроид и [math]\mathcal{B}[/math] — семейство его баз. Тогда:
  1. [math]\mathcal{B} \ne \varnothing[/math];
  2. если [math]B_1, B_2 \in \mathcal{B}[/math] и [math]B_1 \ne B_2[/math], то [math]B_1 \nsubseteq B_2[/math] и [math]B_2 \nsubseteq B_1[/math];
  3. если [math]B_1, B_2 \in \mathcal{B}[/math], то для [math]\forall b_1 \in B_1 \: \exists b_2 \in B_2 [/math] такой, что [math](B_1 \setminus b_1) \cup b_2 \in \mathcal{B}[/math].
Доказательство:
[math]\triangleright[/math]
  1. Следует из первой аксиомы определения матроида.
  2. Из теоремы о равномощности баз следует, что [math]\neg (B_1 \subset B_2)[/math] и [math]\neg (B_2 \subset B_1)[/math]. А с условием [math]B_1 \ne B_2[/math] получаем [math]B_1 \nsubseteq B_2[/math] и [math]B_2 \nsubseteq B_1[/math].
  3. По второй аксиоме определения матроида [math]\forall b_1 \in B_1[/math] верно, что [math](B_1 \setminus b_1) \in I[/math].
    По теореме о равномощности баз [math]|B_2|\gt |B_1 \setminus b_1|[/math].
    Значит по третьей аксиоме определения матроида [math]\exists b_2 \in B_2 [/math] такой, что [math](B_1 \setminus b_1) \cup b_2 \in I[/math].
    А так как [math]|(B_1 \setminus b_1) \cup b_2| = |B_1| \:[/math] и [math]B_1[/math] — база, то [math](B_1 \setminus b_1) \cup b_2 \in \mathcal{B}[/math], что и требовалось доказать.
[math]\triangleleft[/math]
Теорема (Сильная теорема о базах):
Пусть [math]M = \langle X, I \rangle[/math] — матроид и [math]\mathcal{B}[/math] — семейство его баз. Тогда [math]\forall B_1, B_2 \in \mathcal{B} : \forall x \in B_1 \setminus B_2 : \exists y \in B_2 \setminus B_1[/math] такой, что [math](B_1 \setminus x) \cup y \in \mathcal{B}[/math] и [math](B_2 \setminus y) \cup x \in \mathcal{B}[/math]
Доказательство:
[math]\triangleright[/math]

Рассмотрим [math]x \in B_1 \setminus B_2[/math]. Так как [math]B_2[/math] - база, [math]B_2 \cup x \notin I[/math], а значит, [math]\exists ! \ C[/math] - цикл, [math]C \subseteq B_2 \cup x[/math], причем [math]x \in C[/math]. (см. пункт 3 теоремы о двойственном матроиде)
Так как [math]C[/math] — цикл, [math]r(C) = r(C \setminus x)[/math], а значит, [math]x \in \langle C \setminus x \rangle[/math].
[math]C \setminus x \subseteq (B_1 \cup C) \setminus x[/math], так что по 1 свойству оператора замыкания: [math]x \in \langle (B_1 \cap C) \setminus x \rangle[/math].
Тогда по 3 свойству оператора замыкания имеем: [math]\langle (B_1 \cap C) \setminus x \rangle = \langle B_1 \cap C \setminus x \rangle = X[/math] (т. к. [math]B_1[/math] - база).
Из этого следует, что [math]\exists B'[/math] — база, такая, что [math]B' \subseteq (B \cap C) \setminus x[/math].
Множество [math]B_1 \setminus x [/math] независимо, и [math]|B_1 \setminus x| \lt |B'|[/math], a значит (по 3 аксиоме матроидов): [math]\exists y \in B' \setminus (B_1 \setminus x) : (B_1 \setminus x) \cup y \in \mathcal{B}[/math].
Но [math]B' \setminus (B_1 \setminus x) \subseteq ((B_1 \cup C) \setminus x) \setminus (B_1 \setminus x) \subseteq C \setminus x[/math], следовательно, [math]y \in C \setminus x \subseteq B_2[/math]. Значит, [math]y \in B_2 \setminus B_1[/math], что и требовалось.

Докажем теперь, что [math](B_2 \setminus y) \cup x[/math] — база. Пусть это не так, тогда [math]\exists C'[/math] - цикл, [math]C \subseteq (B_2 \setminus y) \cup x[/math], причем [math]C' \ne C[/math], ведь [math]y \in C[/math]. Но мы уже установили, что [math]C[/math] — единственный цикл в [math]B_2 \cup x[/math] — противоречие. Значит, [math](B_2 \setminus y) \cup x[/math] — база.
[math]\triangleleft[/math]

См. также

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