Доказательство теоремы Эдмондса-Лоулера — различия между версиями
м (rollbackEdits.php mass rollback) |
|||
(не показаны 4 промежуточные версии 3 участников) | |||
Строка 16: | Строка 16: | ||
|about=1 | |about=1 | ||
|statement = <tex>A</tex> — независимое множество в матроиде <tex>M=\langle X, I\rangle</tex>. <tex>B \subset X</tex>, <tex>|B|=|A|</tex> и в подграфе графа замен <tex>G_M</tex>, индуцированном <tex>A \oplus B</tex>, существует единственное полное паросочетание. Тогда <tex>B</tex> — независимое в матроиде <tex>M</tex>. | |statement = <tex>A</tex> — независимое множество в матроиде <tex>M=\langle X, I\rangle</tex>. <tex>B \subset X</tex>, <tex>|B|=|A|</tex> и в подграфе графа замен <tex>G_M</tex>, индуцированном <tex>A \oplus B</tex>, существует единственное полное паросочетание. Тогда <tex>B</tex> — независимое в матроиде <tex>M</tex>. | ||
− | |proof= | + | |proof= |
+ | [[Файл:El_lemma2.png|thumb|right|Граф <tex>G</tex>]] | ||
+ | Обозначим граф (неориентированный), индуцированный <tex>A \oplus B</tex> за <tex>G</tex>. Обозначим вершины из <tex>A \setminus B</tex> за <tex>y_i</tex>, из <tex>B \setminus A</tex> за <tex>z_i</tex>. Перенумеруем вершины так, чтобы рёбра из паросочетания соединяли вершины с одинаковыми индексами, и <tex>\forall i,j: i < j</tex> не существовало бы ребра между вершинами <tex>y_i</tex> и <tex>z_j</tex> (возможность первого следует из существования полного паросочетания, второго — из его единственности). | ||
Пусть <tex>B</tex> — не независимо, значит, <tex>\exists</tex> цикл <tex>C \subset B</tex>. Обозначим <tex>i = \min k: z_k \in C</tex>. | Пусть <tex>B</tex> — не независимо, значит, <tex>\exists</tex> цикл <tex>C \subset B</tex>. Обозначим <tex>i = \min k: z_k \in C</tex>. | ||
− | <tex>\forall j > i \quad y_iz_j \notin | + | <tex>\forall j > i \quad y_iz_j \notin G(A) \Rightarrow A \setminus y_i \cup z_j \notin I \Rightarrow C \setminus z_i \subseteq \langle A \setminus y_i \rangle</tex>. |
− | <tex> | + | Так как <tex>C</tex> — цикл, то <tex>C \subseteq \langle C \setminus z_i \rangle \subseteq \langle A \setminus y_i \rangle</tex>. Это означает, что <tex>z_i \in \langle A \setminus y_i \rangle</tex>, и, следовательно, <tex> A \setminus y_i \cup z_i \notin I</tex>, что приводит к противоречию с существованием ребра <tex>y_i z_i</tex>. |
}} | }} | ||
Строка 29: | Строка 31: | ||
Будем таким образом увеличивать <tex>I</tex>, пока существует путь <tex>p</tex>. Рассмотрим момент, когда такого пути не нашлось. | Будем таким образом увеличивать <tex>I</tex>, пока существует путь <tex>p</tex>. Рассмотрим момент, когда такого пути не нашлось. | ||
Введём обозначение: <tex>A = \{u|u \rightsquigarrow T\}</tex>. Докажем, что <tex>r_1(A) = |I \cap A|</tex> от противного. | Введём обозначение: <tex>A = \{u|u \rightsquigarrow T\}</tex>. Докажем, что <tex>r_1(A) = |I \cap A|</tex> от противного. | ||
− | Пусть <tex>r_1(A) > |I \cap A|</tex> | + | Пусть <tex>r_1(A) > |I \cap A|</tex>, тогда существует <tex>z \in A \setminus (I \cap A)</tex>, такое, что <tex>(I \cap A) \cup \{z\} \in I_1</tex>. Если <tex>I \cup \{z\} \in I_1</tex>, то <tex>z \in S</tex> и из <tex>S</tex> есть путь в <tex>A</tex>. Значит, <tex>I \cup \{z\} \notin I_1</tex>. Отсюда следует, что существует <tex>y \in I \setminus A</tex>, такое что <tex>I \setminus \{y\} \cup \{z\} \in I_1</tex>. Но тогда ребро <tex>yz</tex> имеется в графе, что противоречит отсутствию пути из <tex>S</tex> в <tex>T</tex>. |
− | + | ||
− | |||
− | |||
Следовательно, <tex>r_1(A) = |I \cap A|</tex>. Аналогично, <tex>r_2(\overline A) = |I \cap \overline A|</tex>. Отсюда <tex>r_1(A) + r_2(\overline A) = |I|</tex>, то есть при найденных <tex>I</tex> и <tex>A</tex> достигается равенство. | Следовательно, <tex>r_1(A) = |I \cap A|</tex>. Аналогично, <tex>r_2(\overline A) = |I \cap \overline A|</tex>. Отсюда <tex>r_1(A) + r_2(\overline A) = |I|</tex>, то есть при найденных <tex>I</tex> и <tex>A</tex> достигается равенство. | ||
Построен пример равенства, значит, теорема доказана. | Построен пример равенства, значит, теорема доказана. | ||
}} | }} |
Текущая версия на 19:25, 4 сентября 2022
Теорема (Эдмондса - Лоулера): | ||||||
Пусть , — матроиды. Тогда Где . и — ранговые функции в первом и втором матроиде соответственно. | ||||||
Доказательство: | ||||||
Неравенство здесь. доказываетсяКонструктивно построим такие и , что . Этого будет достаточно для доказательства теоремы.Обозначим , . Если , добавим их пересечение в .
Построим граф замен . Добавим вершину , не влияющую на независимость в первом матроиде — из неё будут вести рёбра во все вершины множества . Пусть — кратчайший путь из в , — путь с добавленным в начало ребром из . По лемме 1 и лемме о единственном паросочетании . Теперь добавим вершину , не влияющую на независимость во втором матроиде — в неё будут вести рёбра из всех вершин множества . Тогда (путь с добавленным ребром в ) — кратчайший путь из в . Аналогично, . Отсюда следует, что , причём . Будем таким образом увеличивать , пока существует путь . Рассмотрим момент, когда такого пути не нашлось. Введём обозначение: . Докажем, что от противного. Пусть , тогда существует , такое, что . Если , то и из есть путь в . Значит, . Отсюда следует, что существует , такое что . Но тогда ребро имеется в графе, что противоречит отсутствию пути из в .Следовательно, Построен пример равенства, значит, теорема доказана. . Аналогично, . Отсюда , то есть при найденных и достигается равенство. | ||||||