Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дискретка / Лекция 8.doc
Скачиваний:
163
Добавлен:
27.05.2015
Размер:
270.34 Кб
Скачать

8.2. Остовные деревья.

В этой части лекции мы рассмотрим так называемые остовные деревья и их применение для решения некоторого класса прикладных задач. Сначала дадим определение остовного дерева.

Определение 8.3.ДеревоTназываетсяостовным деревомграфаG, еслиT– подграф графаGи каждая вершинаGявляется вершиной вT.

Теперь сформулируем теорему, которую примем без доказательства.

Теорема 8.5.У каждого связного графа существует подграф, который является остовным деревом.

Для построения остовных деревьев существуют разные методы. Самыми распространенными являются два метода: метод поиска в ширину и метод поиска в глубину.

Согласно методу поиска остовного дерева в ширину произвольную вершину v0графаG выбираем в качестве корня дереваT. Для каждой вершиныvграфаG, смежной с вершинойv0, в деревоTдобавляется вершинаvи ребро (v0,v). Это вершины уровня 1. Затем берем каждую вершинуviуровня 1 и для каждой вершиныvjграфаG, смежной с вершинойviиз тех, что еще не выбраны, добавляем в деревоTвершинуvjи ребро (vi,vj). Вершины, добавленные на этом этапе, - это вершины уровня 2. Продолжаем процесс, пока в графеGне останется вершин, которые можно было бы добавить в дерево. По построениюTявляется деревом. Если расстояние отv0до вершиныvграфаGравноn, то эта вершина будет добавлена в дерево на уровнеn. Следовательно,Tнесомненно, является остовным деревом.

При поиске в ширину первым делом отыскиваются все вершины, смежные с заданной вершиной, а потом осуществляется переход на следующий уровень.

При поиске в глубину усилия направлены на построение для дерева как можно более длинного пути.

Метод поиска в глубину начинается с задания вершины графа, которую будем считать корнем. Выбираем вершину vi, смежную с корнем, и формируем ребро дерева. Затем выбираем вершинуvj, смежную с ранее выбранной вершинойvi, и формируем новое ребро. По ходу необходимо помечать использованные вершины, с тем, чтобы каждая вершина использовалась один раз. Если, находясь в вершинеv, мы выбираем другую вершинуwи обнаруживаем, что вершинаwуже была добавлена в дерево, то ребро (v,w) между этими вершинами не может быть добавлено в дерево.

Когда имеем исходный граф, то само собой возникает вопрос: сколько можно построить остовных деревьев для помеченного графа с nвершинами? Ответ на этот вопрос дает теорема Кэли, которая рассматривает число остовных деревьев дляKn.

Теорема 8.6.(Теорема Кэли)Число остовных деревьев дляKn, у которого вершины помечены, равно.

Если рассматривать определенный граф, который отличается от полного, то эта формула не годится для определения числа остовных графов. В этом случае используют теорему Кирхгофа. Прежде чем сформулировать теорему, сначала введем понятие матрица Кирхгофа.

Определение 8.4.Матрицей Кирхгофасвязного графаGс помеченными вершинами называется матрицаKvv=K(G),, которую можно определить следующим образом:

.

Теорема 8.7.(Теорема Кирхгофа)Число остовных деревьев в связном графеGпорядкаn2 равно алгебраическому дополнению любого элемента матрицы КирхгофаK(G).

Пример 8.2.Найти число остовных деревьев данного графа.

Решение.Сначала составляем для данного графа матрицу Кирхгофа.

.

Теперь находим алгебраическое дополнение, например, для элемента k11матрицы Кирхгофа.

.

Проверим, например, для элемента k23.

.

Итак, получаем, что данный граф имеет 8 остовных деревьев.

Соседние файлы в папке дискретка