Главная » Просмотр файлов » Диссертация

Диссертация (1149246), страница 7

Файл №1149246 Диссертация (Алгоритмы поиска максимальных независимых множеств графа и экспериментальная оценка их эффективности) 7 страницаДиссертация (1149246) страница 72019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 7)

. , k. Учитывая тот факт, чтоv ∈ D[α∗k ], имеем, что ω[α∗k ] = D[α∗k ] \ {β∗k , γ∗k } = {v, δ, . . .}. По нашему предпоeложению множество J:Je = {β∗0 , γ∗0 , β∗1 , γ∗1 , . . . , β∗k , γ∗k , δ, v}является независимым множеством, то вершины v и δ несмежны, и следовательно, S[α∗k ] = {(v, δ)} ̸= ∅. Полученное противоречие доказывает тот факт, что комножеству J нельзя добавить ни одну вершину с сохранением независимости,и следовательно, J является максимальным независимым множеством.464) Этот случай можно назвать объединением случаев 1) и 3). Так какS[α∗k ] ̸= ∅ и ∆[α∗k ] ̸= ∅, то сначала по алгоритму сформируются МНМ, вкоторых последними добавленными вершинами будут элементы из множества∆[α∗k ], а затем, будут построены ветви дерева поиска, порожденные узлами измножества S[α∗k ].В результате прохождения прямого хода алгоритма, сформируется одна (случай 2) или несколько (случаи 3, 4) ветвей дерева поиска, соответствующихМНМ.

После их построения осуществляется возврат на предыдущий уровеньдерева поиска (k = k − 1) и формируются новые максимальные независимыемножества, с общей частью J = J \ {β k , γ k } (случай 2) или J = J \ {β k , γ k , δ}(случай 3).Рассмотрим простой пример. Пусть в графе G есть только одно максимальное независимое множество J = {1, 2, 4, 6, 7}. Построим дерево поиска,в соответствии с приведенными выше инструкциями (Рисунок 11).Рис.

11: Дерево поиска для МНМ J = {1, 2, 4, 6, 7} без использования в алгоритме AllISдополнительных процедур отсечения ветвей.Очевидно, что на нулевом уровне дерева поиска будут находитьсяl = m ∗ (m − 1)/2 узлов, где m – мощность максимального независимого47множества(в нашем примере m = 5, l = 10), рассмотрение которых приведет кпостроению одного и того же независимого множества J.

Кроме этого, когда мыспустимся на один уровень ниже, для каждого узла нулевого уровня появятсяеще (m − 2) ∗ (m − 3)/2 ответвлений, ведущих к формированию множестваJ = {1, 2, 4, 6, 7}. Учитывая, что |J| = 5, общее количество ветвей в деревепоиска будет равняться(m ∗ (m − 1)/2) ∗ ((m − 2) ∗ (m − 3)/2) ∗ (m − 4) = 10 ∗ 3 = 30.Таким образом, алгоритм должен обработать 30 ветвей дерева поиска, каждаяиз которых соответствует одному и тому МНМ.

Естественно, возникает вопрос:как предотвратить формирование уже построенных МНМ? Для этого в алгоритме AllIS предусмотрены процедуры исключения тех узлов, использованиекоторых не позволит построить множество, отличное от МНМ, уже сформированных в ходе алгоритма.Укажем критерии, по которым узлы будут рассматриваться как «неперспективные» для продолжения построения МНМ.Теорема 3. Пусть задан граф G = [V, SV,A ]. Если DG [α] ⊆ DG [α∗ ], тогдадля любого МНМ QG [α] ⊆ DG [α] найдется МНМ QG [α∗ ] ⊆ DG [α∗ ] такое чтоQG [α∗ ] ≡ QG [α] (другими словами, любое МНМ, содержащее вершины β и γ,будет являться МНМ, содержащим вершины β∗ и γ∗ ).Доказательство.

