Архив разработки (116 Кб, Mathcad-документ)
В данной работе для визуализации графов используется программа Шумилкиной Елены и Смирновой Ольги (см. банк студенческих задач).
Работа посвящена анализу внешней устойчивости и покрытий в графах.
Функция S1 предназначена для поиска множества внешне устойчивых вершин графа. Алгоритм поиска основан на вычислении степеней вершин графа и выборе вершины с наибольшей степенью в качестве доминирующей.
Функция Р подсчитывает номера вершин в вершинном покрытии. При этом число вершинного покрытия определяется как длина вектора Р. Функция Р1 определяет номера рёбер в рёберном покрытии, длина вектора Р1-число рёберного покрытия. Функция Н осуществляет генерацию матрицы смежности ориентированного графа. Функция S2 определяет множество внешнеустойчивых вершин ориентированного графа.

Генерация матрицы смежности M(G).






|

Все вычисления производятся для следующей матрицы смежности:

|

Вычисляем множество внешне устойчивых вершин S1 графа G. Определяем, является ли множество S1 ядром графа.

|
список степеней вершин
сумма элементов в столбце матрицы М

номер вершины с max степенью (Nv)

запись в V смежных вершине
Nv
Вычисляем число наблюдаемых из вершины четыре вершин в графе.
запись в матрицу М1 строки
и столбца с нулями
проверка на выход путём
сложения V и VT, содержащим
вершины которых нет в V
если в их сумме нет нулей то выход
|
- множество внешне устойчивых вершин
Вычисление числа вершинного b0 и реберного b1 покрытия графа G.


|
Вычисление эксцентриситетов вершин
присваиваем элементам матрицы значение 1
В N1 заносим столбец матрицы N
N1 - новая матрица
Сравниваем N1 с 0
|


подсчитывает сумму столбцов матрицы


|

|


|

|

|

матр. инцидентности +1
|



|

|

|
Организуем цикл, в котором сравниваем элементы матрицы с нулём.
Если элемент или следующий за ним равен нулю,то переменную first увеличиваем на единицу,а stp увеличиваем на единицу, если элемент матрицы не равен нулю.
Далее сравнение происходит с переменной first. Для вычисления вектора Otv его элементу присваивают значение i, если переменная first не равна нулю.
|



|
номера вершин в вершинном покрытии

|

|

По аналогии с функцией Р находится переменная Otv.
|
 
 
|
номера рёбер в рёберном покрытии

|
Выполняем генерацию матрицы смежности M ориентированного помеченного графа H.
|

|
Объявление переменной с помощью генератора случайных чисел
Элементу матрицы присваивается 1, если x больше или равно 0.5 .
|

|

|

Вычисляем доминирующее множество вершин S2 графа H. Определяем, является ли множество S2 ядром орграфа.
Матрица А нужна для определения доминирующего множества вершин
подмножества S

м-во дуг орграфа

|
Организовываются два цикла:
- внешний вычисляет доминирующее множество вершин.
- внутренний вычисляет степени эл-тов матрицы, сравнивает их с минимальной,
а в ответ заносит вершины с минимальной степенью меньше -1
Если же минимальная степень больше или равна -1,то осущесвляется еще один цикл, в котором рассматриваются элементы матрицы равные -1(1).
|

- доминирующее множество вершин S2
|