Остовные деревья: определения, лемма о безопасном ребре — различия между версиями
Строка 1: | Строка 1: | ||
− | == | + | ==Необходимые определения== |
− | + | Рассмотрим связный неориентированный взвешенный [[Основные определения теории графов|граф]] <tex> G =\langle V, E \rangle </tex>, где <tex>V </tex> {{---}} множество [[Основные определения теории графов| вершин]], <tex>E </tex> {{---}} множество [[Основные определения теории графов|ребер]]. Вес ребра определяется, как <tex> w : E \to \mathbb{R} </tex>. | |
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Минимальным остовным деревом''' (англ. '''Minimum spanning tree''') графа <tex> G = | + | '''Минимальным остовным деревом''' (англ. '''Minimum spanning tree''') графа <tex> G = \langle V, E \rangle </tex> называется его ациклический связный подграф, в который входят все его вершины, обладающий минимальным суммарным весом ребер. |
− | |||
}} | }} | ||
− | + | Заметим, что граф может содержать несколько минимальных остовных деревьев. | |
− | + | Для формулировки и доказательства леммы о безопасном ребре рассмотрим следующие определения. | |
− | Пусть <tex> | + | Пусть <tex>G'</tex> {{---}} подграф некоторого минимального остовного дерева графа <tex> G = \langle V, E \rangle </tex>. |
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | Ребро <tex> | + | Ребро <tex> \langle u, v \rangle \notin G' </tex> называется '''безопасным''', если при добавлении его в <tex> G' </tex>, <tex> G' \cup \{ \langle u, v \rangle \}</tex> также является подграфом некоторого минимального остовного дерева графа <tex> G </tex>. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Разрезом''' неориентированного графа <tex> G = | + | '''Разрезом''' неориентированного графа <tex> G = \langle V, E \rangle </tex> называется разбиение <tex> V </tex> на два непересекающихся подмножества: <tex> S </tex> и <tex> T = V \setminus S </tex>. Обозначается как <tex> \langle S, T \rangle </tex>. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | Ребро <tex> | + | Ребро <tex> \langle u, v \rangle \in E </tex> '''пересекает разрез''' <tex> \langle S, T \rangle </tex>, если один из его концов принадлежит множеству <tex> S </tex>, а другой {{---}} множеству <tex> T </tex>. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | Разрез '''согласован''' с множеством <tex> | + | Разрез '''согласован''' с множеством <tex> E' \subset E </tex> по ребрам, если ни одно ребро из <tex> E'</tex> не пересекает разрез. |
}} | }} | ||
− | |||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | Ребро, пересекающее разрез, | + | Ребро, пересекающее разрез, называется '''легким''', если оно имеет минимальный вес среди всех ребер, пересекающих разрез. |
}} | }} | ||
− | |||
− | |||
==Лемма о безопасном ребре== | ==Лемма о безопасном ребре== | ||
{{Теорема | {{Теорема | ||
|statement= | |statement= | ||
− | + | Рассмотрим связный неориентированный взвешенный граф <tex> G = \langle V, E \rangle </tex> с весовой функцией <tex>w : E \to \mathbb{R}</tex> Пусть <tex> G' = \langle V, E' \rangle </tex> {{---}} подграф некоторого минимального остовного дерева <tex> G </tex>. <tex> \langle S, T \rangle </tex> {{---}} разрез <tex> G </tex>, согласованный с <tex> E' </tex> по ребрам, а <tex> \langle u, v \rangle </tex> {{---}} легкое ребро, пересекающее разрез <tex> \langle S, T \rangle </tex>. Тогда ребро <tex> e = \langle u, v \rangle </tex> является безопасным для <tex> G'</tex>. | |
|proof= | |proof= | ||
− | + | Достроим <tex> E' </tex> до некоторого минимального остовного дерева, обозначим его <tex>T_{min}</tex>. Если ребро <tex>e \in T_{min}</tex>, то лемма доказана, поэтому рассмотрим случай, когда ребро <tex>e \notin T_{min}</tex>. Рассмотрим путь в <tex>T_{min}</tex> от вершины <tex>u</tex> до вершины <tex>v</tex>. Так как эти вершины принадлежат разным долям разреза, то хотя бы одно ребро пути пересекает разрез, назовем его <tex>e'</tex>. По условию леммы <tex>w(e) \le w(e')</tex>. Заменим ребро <tex>e</tex> в <tex>T_{min}</tex> на ребро <tex>e'</tex>. Полученное дерево также является минимальным остовным деревом графа <tex>G</tex>, поскольку все вершины <tex>G</tex> по-прежнему связаны и вес дерева не увеличился. Следовательно <tex>E' \cup \{e\} </tex> можно дополнить до минимального остовного дерева в графе <tex>G</tex>, то есть ребро <tex>e</tex> {{---}} безопасное. | |
− | |||
− | |||
}} | }} | ||
− | |||
==Литература== | ==Литература== | ||
− | * Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. - Алгоритмы. Построение и анализ. | + | * Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. {{---}} Алгоритмы. Построение и анализ. |
+ | ==Cм. также== | ||
+ | *[[Алгоритм Прима]] | ||
+ | *[[Алгоритм Краскала]] |
Версия 01:12, 5 декабря 2011
Необходимые определения
Рассмотрим связный неориентированный взвешенный граф , где — множество вершин, — множество ребер. Вес ребра определяется, как .
Определение: |
Минимальным остовным деревом (англ. Minimum spanning tree) графа | называется его ациклический связный подграф, в который входят все его вершины, обладающий минимальным суммарным весом ребер.
Заметим, что граф может содержать несколько минимальных остовных деревьев. Для формулировки и доказательства леммы о безопасном ребре рассмотрим следующие определения. Пусть
— подграф некоторого минимального остовного дерева графа .Определение: |
Ребро | называется безопасным, если при добавлении его в , также является подграфом некоторого минимального остовного дерева графа .
Определение: |
Разрезом неориентированного графа | называется разбиение на два непересекающихся подмножества: и . Обозначается как .
Определение: |
Ребро | пересекает разрез , если один из его концов принадлежит множеству , а другой — множеству .
Определение: |
Разрез согласован с множеством | по ребрам, если ни одно ребро из не пересекает разрез.
Определение: |
Ребро, пересекающее разрез, называется легким, если оно имеет минимальный вес среди всех ребер, пересекающих разрез. |
Лемма о безопасном ребре
Теорема: |
Рассмотрим связный неориентированный взвешенный граф с весовой функцией Пусть — подграф некоторого минимального остовного дерева . — разрез , согласованный с по ребрам, а — легкое ребро, пересекающее разрез . Тогда ребро является безопасным для . |
Доказательство: |
Достроим | до некоторого минимального остовного дерева, обозначим его . Если ребро , то лемма доказана, поэтому рассмотрим случай, когда ребро . Рассмотрим путь в от вершины до вершины . Так как эти вершины принадлежат разным долям разреза, то хотя бы одно ребро пути пересекает разрез, назовем его . По условию леммы . Заменим ребро в на ребро . Полученное дерево также является минимальным остовным деревом графа , поскольку все вершины по-прежнему связаны и вес дерева не увеличился. Следовательно можно дополнить до минимального остовного дерева в графе , то есть ребро — безопасное.
Литература
- Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. — Алгоритмы. Построение и анализ.