Покрытия, закрытые множества — различия между версиями
Martoon (обсуждение | вклад) (Перенесено из Оператор_замыкания_для_матроидов) |
м (rollbackEdits.php mass rollback) |
||
(не показано 20 промежуточных версий 5 участников) | |||
Строка 2: | Строка 2: | ||
{{Определение | {{Определение | ||
− | |definition = Пусть <tex>M =\; \langle X,I \rangle</tex> {{---}} матроид. Тогда '''покрытие''' (англ. ''span'') множества <tex>A \subseteq X</tex> {{---}} это множество <tex> | + | |definition = Пусть <tex>M =\; \langle X,I \rangle</tex> {{---}} матроид. Тогда '''покрытие''' (англ. ''span'') множества <tex>A \subseteq X</tex> {{---}} это множество <tex> span_M(A) = \{ x \in X \; |\; r(A) = r(A \cup x) \}</tex> |
}} | }} | ||
+ | Далее <tex>span_M </tex> будет указываться, как <tex>span</tex> | ||
+ | |||
{{Определение | {{Определение | ||
− | |definition = <tex> span(A) = A \cup \ | + | |definition = <tex> span(A) = A \cup \{ x \in X \setminus A \; |\; \forall S \subseteq A,\ S \in I,\ |S| = r(A) :\ S \cup x \notin I \} </tex> |
}} | }} | ||
{{Утверждение | {{Утверждение | ||
|statement=Эти определения эквивалентны. | |statement=Эти определения эквивалентны. | ||
− | |proof=Понятно, что элементы из <tex> A </tex> подходят под оба определения. Для остальных же <tex> x </tex> равенство <tex> \ r(A) = r(A \cup x) </tex> означает, что не найдётся множеств <tex> S' \subseteq A \cup x :\ S' \in I,\ |S'| > r(A). </tex> Для такого <tex> S' </tex> обязательно будет выполнено <tex> x \in S', </tex> в противном случае <tex> S' \subseteq A, </tex> | + | |proof=Понятно, что элементы из <tex> A </tex> подходят под оба определения. Для остальных же <tex> x </tex> равенство <tex> \ r(A) = r(A \cup x) </tex> означает, что не найдётся множеств <tex> S' \subseteq A \cup x :\ S' \in I,\ |S'| > r(A). </tex> Для такого <tex> S' </tex> обязательно будет выполнено <tex> x \in S', </tex> в противном случае <tex> S' \subseteq A, </tex> что приведёт к <tex> r(A) \geqslant |S'|. </tex> Тогда для <tex> S = S' \setminus x </tex> верно <tex> S \subseteq A,\ S \in I. </tex> Из последнего получается, что <tex> r(A) \geqslant |S|, </tex> и учитывая <tex> r(A) < |S'|,\ |S| + 1 = |S'| </tex> имеем <tex> r(A) = |S|. </tex> |
− | Иначе говоря, не должно существовать множеств <tex> S \subseteq A | + | Иначе говоря, не должно существовать множеств <tex> S \subseteq A,\ S \in I,\ |S| = r(A):\ S' = S \cup x \in I. </tex> |
}} | }} | ||
+ | |||
{{Утверждение | {{Утверждение | ||
− | |statement= | + | |statement=Для множества <tex> A \subseteq X </tex> выполнено <tex> span(A) \subseteq \langle A \rangle. </tex> |
|proof=Покажем, что следующее определение замыкания равносильно тому, которое [[Оператор замыкания для матроидов | было дано]] ранее: | |proof=Покажем, что следующее определение замыкания равносильно тому, которое [[Оператор замыкания для матроидов | было дано]] ранее: | ||
− | : <tex>\langle A \rangle = A \cup \ | + | : <tex>\langle A \rangle = A \cup \{ x \in X \setminus A \; |\; \exists H \subseteq A, \; H \in I , \; |H| = r(A) :\ H \cup x \notin I \}</tex> |
По сравнению со старым определением появилось два ограничения, нужно убедится в том, что они не существены. Сначала рассмотрим <tex> |H| = r(A). </tex> | По сравнению со старым определением появилось два ограничения, нужно убедится в том, что они не существены. Сначала рассмотрим <tex> |H| = r(A). </tex> | ||
− | : Пусть <tex> \exists H \subseteq A :\ H \in I ,\; H \cup x \notin I, </tex> но <tex> |H| < r(A). </tex> По [[Ранговая функция, полумодулярность | определению ранга]] <tex> \exists D \subseteq A ,\; D \in I :\ |D| = r(A). </tex> Поскольку <tex> |H| < |D| </tex>, можно применить 3-ю аксиому матроидов несколько раз и получить <tex> H' \subseteq A :\ H \subseteq H' ,\; H' \in I ,\; |H'| = r(A). </tex> | + | : Пусть <tex> \exists H \subseteq A :\ H \in I ,\; H \cup x \notin I, </tex> но <tex> |H| < r(A). </tex> По [[Ранговая функция, полумодулярность | определению ранга]] <tex> \exists D \subseteq A ,\; D \in I :\ |D| = r(A). </tex> Поскольку <tex> |H| < |D| </tex>, можно применить [[Определение матроида | 3-ю аксиому матроидов]] несколько раз и получить <tex> H' \subseteq A :\ H \subseteq H' ,\; H' \in I ,\; |H'| = r(A). </tex> |
− | : <tex> H' \cup x \notin I </tex> также будет выполнено, поскольку в противном случае <tex> H \cup x \notin I </tex> будет неверно (в силу 2-ой аксиомы матроидов). | + | : <tex> H' \cup x \notin I </tex> также будет выполнено, поскольку в противном случае <tex> H \cup x \notin I </tex> будет неверно (в силу [[Определение матроида | 2-ой аксиомы матроидов]]). |
− | Второе ограничение {{---}} <tex> | + | Второе ограничение {{---}} <tex> x \in X \setminus A </tex> можно наложить по той причине, что элементы <tex> x \in A </tex> и так входят в замыкание благодаря левой части объединения. |
+ | |||
В соответствии с этим определением, замыкание множества <tex> A </tex> {{---}} это, кроме всех элементов <tex> A </tex>, все такие <tex> x, </tex> что какое-то из максимальных по мощности независимых подмножеств <tex> A </tex> нельзя дополнить <tex> x </tex>-ом, оставив это множество независимым. Определение покрытия отличается только квантором {{---}} вместо "какое-то" нужно поставить "любое". | В соответствии с этим определением, замыкание множества <tex> A </tex> {{---}} это, кроме всех элементов <tex> A </tex>, все такие <tex> x, </tex> что какое-то из максимальных по мощности независимых подмножеств <tex> A </tex> нельзя дополнить <tex> x </tex>-ом, оставив это множество независимым. Определение покрытия отличается только квантором {{---}} вместо "какое-то" нужно поставить "любое". | ||
+ | |||
+ | Учитывая, что <tex> S \subseteq A,\ S \in I,\ |S| = r(A) </tex> описывает непустое множество таких <tex> S </tex> (по определению ранга), будет верным следствие: | ||
+ | : <tex> \forall S \subseteq A,\ S \in I,\ |S| = r(A) :\ S \cup x \notin I \ \Rightarrow </tex> | ||
+ | : <tex> \exists H \subseteq A, \; H \in I , \; |H| = r(A) :\ H \cup x \notin I </tex> | ||
+ | Поэтому <tex> x \in span(A) \Rightarrow x \in \langle A \rangle. </tex> | ||
}} | }} | ||
{{Теорема | {{Теорема | ||
− | |statement = | + | |statement = Пусть S {{---}} конечное множество. Функция <tex> span : \mathcal P (S) \rightarrow \mathcal P (S) </tex> является покрытием матроида тогда и только тогда, когда удовлетворяет следующим свойствам: |
− | # <tex> | + | # <tex> T, U \subseteq S;\ U \subseteq span(T) \ \Rightarrow \ span(U) \subseteq span(T) </tex> |
− | # <tex> | + | # <tex> T \subseteq S,\ t \in S \setminus T,\ s \in span(T \cup t) \setminus span(T) \ \Rightarrow \ t \in span(T \cup s) </tex> |
− | | | + | |proof ='''Необходимое условие'''. Пусть <tex> span </tex> будет функцией покрытия матроида <tex> M = (S, L) </tex> с ранговой функцией <tex> r </tex>. Покажем, что <tex> s \in span(T)</tex>. Пусть <tex>U \subseteq span(T)</tex> и <tex>s \in span(U)</tex>. Предположим, что <tex> s </tex> не принадлежит <tex>T</tex>. Тогда по [[ Ранговая_функция, полумодулярность | полумодулярность ранговой функции]] мы имеем: |
+ | : <tex> r(T \cup {s}) \leqslant r(T \cup U \cup {s}) \leqslant r(T \cup U) + r(U \cup {s}) - r(U) = r(T \cup U) = r(T)</tex> | ||
+ | Это показывает, что <tex> s \in span(T) </tex>. | ||
+ | |||
+ | Заметим, что <tex> s \in span(T \cup {t}) \Rightarrow span(T) </tex> эквивалентно таким выражениям: <tex> r(T \cup {t} \cup {s}) = r(T \cup {t}) </tex> и <tex> r(T \cup {s}) > r(T)</tex>. Следовательно | ||
+ | : <tex>r(T \cup t \cup {s}) = r(T \cup {t}) <= r(T) + 1 <= r(T \cup {s}) </tex> | ||
+ | то есть, <tex> t \in span(T \cup {s}) </tex>. | ||
+ | |||
+ | '''Достаточное условие'''. Пусть функция <tex>span</tex> удовлетворяет свойствам и определена, как: | ||
+ | :<tex> L = \{ I \subseteq S \; |\; \forall s \in I : s \notin span(I \setminus {s}) \} </tex> | ||
+ | Сперва посмотрим на следующее: | ||
+ | :если <tex> I \in L </tex>, тогда <tex>span(I) = I \cup \{ t \; | \; I \cup {t} \in L \} </tex>. <tex>(1)</tex> | ||
+ | |||
+ | Действительно, если <tex> t \in span(I) \setminus I </tex>, тогда <tex> I \cup {t} \notin L </tex>, по определению независимого множества. С другой стороны, <tex> I \subseteq span(I)</tex>. Кроме того, если <tex> I \cup {t} \notin L </tex>, тогда по определению независимого множества получаем, что <tex> \exists s \in I \cup t : s \in span(I \cup {t} \setminus {s}) </tex>. Если <tex> s = t </tex>, тогда <tex> t \in span(I) </tex>. Предположим, что <tex> s \neq t </tex>, т.е. <tex> s \in I </tex>. Мы знаем, что <tex> s \notin span(I \setminus {s}) </tex>, так как <tex> I \in L </tex>. Таким образом по <tex>3</tex> свойству доказывается (для <tex> T \in I \setminus {s} </tex>), <tex> t \in span(I) </tex>. | ||
+ | |||
+ | Теперь покажем, что <tex> M = (S, L) </tex> {{---}} матроид. Очевидно, <tex> \emptyset \in L </tex>. Для начала покажем, что <tex> I </tex> закрытое множество под полученным подмножеством, Пусть <tex> I \in L </tex> и <tex> J \subseteq I </tex>. Мы видим, что <tex> J \in I </tex>. Предположим наоборот, что <tex>\exists s \in J : s \in span(J \setminus {s}) </tex>. Тогда по второму свойству <tex> span(J \setminus {s}) \subseteq span(I \setminus {s})</tex>. Следовательно, <tex> s \in span( I \setminus {s})</tex>, что противоречит условию, что <tex> I \in L </tex>. | ||
+ | |||
+ | Для того чтобы проверить [[Определение матроида | 3-ю аксиому матроидов]], допустим, что <tex> I, J \in L </tex>, <tex> |I \setminus J| = 1 </tex> и <tex> |J \setminus I| = 2</tex>. Пусть <tex>I \setminus J = \{ i \}</tex> и <tex>J \setminus I = \{ {j_1, j_2} \}</tex>. Предположим, что <tex> I \cup {j_1} \notin L</tex>, т.е. <tex> J \cup {i} \setminus {j_2} \notin L</tex>, и так по <tex>(1)</tex> применяется к <tex>J \setminus {j_2} </tex>, <tex> i \in span(J \setminus {j_2}) </tex>. Поэтому, <tex> I \subseteq span(J \setminus {j_2})</tex> и <tex> span(I) \subseteq span(J \setminus {j_2}) </tex>. Таким образом <tex> j_2 \notin span(i) </tex>(как и <tex> J \in L</tex>) и поэтому, <tex>(1)</tex> применяется к <tex> I </tex> и к <tex> I \cup {j_2} \in L </tex>. | ||
+ | |||
+ | Таким образом <tex> M </tex> является матроидом. Теперь покажем, что <tex>span = span_M</tex>. Выберем такое множество <tex> T \subseteq S </tex>, чтобы увидеть, что <tex> span(T) = span_M(T) </tex>, пусть <tex> I </tex> будет базой <tex> T </tex> (в <tex> M </tex>). Тогда используя (1), мы получаем: | ||
+ | :<tex>span_M(T) = T \cup \{ x \; | \; I \cup {x} \notin L \} = span(I) \subseteq(T) </tex> | ||
+ | Таким образом, мы показали, что <tex> span(T) \subseteq span(I)</tex> т.е. по <tex>1</tex> свойству <tex> T \subseteq span(I)</tex>. Теперь выберем <tex> t \in T \setminus I</tex>. В силу максимальности <tex> I </tex>, мы знаем, что <tex>I \cup t \notin L</tex>, и, следовательно, по <tex>(1)</tex> получаем, что <tex> t \in span(I) </tex>. | ||
}} | }} | ||
− | |||
== Закрытые множества == | == Закрытые множества == | ||
Строка 41: | Строка 70: | ||
{{Теорема | {{Теорема | ||
− | |statement = | + | |statement = Пусть <tex> S </tex> {{---}} какое-то множество и <tex> \mathcal L \subseteq S </tex>. Закрытые множества обладают следующими свойствами: |
# <tex> A, B \in \mathcal L \ \; \Rightarrow \ A \cap B \in \mathcal L </tex> | # <tex> A, B \in \mathcal L \ \; \Rightarrow \ A \cap B \in \mathcal L </tex> | ||
− | # Если <tex> F \in \mathcal L,\ p \in X \setminus | + | # Если <tex> F \in \mathcal L,\ p \in X \setminus F </tex> и <tex> F' </tex> {{---}} наименьшее закрытое множество, содержащее <tex> F \cup p, </tex> тогда не существует <tex> F'' \in \mathcal L :\ F \subseteq F'' \subseteq F'. </tex> |
− | |proof = | + | |proof ='''Необходимость'''. Пусть <tex> \mathcal L </tex> семейство закрытых множеств матроида <tex> M = (S, \mathcal I) </tex>. Первое свойство следует из <tex> span(A \cap B) \subseteq span(A) \cap span(B) = A \cap B </tex>, по определению закрытого множества мы получаем, что пересечение закрытых множеств закрыто. Посмотрим на <tex>2</tex> свойства, допустим, что такой <tex> F'' </tex> существует, и выберем <tex> s \in F'' \setminus F </tex>. Таким образом <tex> s \notin span(F)</tex>. Согласно тому, что <tex> F' \not\subseteq F'' </tex>, мы получаем, что <tex> t \notin span(F \cup s)</tex>. Поэтому, по второму свойству покрывающего множества для <tex> T := F </tex> получаем противоречие, т.к. <tex> s \notin span(F) = F'</tex>. |
+ | |||
+ | '''Достаточность'''. Пусть <tex> \mathcal L </tex> удовлетворяет свойствам закрытого множества и <tex> span(Y) </tex> будет наименьшем множеством в <tex> \mathcal L </tex> содержащий <tex> Y </tex>, для <tex> F \subseteq S </tex>. Поскольку <tex> F \in \mathcal L \Longleftrightarrow span(F) = F </tex>, этого достаточно, чтобы увидеть, что <tex> span </tex> удовлетворяет свойствам покрытого множества. Первое свойство тривиально. Рассмотрим второе свойство, пусть <tex>T \subseteq S, t \in S \setminus T, </tex> и <tex> s \in span(T \cup t) \setminus span(T) </tex>. Тогда <tex> span(T ) \subset span(T \cup s) \subseteq span(T \cup t) </tex>. Следовательно, по второму свойству, <tex>span(T \cup s) = span(T \cup t) </tex>, и следовательно, <tex> t \in span(T \cup s)</tex>. | ||
+ | |||
}} | }} | ||
+ | |||
+ | == См. также == | ||
+ | * [[Определение матроида]] | ||
+ | * [[Оператор замыкания для матроидов]] | ||
+ | * [[Теорема о базах]] | ||
+ | |||
+ | == Источники информации == | ||
+ | *''Асанов М. О., Баранский В. А., Расин В. В.'' {{---}} Дискретная математика: Графы, матроиды, алгоритмы. '''ISBN 978-5-8114-1068-2''' | ||
+ | * [http://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture14.pdf courses.engr.illinois.edu {{---}} Lecture 14, course ''CS 598CSC: Combinatorial optimization''] | ||
+ | *''Alexander Schrijver'' {{---}} Combinatorial Optimization. Polyhedra and Efficiency | ||
+ | |||
+ | [[Категория:Алгоритмы и структуры данных]] | ||
+ | [[Категория:Матроиды]] | ||
+ | [[Категория:Основные факты теории матроидов]] |
Текущая версия на 19:05, 4 сентября 2022
Покрытие
Определение: |
Пусть | — матроид. Тогда покрытие (англ. span) множества — это множество
Далее
будет указываться, как
Определение: |
Утверждение: |
Эти определения эквивалентны. |
Понятно, что элементы из Иначе говоря, не должно существовать множеств подходят под оба определения. Для остальных же равенство означает, что не найдётся множеств Для такого обязательно будет выполнено в противном случае что приведёт к Тогда для верно Из последнего получается, что и учитывая имеем |
Утверждение: |
Для множества выполнено |
Покажем, что следующее определение замыкания равносильно тому, которое было дано ранее: По сравнению со старым определением появилось два ограничения, нужно убедится в том, что они не существены. Сначала рассмотрим
Второе ограничение — можно наложить по той причине, что элементы и так входят в замыкание благодаря левой части объединения.В соответствии с этим определением, замыкание множества — это, кроме всех элементов , все такие что какое-то из максимальных по мощности независимых подмножеств нельзя дополнить -ом, оставив это множество независимым. Определение покрытия отличается только квантором — вместо "какое-то" нужно поставить "любое".Учитывая, что описывает непустое множество таких (по определению ранга), будет верным следствие: |
Теорема: |
Пусть S — конечное множество. Функция является покрытием матроида тогда и только тогда, когда удовлетворяет следующим свойствам:
|
Доказательство: |
Необходимое условие. Пусть полумодулярность ранговой функции мы имеем: будет функцией покрытия матроида с ранговой функцией . Покажем, что . Пусть и . Предположим, что не принадлежит . Тогда поЭто показывает, что .Заметим, что эквивалентно таким выражениям: и . Следовательното есть, .Достаточное условие. Пусть функция удовлетворяет свойствам и определена, как:Сперва посмотрим на следующее:
Действительно, если , тогда , по определению независимого множества. С другой стороны, . Кроме того, если , тогда по определению независимого множества получаем, что . Если , тогда . Предположим, что , т.е. . Мы знаем, что , так как . Таким образом по свойству доказывается (для ), .Теперь покажем, что — матроид. Очевидно, . Для начала покажем, что закрытое множество под полученным подмножеством, Пусть и . Мы видим, что . Предположим наоборот, что . Тогда по второму свойству . Следовательно, , что противоречит условию, что .Для того чтобы проверить 3-ю аксиому матроидов, допустим, что , и . Пусть и . Предположим, что , т.е. , и так по применяется к , . Поэтому, и . Таким образом (как и ) и поэтому, применяется к и к . Таким образом является матроидом. Теперь покажем, что . Выберем такое множество , чтобы увидеть, что , пусть будет базой (в ). Тогда используя (1), мы получаем: |
Закрытые множества
Определение: |
Множество | называется закрытым (англ. closed set, flat), если Класс закрытых множеств обозначается
Теорема: |
Пусть — какое-то множество и . Закрытые множества обладают следующими свойствами:
|
Доказательство: |
Необходимость. Пусть Достаточность. Пусть семейство закрытых множеств матроида . Первое свойство следует из , по определению закрытого множества мы получаем, что пересечение закрытых множеств закрыто. Посмотрим на свойства, допустим, что такой существует, и выберем . Таким образом . Согласно тому, что , мы получаем, что . Поэтому, по второму свойству покрывающего множества для получаем противоречие, т.к. . удовлетворяет свойствам закрытого множества и будет наименьшем множеством в содержащий , для . Поскольку , этого достаточно, чтобы увидеть, что удовлетворяет свойствам покрытого множества. Первое свойство тривиально. Рассмотрим второе свойство, пусть и . Тогда . Следовательно, по второму свойству, , и следовательно, . |
См. также
Источники информации
- Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы. ISBN 978-5-8114-1068-2
- courses.engr.illinois.edu — Lecture 14, course CS 598CSC: Combinatorial optimization
- Alexander Schrijver — Combinatorial Optimization. Polyhedra and Efficiency