Критерий Тарьяна минимальности остовного дерева — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(картинка)
(орфография и пунктуация хромали на обе ноги)
Строка 16: Строка 16:
 
Индукция по количеству ребер в дереве:
 
Индукция по количеству ребер в дереве:
 
База:
 
База:
пустое дерево. Строим дерево <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</tex> в дерево <tex>T</tex> Некое ребро <tex>xy</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</tex> в дерево <tex>T</tex> некое ребро <tex>xy</tex>, такое что <tex>w(xy) \ge w(uv) < w(ab)</tex>, будет лежать на цикле. Противоречие условию теоремы.
 
Если <tex>uv</tex> минимально - добавим его в <tex>T'</tex>.  
 
Если <tex>uv</tex> минимально - добавим его в <tex>T'</tex>.  
  
По окончании (просмотрели все ребра <tex>T</tex>) <tex>T</tex> совпадет с <tex>T'</tex>
+
По окончании (просмотрели все ребра <tex>T</tex>) <tex>T</tex> совпадет с <tex>T'</tex>.
  
 
}}
 
}}

Версия 20:12, 15 января 2011

Теорема (критерий минимальности остовного дерева Тарьяна):
Остовное дерево минимально тогда и только тогда, когда любое ребро не из дерева является максимальным на цмкле, который образуется при его добавлении в дерево
Доказательство:
[math]\triangleright[/math]
Ребро e имеет максимальный вес на образованном цикле

Легко заметить, что остовное дерево, не удовлетворяющее условию, не минимально:

Если существует ребро, не максимальное на образовавшемся цикле мы можем уменьшить вес дерева, добавив это ребро и удалив максимальное.

Теперь докажем, что дерево, удовлетворяющее условию минимально:

Обозначим дерево [math]T[/math], покажем что его можно построить алгоритмом Крускала.

Индукция по количеству ребер в дереве: База: пустое дерево.

Переход: Строим дерево [math]T'[/math] по лемме о безопасном ребре. Рассмотрим минимальное невзятое ребро [math]uv \in T[/math]. Рассмотрим разрез, окружающий одну из двух компонент.

Пусть [math]uv[/math] не минимально в разрезе, тогда существует [math]ab \notin T[/math] такое, что [math]w(ab) \lt w(uv)[/math]. При добавлении [math]ab[/math] в дерево [math]T[/math] некое ребро [math]xy[/math], такое что [math]w(xy) \ge w(uv) \lt w(ab)[/math], будет лежать на цикле. Противоречие условию теоремы. Если [math]uv[/math] минимально - добавим его в [math]T'[/math].

По окончании (просмотрели все ребра [math]T[/math]) [math]T[/math] совпадет с [math]T'[/math].
[math]\triangleleft[/math]