Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Primery_tezisov.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.47 Mб
Скачать

Исследование эффективности эвристического метода решения задачи о минимальном вершинном покрытии для оптимизации размещения управляющих серверов в распределенных информационных системах

С увеличением числа вершин исследуемого графа точный метод решения задачи становится весьма громоздким. Задача о минимальном вершинном покрытии является NP-полной, алгоритмы ее решения для произвольных графов не всегда эффективны. Для двудольных графов на основе алгоритмов Хопкрофта-Карпа (c поиском в глубину) построены методы, позволяющие находить минимальное вершинное покрытие и максимальное независимое множество вершин в произвольном двудольном графе H=X,Y,E за время О((m+n) ), где n=XY и m=E. Полиномиальные алгоритмы определения вычисления числа устойчивости были получены для совершенных графов т.е. графов, у которых хроматическое число равно кликовому числу для любого его порожденного подграфа. Применение двойственных оценок в схеме ветвей и границ позволило решать задачи с размерностью, не превышающей 100, с погрешностью не более 5%.

Особенностью конъюнктивного представления графа G(X, E) в виде булевой функции является то, что она содержит количество дизъюнктов равное количеству ребер в графе, а количество переменных в каждом дизъюнкте равно 2, и каждая переменная соответствует некоторой вершине графа G(X, E). Введем понятие характеристического вектора hq = некоторой булевой функции

fq = f (Х1,Х2,…,Хn).

(1)

Вес ji в векторе hq указывает, как часто переменная Хi встречается в дизъюнктах функции f (Х1, Х2,…, Хn), а сам вектор будем описывать суммарной весовой характеристикой Vq определяемой соотношением:

(2)

Рассмотрим следующую эвристическую процедуру, использующую идею рангового подхода [1]. Для этого введем процедуру А сортировки дизъюнктов булевой функции f (Х1,Х2,…,Хn).

Процедура А.

Шаг 1. На первом ярусе размещаем дизъюнкт, содержащий переменную Хi, встречающуюся чаще всего во всех дизъюнктах функции f (Х1,Х2,…,Хn) т.е. имеющую максимальную весовую характеристику Vi , и размещаем ее в верхней части яруса.

Шаг 2. Далее располагаем все дизъюнкты, содержащие эту переменную Хi среди оставшихся дизъюнктов.

Шаг 3. Выполняем шаги 1 и 2 для оставшихся дизъюнктов, пока все дизъюнкты не будут отсортированы.

В результате получаем граф G, в котором вершины соответствуют переменным в булевой функции, задающей исходный граф, а каждый ярус графа соответствует дизъюнкту булевой функции.

В граф G введем две фиктивные вершины s и t; вершину s соединим со всеми вершинами первого яруса, а t – со всеми вершинами последнего яруса. Между ярусами каждая вершина предыдущего яруса соединяется со всеми вершинами следующего яруса. При этом длину пути d sp в графе G от вершины s к произвольной вершине р будем характеризовать числом нефиктивных вершин, входящих в путь. При таком формировании графа верхний путь в графе, состоящий из неповторяющихся вершин, всегда будет кратчайшим, и определять искомое вершинное покрытие. В работе получены и проанализированы результаты статистического моделирования предложенного алгоритма, которые показали высокую эффективность данного подхода. Основной результат моделирования заключается в том, что полученная в среднем трудоемкость выполнения операций составляет О(n3), где n – количество вершин графа, для различных значений степеней вершин и плотности связного исходного графа.

Список литературы: 1. Листровой С.В. Метод решения задачи определения минимальных вершинных покрытий и независимых максимальных множеств / С.В. Листровой, С.В. Яблочков // Электронное моделирование. – 2003. – Т.25.– №2. – С. 31– 43.

УДК 519.24

Г.С. Федорова, студентка 3 курса

galyazahar@mail.ru

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]