Рассмотрим произвольное максимальное независимоемножество QG [(β, γ)]DG [(β, γ)]⊆⊆DG [(β, γ)]. Поскольку по условию теоремыDG [(β∗ , γ∗ )], то QG [(β, γ)] также является подмножествомDG [(β∗ , γ∗ )]. Остается показать, что множество QG [(β, γ)] содержит элементыβ∗ и γ∗ . Предположим, что это не так. С учетом того, что множествоQG [(β, γ)] ⊆ DG [(β∗ , γ∗ )], вершины β∗ и γ∗ в графе G не смежны ни с однойвершиной из множества QG [(β, γ)]. Но тогда мы можем дополнить множествоQG [(β, γ)] элементами β∗ и γ∗ и получить независимое множество большегоразмера, включающее данное, что противоречит максимальности независимого48множества QG [(β, γ)]. Полученное противоречие доказывает, что любое максимальное независимое множество, содержащее вершины β и γ, будет являтьсямножеством, содержащим вершины β∗ и γ∗ :∀QG [α] ⊆ DG [α] ∃ QG [α∗ ] ⊆ DG [α∗ ] | QG [α∗ ] ≡ QG [α].Теорема 4.

Если в некотором подграфе Gk ⊂ Gk−1 ⊂ . . . ⊂ G0 для выбранного узла α∗k = (β∗k , γ∗k ) найдется множество Q ∈ P [α∗k ] :Q \ {β∗0 , γ∗0 , β∗1 , γ∗1 , . . . , β∗k−1 , γ∗k−1 } ≡ D[α∗k ],тогда максимальное независимое множествоJe = {β∗0 , γ∗0 , β∗1 , γ∗1 , . . . , β∗k−1 , γ∗k−1 } ∪ QGk [α∗k ] ≡ Q.Доказательство. Множество Q ∈ P [α∗k ], следовательно, по определениюокрестности:{β∗k , γ∗k , β∗k−1 , γ∗k−1 , .

. . , β∗0 , γ∗0 , } ⊆ Q.Обозначим, I = Q \ {β∗k−1 , γ∗k−1 , . . . , β∗0 , γ∗0 } = {β∗k , γ∗k , . . .}. По определениюбазового множества D[α∗k ] = {β∗k , γ∗k , . . .}. По условию теоремы I ≡ D[α∗k ],поэтому все элементы множества D[α∗k ] попарно несмежны (так как в этомслучае все вершины из базового множества содержатся во множестве Q, которое принадлежит окрестности P [α∗k ], а значит, является максимальным независимым множеством), следовательно, QGk [α∗k ] ≡ D[α∗k ]. Таким образом, длярасширения независимого множества J = {β∗0 , γ∗0 , β∗1 , γ∗1 , . .

. , β∗k−1 , γ∗k−1 } будутиспользованы все элементы множества D[α∗k ]. Полученное расширенное максимальное независимое множество Je можно представить в виде:Je = J ∪ D[α∗k ] = J ∪ I == {β∗0 , γ∗0 , β∗1 , γ∗1 , . . . , β∗k−1 , γ∗k−1 } ∪ (Q \ {β∗0 , γ∗0 , β∗1 , γ∗1 , . . . , β∗k−1 , γ∗k−1 }) ≡ Q,что и требовалось доказать.49В процессе работы алгоритма на каждом k-м уровне дерева поиска происходит выбор пары вершин α∗k = (β∗k , γ∗k ), используемых в дальнейшем длярасширения независимого множества J. Выбранный узел α∗k должен удовлетворять двум условиям:1) |D[α∗k ]| = maxαk ∈S[α∗k ] |D[αk ]| (для того чтобы как можно больше парвершин можно было исключить из дерева поиска после построения всех Q[α∗k ]);2) не должно существовать множества Q из окрестности P [α∗k ], удовлетворяющего условию теоремы 4 ( в противном случае, рассмотрение этого узлаприведет к формированию МНМ, которое уже было построено ранее).После добавления пары вершин α∗k = (β∗k , γ∗k ) ко множеству J, необходимоисключить этот узел из множества несмежных пар предыдущего уровня S[α∗k−1 ].Кроме этого из множества S[α∗k−1 ] удаляются узлы, удовлетворяющие условиютеоремы 3, так как они не позволят сформировать МНМ, отличное от того,которое мы построим, пройдя по одной из веток дерева поиска, порожденнойузлом α∗k = (β∗k , γ∗k ).§4.

