Эффективность применения поиска полным перебором минимального покрывающего подмножества вершин на неориентированном графе | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №3 (345) январь 2021 г.

Дата публикации: 17.01.2021

Статья просмотрена: 110 раз

Библиографическое описание:

Макиев, В. Г. Эффективность применения поиска полным перебором минимального покрывающего подмножества вершин на неориентированном графе / В. Г. Макиев. — Текст : непосредственный // Молодой ученый. — 2021. — № 3 (345). — С. 20-23. — URL: https://moluch.ru/archive/345/77705/ (дата обращения: 25.04.2024).



В статье рассматривается эффективность метода полного перебора при поиске минимального покрывающего подмножества вершин на неориентированном графе.

Ключевые слова: неориентированный граф, полный перебор, зависимость времени счета от количества вершин, теория графов.

Значимость исследований в данной области определяется тем, что результаты могут быть использованы на информатике, математике, геометрии, при строительных работах, черчении. Также они могут быть внедрены непосредственно в практическую деятельность, так как теория графов находит применение, например, в геоинформационных системах (ГИС). Существующие или вновь проектируемые дома, сооружения, кварталы и т. п. рассматриваются как вершины, а соединяющие их дороги, инженерные сети, линии электропередачи и т. п. — как рёбра. Применение различных вычислений, производимых на таком графе, позволяет, например, найти кратчайший объездной путь или ближайший продуктовый магазин, спланировать оптимальный маршрут.

Цель работы: выяснить особенности применения теории графов при решении задач и в практической деятельности; экспериментальное определения эффективности применения поиска полным перебором минимального покрывающего подмножества вершин на неориентированном графе.

Вводная часть: неориентированный граф . Неориентированный граф G — это упорядоченная пара G: = (X, U), для которой выполнены следующие условия: X — это множество вершин или узлов, U — это множество неупорядоченных пар различных вершин, называемых рёбрами. Т. е. в неориентированных графах можно двигаться в обе стороны [1]. Вершины и рёбра графа называются также элементами графа, число вершин в графе | X | — порядком, число рёбер | U | — размером графа. Полный перебор (или метод «грубой силы» от англ. brute force) — метод решения задачи путем перебора всех возможных вариантов. Сложность полного перебора зависит от размерности пространства всех возможных решений задачи. Если множество решений очень велико, то полный перебор может не дать результатов в течении длительного времени. Идея полного перебора сводится к следующему: перебираются всевозможные решения и из них выбирается решение (или множество решений) отвечающее условию задачи [2]. Если стоит задача поиска минимального вершинного покрытия, соответственно, требуется из всевозможных вариантов объезда пунктов выбрать маршрут, позволяющего минимальному количеству вершин обойти все остальные вершины.

Пример возможной постановки задач и поиска. На множестве вершин Х заданного графа G(X,U) требуется выбрать такое подмножество Х’, для которого справедливо: из любой i-й вершины подмножества Х’ существует дуга (i,j) ϵ U, где j — индекс вершины в подмножестве X\X’; в любую вершину j-ю подмножества X\X’ заходит хотя бы одна дуга (i,j) ϵ U такая, что i-я вершина принадлежит подмножеству X’; │X’│→min [3].Формальная постановка задачи будет основана наследующих обозначениях: G(X, U) — взвешенный орграф; X множество вершин;

U — множество дуг; A(G) — множество контуров графа; a k k — й контур множества A(G); X(a k ) — множество вершин k — го контура; U(a k ) — множество дуг k — го контура; r(i, j) — вес дуги (i, j) U. Тогда формально задача будет выглядеть следующим образом:

Условие (1) утверждает, что выбранное подмножество вершин X’ должно быть минимальным. Условие (2)- в любую вершину j-ю подмножества X\X’ заходит хотя бы одна дуга (i,j) ϵ U такая, что i-я вершина принадлежит подмножеству X’. Таким образом, на основе описанного выше можно составить следующий алгоритм: шаг 1- полученный граф G(X,U); шаг 2- методом полного перебора обходим граф и заносим данные в стек; шаг 3- если вершины не покрывают граф и длина такого пути равна ∞, то путь невозможен; шаг 4- среди данных стека находим маршрут с минимальным количеством вершин, для сортировки используем функцию key (является “аргументом” для сортировки, значением, которое используется для сравнения); шаг 5- выводим матрицу смежности исходного неориентированного графа; шаг 6- выводим вес и вершины.

Экспериментальное обоснование. Изучим зависимость времени выполнения программы от количества вершин в заданном графе и от числа дуг (ребер) графа при фиксированном числе вершин. Для этого воспользуемся модулем time на основе выведенного программного кода (рис.1).

Программный код

Рис. 1. Программный код

