Решение. Для отыскания максимальных сильно связных подграфов воспользуемся алгоритмом Мальгранжа. Выберем произвольную вершину, например, х1 и, используя M(G), найдем множество вершин, достижимых из х1 по какому-либо пути (), и множество вершин, из которых можно попасть в х1 по какому-либо пути (). Элементы первого множества выделим цифрами в дополнительном столбце справа от матрицы смежности, а элементы второго множества – в дополнительной строке под матрицей. Цифры означают расстояние от х1 до хi в первом случае и от xi до х1 – во втором. Вершины, не достижимые из х1 в графе G (или G-1) отметим в дополнительном столбце (строке) крестиками.
Множество вершин максимального сильно связного подграфа, содержащего вершину х1,
Вычеркнем из матрицы M(G) строки и столбцы, соответствующие элементам множества С(х). В результате получим матрицу М1, определяющую некоторый подграф графа G:
В полученном подграфе выберем произвольную вершину (например, х4) и произведем операции, аналогичные описанным выше. В результате получим:
С(х4) = {x4}.
Вычеркнем из М1 строку и столбец, соответствующие вершине х4; получим матрицу:
Выберем в оставшемся подграфе вершину х5. Нетрудно убедиться, что С(х5) включает в себя все вершины этого подграфа, т.е.
С(х5) = { х5, x6, x10}.
Таким образом, рассматриваемый граф включает в себя три максимальных сильно связных подграфа, определяемых множествами вершин С(х1), С(х4) и С(х5), и, следовательно, не является сильно связным. Матрицы смежности этих подграфов имеют вид:
Для решения вопроса о связности графа G построим матрицу смежности соотнесенного неографа Gu:
Индекс Т над обозначением матрицы означает транспонирование.
Используя матрицу Mu, найдем множество вершин, достижимых из произвольной вершины xi соотнесенного неографа (). В данном случае оказалось, что , следовательно, графы Gu и G являются связными.
После разбора этого примера постройте самостоятельно чертежи всех максимальных сильно связных подграфов и графа G в целом.
Пример 2.2. В
неографе G = (X, Г), заданном матрицей мер Мm(G), построить минимальный каркас
(экономическое дерево). Здесь и в дальнейшем знак
“-” в матрице смежности означает
отсутствие ребра.
Решение. Известно [4], что для существования в графе каркаса, т.е. частичного графа, являющегося деревом, необходимо и достаточно, чтобы граф был связным. Проверку связности можно произвести с помощью алгоритма Мальгранжа (см. предыдущий пример). Выполните это самостоятельно.
Построение минимального каркаса осуществляется за n-1 шаг, где n – количество вершин графа. В нашем случае число шагов равно 9. На каждом шаге из множества неиспользованных ребер выбирается одно, имеющее минимальную меру, если только его добавление к частичному подграфу, составленному из уже выбранных ребер, не приведет к образованию цикла. В противном случае выбирается другое ребро с минимально возможной мерой. В нашей задаче ребра могут быть выбраны, например, в такой последовательности:
(х3, х7), (х4, х10), (х6, х8), (х1, х4), (х4, х7), (х5, х10), (х7, х8), (х2, х3), (х8, х9)
1 1 1 2 2 2 2 3 3
Цифры под обозначениями ребер означают их длину.
Если число вершин графа не слишком велико, то построение минимального каркаса целесообразно сопровождать чертежом, что облегчает выявление циклов при добавлении новых ребер.
В данном графе можно построить несколько различных минимальных каркасов (имеющих, естественно, одну и ту же суммарную меру).
Задачи
|
|
|
|
|
||||||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.