Пример построения максимальных независимыхмножествДля графа, заданного матрицей смежности A (Рисунок 12), множество вершинV = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, множество несмежных парSV,A = {(1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 10), (2, 3), (2, 5),(2, 6), (2, 7), (2, 8), (2, 9), (2, 10), (3, 5), (3, 6), (3, 7), (3, 8), (3, 9), (3, 10),(4, 5), (4, 6), (4, 8), (4, 9), (5, 6), (5, 9), (5, 10), (6, 7), (6, 9), (6, 10), (7, 8),(7, 9), (8, 9), (8, 10), (9, 10)}.50Рис. 12: Матрица смежности графа G.В начале работы алгоритма AllIS имеем следующие входные данные:- уровень дерева поиска k = 0,- текущее независимое множество J = ∅,- максимальное независимое множество Q = ∅,- множество всех МНМ графа G M (G) = ∅,- вспомогательный узел отрицательного уровня α∗−1 = (α∗−1 , β∗−1 ),- окрестность P [α∗−1 ] = ∅,- опорное множество ω[α∗−1 ] ≡ V ,- S[α∗−1 ] ≡ SV,A .На Рисунках 13 и 14 компактно представлена часть процедуры построениямаксимальных независимых множеств по алгоритму AllIS.

Поясним некоторыемоменты его работы.Сначала формируем базовые множества D[α0 ] для всех несмежных парα0 ∈ S[α∗−1 ] ≡ SV,A графа G. Затем в качестве ведущего элемента на нулевомуровне выбираем узел α∗0 = (2, 3), так как он удовлетворяет условию:|D[(2, 3)]| = maxα0 ∈S[α∗−1 ] |D[α0 ]| = 9.51Рис. 13: Пример реализации алгоритма AllIS.52Рис. 14: Пример реализации алгоритма AllIS.53Окрестность P [(2, 3)] = ∅. Выбрав ведущий элемент, формируем множество«неперспективных» узлов R[(2, 3)], которые в дальнейшем будут удалены измножества S[α∗−1 ], с целью не допустить построения повторяющихся МНМ.Далее для выбранного узла α∗0 = (2, 3) строим опорное множествоω[(2, 3)] = D[(2, 3)] \ {2, 3} = {1, 5, 6, 7, 8, 9, 10}.Вершины 2 и 3 становятся элементами независимого множества J = {2, 3}. Вподрафе, индуцированном множеством ω[(2, 3)], строим множество несмежныхпар S[(2, 3)].

Для каждого узла из S[(2, 3)] формируем базовые множества.По мощности базового множества выбираем ведущий элемент первого уровняα∗1 = (1, 6). Расширяем независимое множетво J = {2, 3, 1, 6}. Среди вершинопорного множестваω[(1, 6)] = D[(1, 6)] \ {1, 6} = {5, 7, 10}только 5 и 10 являются несмежными, поэтомуS[(1, 6)] = {(5, 10)}, ∆[(1, 6)] = {7}.Так как множество ∆[(1, 6)]̸=∅, то можно сразу выписать МНМQ = J ∪ {7} = {1, 2, 3, 6, 7}.

После нахождения очередного МНМ необходимопополнить окрестности всех ведущих узлов текущей ветви дерева поиска:P [(β∗−1 , γ∗−1 )] = P [(2, 3)] = P [(1, 6)] = {{1, 2, 3, 6, 7}}.После выбора в качестве очередного ведущего узла α∗2 = (5, 10) (текущее множество J = {2, 3, 1, 6, 5, 10}) приходим к ситуацииω[(5, 10)] = D[(5, 10)] \ {5, 10} = ∅.Таким образом формирование текущей ветви дерева поиска закончено. Независимое множество J является максимальным независимым. Пополняем соответствующие окрестности:P [(β∗−1 , γ∗−1 )] = P [(2, 3)] = P [(1, 6)] = {{1, 2, 3, 6, 7}, {1, 2, 3, 5, 6, 10}}.54Исключаем из множества J последний ведущий элемент:J = {1, 2, 3, 5, 6, 10} \ {5, 10} = {1, 2, 3, 6},и возвращаемся на предыдущий уровень (k = k − 1, k = 1).

