
Бельский - Теория графов и комбинаторика / Lecture12
.docБельский Аркадий Александрович. Теория графов и комбинаторика. Лекция 12
ТЕОРИЯ ГРАФОВ И КОМБИНАТОРИКА
специальность ПО
2-й семестр
Лекция 12
Остов в графе и алгоритм Краскала поиска остова минимального веса во взвешенном графе.
Пусть
- граф и
- весовая функция. Как обычно, предполагается,
что все рассматриваемые графы связны.
Остовом
графа, напомним, называвается подграф,
яв-ляющийся деревом и содержащий все
вершины данного графа. Нетрудно доказать,
что в каж-дом графе обязательно есть
остов.
Как определялось ранее, вес подграфа - это сумма весов его ребер. Ясно, что во взвешен-ном графе существует остов наименьшего веса.
Существует алгоритм Краскала, позволяющий найти остов минимального веса в любом взвешенном графе. Дадим его описание по шагам.
Шаг
1. Найдем в
данном графе ребро минимального веса
(если таких несколько, фикси-руем любое).
Обозначим его через
;
кроме того, фикисруем подграф в данном
графе
,
со-стоящий из концов ребра
и самого этого ребра. Обозначим этот
подграф через
.
Шаг
2. Фиксируем
в данном исходном графе
второе ребро - обозначим его через
,
- вес которого минимален относительно
весов всех ребер, не принадлежащих
.
Подграф, со-стоящий из ребер
,
и их концов обозначим через
.
Шаг
3. Фиксируем
в графе
ребро - обозначим его через
,
- имеющее минимальный вес среди всех
ребер графа
,
не принадлежащих
,
и не составляющих цикла с ребрами из
.
Подграф, состоящий из ребер
,
,
и их концов, обознаим через
.
Шаг
4. Фиксируем
в графе
ребро - обозначим его через
,
- имеющее минимальный вес среди тех
ребер графа
,
которые не принадлежат
и не образуют цикла с ребрами из
.
Подграф, состоящий из ребер
,
,
,
и их концов обознаим через
.
Общий
шаг - шаг № k.
Фиксируем в графе
ребро – обозначим его через
,
- имею-щее минимальный вес среди ребер,
не входя-щих в
и не составляющих цикла с ребрами из
.
Подграф, состоящий из ребер
,
,
,...,
,
обозначим через
.
Можно доказать, что
если в исходном
графе
количество
вершин равно
,
то подграф
будет искомым
остовом.
Бельский Аркадий Александрович. Теория графов и комбинаторика. Лекция 12