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

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

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

Автор:

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

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

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

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

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

Макиев, В. Г. Эффективность применения поиска полным перебором минимального покрывающего подмножества вершин на неориентированном графе / В. Г. Макиев. — Текст : непосредственный // Молодой ученый. — 2021. — № 3 (345). — С. 20-23. — URL: https://moluch.ru/archive/345/77705/ (дата обращения: 16.12.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 Книга, Дэвид М. Бизли.
Основные термины (генерируются автоматически): полный перебор, вершина, неориентированный граф, зависимость времени счета, минимальное покрывающее подмножество, множество вершин, теория графов, фиксированное число вершин, число дуг, практическая деятельность.


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

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

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

Комбинированный алгоритм линейной оптимизации с поиском максимального потока на графе

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

Разбиение многосвязного ортогонального полигона с минимизацией протяженности стыков на основе линейного программирования

Рассматривается задача разбиения многосвязного ортогонального полигона на прямоугольные области. Критерием оптимизации является минимизация протяженности стыков между прямоугольниками, образующими разбиение. Предложена модификация модели Бизли для ре...

Алгоритм построения простых чисел

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

Разработка программного метода генерации псевдослучайных чисел

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

Описание порядка выполнения определённого набора инструкций для общего метода построения замкнутого пути на симметричном неориентированном графе при решении задач оптимизации

Многочлены от одной переменной над булевым кольцом

В данной статье ставится и решается задача о нахождении корней многочлена над булевым кольцом. Представлен алгоритм решения уравнений и систем уравнений от одной переменной над алгеброй множеств. А также рассмотрено применение изложенного материала п...

Аппроксимация полиномов n степени методом наименьших квадратов

В данной статье рассмотрено решение проблемы уменьшения суммы квадратов отклонений определённых функций от искомых переменных для полиномиальных уравнений n степени. Приведено подробное решение для уравнений 2 степени, рассматриваемой проблемы. Предс...

Метод ветвей и границ для решения задачи о коммивояжёре

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

Расстояние от точки до многогранника в пространстве

В данной работе рассмотрена задача поиска минимального расстояния между многогранником и точкой, не лежащей внутри него. Предложен алгоритм решения этой задачи и способ его применения в 3D-моделировании.

Матричный способ представления алгоритма

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

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

Комбинированный алгоритм линейной оптимизации с поиском максимального потока на графе

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

Разбиение многосвязного ортогонального полигона с минимизацией протяженности стыков на основе линейного программирования

Рассматривается задача разбиения многосвязного ортогонального полигона на прямоугольные области. Критерием оптимизации является минимизация протяженности стыков между прямоугольниками, образующими разбиение. Предложена модификация модели Бизли для ре...

Алгоритм построения простых чисел

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

Разработка программного метода генерации псевдослучайных чисел

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

Описание порядка выполнения определённого набора инструкций для общего метода построения замкнутого пути на симметричном неориентированном графе при решении задач оптимизации

Многочлены от одной переменной над булевым кольцом

В данной статье ставится и решается задача о нахождении корней многочлена над булевым кольцом. Представлен алгоритм решения уравнений и систем уравнений от одной переменной над алгеброй множеств. А также рассмотрено применение изложенного материала п...

Аппроксимация полиномов n степени методом наименьших квадратов

В данной статье рассмотрено решение проблемы уменьшения суммы квадратов отклонений определённых функций от искомых переменных для полиномиальных уравнений n степени. Приведено подробное решение для уравнений 2 степени, рассматриваемой проблемы. Предс...

Метод ветвей и границ для решения задачи о коммивояжёре

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

Расстояние от точки до многогранника в пространстве

В данной работе рассмотрена задача поиска минимального расстояния между многогранником и точкой, не лежащей внутри него. Предложен алгоритм решения этой задачи и способ его применения в 3D-моделировании.

Матричный способ представления алгоритма

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

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