- •Богданов а.Е. Курс лекций
- •Содержание
- •§ 1. Основные понятия теории множеств
- •Основные понятия теории множеств
- •Способы задания множеств
- •Операции над множествами
- •§ 2. Соответствия. Функции. Отображения
- •§ 3. Понятие алгебры. Алгебра множеств кантора
- •Диаграмма Эйлера-Венна
- •§ 4. Бинарные отношения
- •Способы задания бинарных отношений
- •Свойства бинарных отношений
- •§ 5. Бинарное отношение эквивалентности
- •§ 6. Бинарное отношение порядка. Упорядоченные
- •§ 7. Решетки (структуры). Изоморфизм
- •Изоморфизм множеств
- •Дедекиндовые решетки
- •Дистрибутивные решетки
- •§ 8. Отношения (обобщение). Алгебраические
- •Операции над отношениями
- •Алгебраические системы
- •Глава ιι. Комбинаторный анализ
- •§ 1. Основные определения
- •Правила суммы и произведения
- •§ 2. Формулы расчета перестановок и сочетаний
- •§ 3. Бином и полином
- •§ 4. Подстановки
- •§ 5. Метод включений и исключений
- •§ 6. Метод производящих функций
- •§ 7. Комбинаторная мера информации. Вероятность искажения информации
- •Глава ιіі. Теория графов
- •§ 1. Первоначальные понятия теории графов
- •§ 2. Операции над графами. Способы задания графов Операции над графами
- •Способы задания графов
- •§ 3. Маршруты, цепи, циклы и другие характеристики графа
- •§ 4. Алгебраическая форма представления графа
- •Глава іv. Некоторые приложения графов
- •§ 1. Эйлеровы графы. Алгоритм флери. Гамильтоновы
- •Эйлеровы графы
- •Алгоритм Флери.
- •Метод построения эйлерового обхода двоичного куба
- •Гамильтоновы графы. Метод Робертса – Флореса
- •Метод перебора Робертса – Флореса
- •§ 2. Пространство циклов графа
- •§ 3. Независимое множество вершин графа
- •Алгоритм выделения пустых подграфов
- •§ 4. Вершинное число внешней устойчивости графа
- •§ 5. Плотность графа
- •Алгоритм выделения полных подграфов
- •§ 6. Раскраска графа
- •Оценки хроматического числа
- •Алгоритм минимальной раскраски вершин графа
- •§ 7. Планарность графа
- •Глава V. Оптимизационные алгоритмы теории графов
- •§ 1. Определение кратчайших путей. Алгоритм дейкстры
- •§ 2. Максимальный поток через сеть. Алгоритм
- •Алгоритм Форда – Фалкерсона
- •§ 3. Построение остова экстремального веса. Алгоритм краскала
- •§ 4. Метод ветвей и границ: задача коммивояжера. Общая модель задачи поиска
- •Дерево поиска частичных решений
- •§ 5. Применение ориентированных деревьев в задачах теории кодирования и диагностирования
- •§ 6. Построение оптимального дерева бинарного поиска. Алгоритм гильберта – мура
- •Алгоритм Гильберта – Мура построения оптимального дерева бинарного поиска Суть алгоритма
- •Алгоритм
- •§ 7. Сложность задач теории графов. Задача синтеза управляющих систем
- •Задача синтеза управляющих систем
- •Задача о выполнимости
- •Литература
- •Электронное пособие курс лекций
- •«Дискретная математика».
Гамильтоновы графы. Метод Робертса – Флореса
Простая цепь называется гамильтоновой.
Простой цикл называется гамильтоновым, если он проходит через каждую вершину графа.
Граф, содержащий такой цикл, называется гамильтоновым.
Теорема Дирака (достаточное условие гамильтоновости графа)
Если граф является связным и степень каждой вершины удовлетворяет неравенству
где - ближайшее целое число, то граф является гамильтоновым.
В орграфе рассматривают гамильтонов путь и гамильтонов контур.
Рассмотрим задачу построения гамильтонового контура в заданном графе.
Метод перебора Робертса – Флореса
Строится матрица переходов размера , где k – число строк матрицы М, равное наибольшей полустепени исхода вершины; п – число столбцов, равное количеству вершин графа (каждому столбцу взаимно однозначно соответствует вершина графа ) и
.
Вершины можно упорядочить произвольно, образовав элементы j – го столбца матрицы М.
При построении гамильтоновой пути берется первая вершина, соответствующая какому – либо столбцу матрицы М (например, вершина а ). Затем к пути добавляется первая возможная вершина (например, b ) из этого столбца, затем – следующая возможная вершина с в столбце b и т.д.
Под возможной вершиной понимается вершина, еще не принадлежащая строящемуся гамильтоновому пути S.
На шаге r будем иметь путь .
Существует две причины, препятствующие включению очередной вершины:
1. В столбце vr нет возможной вершины;
2. Путь, определяемый кортежем S , имеет длину п , т.е. является гамильтоновым. Тогда
а) существует дуга (vr , a) в графе G , следовательно, найден гамильтонов контур;
б) не существует дуги в графе G , следовательно, гамильтонов контур не может быть получен.
В случаях 1) и 2б) следует прибегнуть к возвращению, которое состоит в удалении последней включенной вершины vr из S и добавлении затем к S первой возможной вершины из столбца . Если не существует никакой возможной вершины, то делается следующий шаг возвращения и т.д. пока очередное возвращение не сделает множество S пустым .
Гамильтоновы контуры, найденные к этому моменту, являются всеми гамильтоновыми циклами, существующими в заданном графе G .
Аналогично метод используется для построения гамильтонова цикла.
Пример. Построить все гамильтоновы контуры в графе G, заданным матрицей смежности
a b c d e
.
□ Так как матрица смежности несимметричная, то заданный граф G является ориентированным. Граф G показан на рис. 5.3
Рис. 5. 3
Строим матрицу переходов. Наибольшая полустепень исхода вершины равна 2. Значит в матрице будет две строки. Сопоставляем каждому столбцу матрицы вершину графа G. Столбцов в матрице будет пять. В каждом столбце записываем вершины, в которые входят дуги, исходящие из вершин, соответствующих этим столбцам. В результате получим матрицу переходов :
a b c d e
Для построения гамильтонового контура возьмем, например, вершину a . В соответствующем столбце стоят возможные вершины b и d , возьмем, например, вершину b . В столбце b возможные вершины d и e , возьмем e . В столбце е возьмем вершину с . В столбце с возможными вершинами являются b и е . Обе эти вершины уже задействованы в строящемся контуре. Значит, удаляем вершину с и возвращаемся к столбцу е . В этом столбце стоит еще одна возможная вершина – а , но она также задействована в строящемся контуре. Следовательно, удаляем вершину е и возвращаемся к вершине b . В столбце b возьмем оставшуюся возможную вершину d . В столбце d одна возможная вершина с . В столбце с вершина b задействована в контуре, значит берем вершину е .
Все вершины графа задействованы в построении контура. Следовательно, гамильтонов путь построен:
.
Для построения гамильтонового контура осталось в столбце е взять вершину а . Гамильтонов контур построен :
.
Этот контур выделен на рис. 5. 3.
Аналогично можно построить еще один гамильтонов контур
.
Других гамильтоновых контуров в заданном графе G не наблюдается. ■