На основе полученных данных вывели зависимость времени счета от количества вершин (рис. 2). Также для сравнения вывяли зависимости времени счета от числа дуг (ребер) графа при фиксированном числе вершин (рис. 3). В качестве фиксированного числа взяли 7 вершин. Полученные результаты указывают на экспоненциальную зависимость времени поиска решения от размерности задачи. Эта зависимость говорит о том, что полный перебор- неэффективный метод решения поставленных задач.

Таблица и гистограмма зависимости времени счета от количества вершин

Рис. 2. Таблица и гистограмма зависимости времени счета от количества вершин

Таблица и гистограмма зависимости времени счета от числа дуг (ребер) графа при фиксированном числе вершин (7 вершин)

Рис. 3. Таблица и гистограмма зависимости времени счета от числа дуг (ребер) графа при фиксированном числе вершин (7 вершин)

Заключение. Таким образом, основываясь на полученных данных, полный перебор- неэффективный метод решения поставленных задач в данной области, т. к. время поиска им решения экспоненциально зависит от размерности задачи. Из проделанной работы можно сделать вывод, что полный перебор зависит от количества всех возможных решений задачи и затрачивает длительный промежуток времени при большом пространстве решений. Это указывает на то, что следует продолжать исследования других методов поиска как минимального покрывающего подмножества, так и других необходимых значений в данной области.

Литература:

  1. Берж К. Теория графов и ее применения. М.: Иностранная литература, 1962. — 319 с.
  2. Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978, — 432 с.
  3. Python Cookbook: Recipes for Mastering Python 3 Книга, Дэвид М. Бизли.
Основные термины (генерируются автоматически): полный перебор, вершина, неориентированный граф, зависимость времени счета, минимальное покрывающее подмножество, множество вершин, теория графов, фиксированное число вершин, число дуг, практическая деятельность.


Ключевые слова

теория графов, неориентированный граф, полный перебор, зависимость времени счета от количества вершин

Похожие статьи

Методические аспекты обучения доказательству студентов...

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

Демонстрационная компьютерная модель «Обход графов»

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

Элементы теории графов в курсе дискретной математики

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

Графы – многофункциональный инструмент любого человека

Граф – это множество точек, которые также могут называть вершинами или узлами графа, и множество ребер или же дуг графа, которые попарно соединяют вершины. Если мы назовем или отметим какими-либо знаками вершины графа, то он будет называться помеченным...

Двухфазный алгоритм решения задачи о клике для разреженных...

Основные термины (генерируются автоматически): граф, стягиваемый подграф, вершина, подграф, множество вершин, компонент, связный подграф.

Алгоритм полного перебора анализирует все 2N различных подмножеств множества из N вершин графа на предмет того...

Особенности изучения способа тестирования базового пути...

2) Количество дуг в потоковом графе равно , а количество вершин - , следовательно, согласно формуле (1)

Как видно из выше изложенного, в разработанном методическом пособии в компактном виде изложена необходимая теория, посвященная алгоритму способа...

Особенности изучения способа тестирования базового пути...

Узлы (вершины) потокового графа соответствуют линейным участкам программы, включают один или несколько операторов программы.

Заметим, что каждый новый путь включает новую дугу. Все независимые пути графа образуют базовое множество.

История развития дискретной математики и ее роль в обучении...

теория графов, граф, задача, вершина графа, реберное покрытие графа, независимое подмножество вершин графа, доминирующее подмножество вершин графа, вершинное покрытие графа, дискретная математика, плоская... Целеполагание при проектировании курса...

Похожие статьи

Методические аспекты обучения доказательству студентов...

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

Демонстрационная компьютерная модель «Обход графов»

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

Элементы теории графов в курсе дискретной математики

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

Графы – многофункциональный инструмент любого человека

Граф – это множество точек, которые также могут называть вершинами или узлами графа, и множество ребер или же дуг графа, которые попарно соединяют вершины. Если мы назовем или отметим какими-либо знаками вершины графа, то он будет называться помеченным...

Двухфазный алгоритм решения задачи о клике для разреженных...

Основные термины (генерируются автоматически): граф, стягиваемый подграф, вершина, подграф, множество вершин, компонент, связный подграф.

Алгоритм полного перебора анализирует все 2N различных подмножеств множества из N вершин графа на предмет того...

Особенности изучения способа тестирования базового пути...

2) Количество дуг в потоковом графе равно , а количество вершин - , следовательно, согласно формуле (1)

Как видно из выше изложенного, в разработанном методическом пособии в компактном виде изложена необходимая теория, посвященная алгоритму способа...

Особенности изучения способа тестирования базового пути...

Узлы (вершины) потокового графа соответствуют линейным участкам программы, включают один или несколько операторов программы.

Заметим, что каждый новый путь включает новую дугу. Все независимые пути графа образуют базовое множество.

История развития дискретной математики и ее роль в обучении...

теория графов, граф, задача, вершина графа, реберное покрытие графа, независимое подмножество вершин графа, доминирующее подмножество вершин графа, вершинное покрытие графа, дискретная математика, плоская... Целеполагание при проектировании курса...

Задать вопрос