Так как послепостроения МНМ, содержащих узел α∗2 = (5, 10), множествоS[α∗k ] = {(5, 10)} \ {(5, 10)},то следует вернуться еще на один уровень назад:k = k − 1, k = 0, J = {1, 2, 3, 6} \ {1, 6} = {2, 3}.Ведущий элемент α∗1 = (1, 10), опорное множество ω[(1, 10)] = {5, 6, 8},S[(1, 10)] = {(5, 6)}, ∆[(1, 10)] = {8}. Так как множество ∆[(1, 10)] ̸= ∅, томожно сразу выписать МНМ Q = J ∪ {8} = {1, 2, 3, 8, 10}.Аналогичным способом строятся все ветви дерева поиска, идущие из узлаα∗0 = (2, 3) (Рисунок 15).Рис.

15: Дерево поиска по алгоритму AllIS.После обработки α∗0 происходит пополнение множества R[α∗0 ] узлов, рассмотрение которых приведет к построению уже сформированных МНМ:55R[(2, 3)] = {(1, 2), (1, 3), (1, 7), (1, 10), (2, 5), (2, 6), (2, 7), (2, 8), (2, 9), (2, 10),(3, 5), (3, 6), (3, 7), (3, 8), (3, 9), (3, 10), (5, 10), (6, 7), (6, 10), (7, 8), (7, 9),(8, 10), (9, 10)}.После исключения элементов, принадлежащих множеству R[(2, 3))], из множества S[α∗−1 ], переходим к обработке оставшихся узлов нулевого уровня. Витоге получаем дерево поиска (Рисунок 15), каждая ветвь которого отвечаетуникальному максимальному независимому множеству исходного графа.§5. Тестирование программной реализацииВ ходе исследования алгоритма AllIS было обнаружено, что при одной итой же размерности время работы алгоритма может существенно различаться.Это объясняется разной плотностью ребер (в дальнейшем плотностью) генерируемых графов.

Таким образом функция f (n, p) времени работы алгоритмаявляется функцией двух параметров: размерности (n) и плотности (p).Принимая во внимание установленную зависимость работы алгоритма AllISот плотности графов, были проведены тесты двух типов:1) определение времени работы алгоритмов при увеличении плотности обрабатываемых графов в пределах фиксированной размерности;2) определение времени работы алгоритмов при увеличении размерностиграфов фиксированной плотности.Для тестирования генерировались графы с различными значениями плотности. С этой целью в программе по заданной плотности p (%) определялоськоличество ребер r n-вершинного графа G = (V, E): r =p·m100% ,где m =n·(n−1).2Полученное значение r округлялось до целого числа.

Далее, используя функциюгенерации случайных чисел, формировались пары вершин (i, j): i – случайноечисло из промежутка [1, n − 1], j – из промежутка [i + 1, n]. Каждая такая паразаписывалась во множество ребер E в том случае, если она не была добавлена56ранее. Множество E продолжало расширяться, пока его мощность не достигалазначения r.В процессе тестирования графов одной и той же размерности были рассмотрены графы со значением плотности p ∈ [0%, 100%] с шагом равным 1%. Количество графов для каждого значения плотности равнялось 10. В качестве результирующего времени работы выбиралось среднее арифметическое значениевремени для графов с одинаковыми характеристиками [n, p].Наряду с AllIS в тестировании участвовали еще два алгоритма, предназначенных для поиска всех максимальных независимых множеств в неориентированном графе: алгоритм Брона-Кербоша и полный перебор.Все алгоритмы были реализованы в пакете Maple 14. Тесты проводились накомпьютере с техническими характеристиками: процессор Intel Core i5 2.6 GHz4 GB RAM, ОС Windows 7.

Характеристики

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

Алгоритмы поиска максимальных независимых множеств графа и экспериментальная оценка их эффективности
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7021
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее