Критерий Тарьяна минимальности остовного дерева — различия между версиями
Filchenko (обсуждение | вклад) (зяпятушечки) |
Filchenko (обсуждение | вклад) (еще стилистика) |
||
Строка 12: | Строка 12: | ||
Теперь докажем, что дерево, удовлетворяющее условию, минимально: | Теперь докажем, что дерево, удовлетворяющее условию, минимально: | ||
− | Обозначим дерево <tex>T</tex>, | + | Обозначим дерево <tex>T</tex> и покажем, что его можно построить алгоритмом Крускала. |
Индукция по количеству ребер в дереве: | Индукция по количеству ребер в дереве: | ||
− | База: | + | |
− | пустое дерево. | + | База: пустое дерево. |
Переход: | Переход: | ||
+ | |||
Строим дерево <tex>T'</tex> по лемме о безопасном ребре. Рассмотрим минимальное невзятое ребро <tex>uv \in T</tex>. | Строим дерево <tex>T'</tex> по лемме о безопасном ребре. Рассмотрим минимальное невзятое ребро <tex>uv \in T</tex>. | ||
Рассмотрим разрез, окружающий одну из двух компонент. | Рассмотрим разрез, окружающий одну из двух компонент. | ||
Пусть <tex>uv</tex> не минимально в разрезе, тогда существует <tex>ab \notin T</tex> такое, что <tex>w(ab) < w(uv)</tex>. Рассмотрим <tex>\{ab\} \cup T</tex>: некое ребро <tex>xy \in T</tex>, такое что <tex>w(xy) \ge w(uv) > w(ab)</tex>, будет лежать на цикле. Противоречие условию теоремы. | Пусть <tex>uv</tex> не минимально в разрезе, тогда существует <tex>ab \notin T</tex> такое, что <tex>w(ab) < w(uv)</tex>. Рассмотрим <tex>\{ab\} \cup T</tex>: некое ребро <tex>xy \in T</tex>, такое что <tex>w(xy) \ge w(uv) > w(ab)</tex>, будет лежать на цикле. Противоречие условию теоремы. | ||
+ | |||
Если <tex>uv</tex> минимально — добавим его в <tex>T'</tex>. | Если <tex>uv</tex> минимально — добавим его в <tex>T'</tex>. | ||
Версия 20:31, 15 января 2011
Теорема (критерий минимальности остовного дерева Тарьяна): |
Остовное дерево минимально тогда и только тогда, когда любое ребро не из дерева является максимальным на цикле, который образуется при его добавлении в дерево. |
Доказательство: |
Легко заметить, что остовное дерево, не удовлетворяющее условию, не минимально: Если существует ребро, не максимальное на образовавшемся цикле, мы можем уменьшить вес дерева, добавив это ребро и удалив максимальное. Теперь докажем, что дерево, удовлетворяющее условию, минимально: Обозначим дерево и покажем, что его можно построить алгоритмом Крускала.Индукция по количеству ребер в дереве: База: пустое дерево. Переход: Строим дерево по лемме о безопасном ребре. Рассмотрим минимальное невзятое ребро . Рассмотрим разрез, окружающий одну из двух компонент.Пусть не минимально в разрезе, тогда существует такое, что . Рассмотрим : некое ребро , такое что , будет лежать на цикле. Противоречие условию теоремы.Если В процессе индукции добавлялись только ребра из минимально — добавим его в . , поэтому построенное дерево совпадет с . |