Дискретная математика в программировании. Практикум. Учебное пособие
.pdf
Суммарный вес построенного остова равен 125.
Построение Гамильтонова цикла. Цикл (цепь) в графе G
называется гамильтоновым (гамильтоновой), если он (она) проходит через каждую вершину графа ровно один . разГраф называется гамильтоновым, если он содержит гамильтонов цикл.
Алгоритм Робертса и Флореса для построен гамильтонова цикла включает следующие шаги.
1.Строится матрица М с элементамиmi j , число строк в которой равно максимальной степени вершин графа, число
столбцов равно количеству вершин n. Элемент m i j - i-я вершина, (например, хk) смежная с вершиной хj. Вершины в столбцах матрицы М упорядочены.
2.р = x1, где x1 - начальная вершина. S={x1}, где S - множество вершин строящегося гамильтонова цикла.
3. Если в столбце матрицы, соответствующемМ вершине р, существует возможная вершина(под возможной понимается вершина, ещё не принадлежащаяS), то переход к шагу 4 , если нет, то переход к шагу 7.
4. В столбце, соответствующем вершине р, выбирается первая возможная вершина k;х эта вершина присоединяется к множеству S и р = хk.
5.Если мощность множества S равна |S| = n, то найдена гамильтонова цепь, переход к шагу 6, а если |S| < n, то переход к шагу 3.
6.Если существует дуга или ребро(р, х1), то найден гамильтонов цикл. Если надо найти все гамильтоновы циклы, то переход к шагу 7; иначе останов алгоритма.
51
7. Возвращение. Из множества S удаляется последняя включённая вершина rх. Если при этом S = 0 (множество S пустое), то следует остановка алгоритма, т е. все цепи и циклы найдены (или нет). Если S ≠ 0, то р = хr-1, где (r-1) - номер вершины, включенной в гамильтонов цикл.
8. Если в столбце р существуют возможные вершины, т. е. вершины, следующие за хr, то переход к шагу 4. В противном случае хr = хr-1 и переход к шагу 7.
Пример. Построить гамильтоновы цепи и цикла для графа
Peшeние.
Матрица М приводится ниже, вершины в каждом столбце расположены в алфавитном порядке:
Поиск |
всех |
гамильтоновых |
циклов |
производится |
следующим образом (вершина а выбирается в качестве начальной |
||||
вершины). |
|
|
|
|
Множество S |
|
Комментарии |
|
|
1. а |
|
Добавляем первую возможную |
|
|
|
|
вершину в столбце а (т. е. |
|
|
52
|
|
вершину b). |
2. |
а, b |
Добавляем первую возможную |
|
|
вершину в столбце b |
|
|
(т. е. вершину с). |
3. |
а, b, с |
Первая вершина (а) в столбце с |
|
|
не является возможной (a S), |
|
|
добавляем следующую вершину |
|
|
в столбце (т. е. вершину d). |
4. |
a, b, с, d |
Добавляем вершину f. |
5. |
a, b, с, d, f |
В столбце f нет возможной вершины. |
|
|
Возвращение. |
6. |
а, b. с, d |
В столбце d не существует возможной |
|
|
вершины, следующей за f. |
|
|
Возвращение. |
7. |
а, b, с |
Аналогично предыдущему. |
|
|
Возвращение. |
8. |
а, b |
Добавляем вершину е. |
9. |
а, b, е |
Добавляем вершину с. |
10. |
а, b, е, с |
Добавляем вершину d. |
11. |
а, b, е, с, d |
Добавляем вершину f. |
12. |
а. b, е, с, d, f |
Гамильтонов цикл, замыкающийся |
|
|
дугой (f, а). Возвращение. |
13. |
a, b, e, c,d |
Возвращение. |
14. |
a, b, e, с |
Возвращение. |
15. |
a, b, e |
Добавляем вершину d. |
16. |
a, b, e, d |
Добавляем вершину f. |
17. |
a, b, e, d, f |
Добавляем вершину. с |
18. |
a. b. e. d. f. с |
Гамильтонов цикл, замыкающийся |
|
|
дугой (с, а). Возвращение. |
19. |
a, b, е, d, f |
Возвращение. |
20. |
a, b, е, d |
Возвращение. |
21. |
а, b, е |
Возвращение. |
22. |
а, b |
Возвращение. |
23. |
а |
Возвращение. |
24. |
0 |
Конец поиска. |
53
Задания
1. Построить кратчайший путь в графе по варианту.
54
2. Построить кратчайшее остовное дерево с помощью алгоритмов Краскала и Прима по вариантам.
55
3. Построить все гамильтоновы циклы и цепи графа с использованием алгоритма Робертса и Флореса по варианту.
56
57
Библиографический список
Балдин, К. В. Основы теории вероятностей и математической статистики : учебник / К. В. Балдин, В. Н. Башлыков, А. В. Рукосуев. - Электрон. дан. - Москва : ФЛИНТА,
2016.- URL: https://e.lanbook.com/book/84347 . - |
Загл. с экрана. |
- Текст: электронный. |
|
Белоусов, А. И. Дискретная математика : |
учебник / А. И. |
Белоусов, С. Б. Ткачев; под ред. В. С. Зарубина, А. П. Крищенко. - 3-е изд., стереотип. - Москва : МГТУ, 2004. - 744 с. – Текст: непосредственный.
Бережной, В. В. Дискретная математика / В. В. Бережной, А. В. Шапошников – Ставрополь : СКФУ, 2016. – 199 с. : ил. –
Режим |
доступа: |
по |
подписке. |
– |
URL: |
http://biblioclub.ru/index.php?page=book&id=466802. |
– |
Текст: |
|||
электронный. |
|
|
|
|
|
Васильева, А. В. Дискретная математика / А. В. Васильева, И. В. Шевелева – Красноярск: СФУ, 2016. – 128 с. – Режим
доступа: |
по |
подписке. |
– |
URL: |
http://biblioclub.ru/index.php?page=book&id=497748. – |
Текст: |
|||
электронный. |
|
|
|
|
Гмурман, |
В. Е. Руководство |
к решению |
задач |
по теории |
вероятностей и математической статистике : учеб. пособие / В. Е. Гмурман. - 11-е изд., перераб. - Москва : Юрайт, 2010. - 404 с.
– Текст: непосредственный.
Новиков, Ф. А. Дискретная математика для программистов : учеб. пособие / Ф. А. Новиков. - 2-е изд. – Санкт-Петербург : ПИТЕР, 2006. - 364 с. - Текст: непосредственный.
Кузнецов, О.П. Дискретная математика для инженеров: учебник. — 5-е изд., стереотип. — Санкт-Петербург : Лань, 2007.— 400 с. - Текст: непосредственный.
Сидняев, Н. И. Теория планирования эксперимента и анализ статистических данных : учеб. пособие / Н. И. Сидняев. - 2-е изд., перераб. и доп. - Москва : Юрайт, 2015. - 495 с. – Текст: непосредственный.
58
|
|
Оглавление |
|
|
|
|
|||
Практическая |
работа |
№1. |
Основные |
понятия |
теории |
||||
множеств ......................................................................................... |
|
|
|
|
|
|
|
|
3 |
Практическая |
работа |
№2. |
Отображения и |
|
функции. |
||||
Свойства |
отображений. |
Нечеткие |
множества, |
функция |
|
||||
принадлежности. Операции над нечеткими множествами ............ |
8 |
||||||||
Практическая работа № 3. Бинарные отношения ........................ |
|
|
12 |
||||||
Практическая работа №4. Построение таблиц истинности |
|
||||||||
формулы, |
тождественная |
истинность, |
тождественная |
|
|||||
ложность ....................................................................................... |
|
|
|
|
|
|
|
|
17 |
Практическая работа №5. Упрощение формул, |
релейно- |
|
|||||||
контактные схемы функций ......................................................... |
|
|
|
|
|
21 |
|||
Практическая работа № 6. |
Минимизации булевой функции. |
|
|||||||
Алгебра Жегалкина. Линейные функции ..................................... |
|
|
|
27 |
|||||
Практическая работа № 7. Способы задания графов: матрица |
|
||||||||
инциденций, |
|
матрица смежности, |
таблица |
ребер, |
список |
|
|||
инцидентности .............................................................................. |
|
|
|
|
|
|
36 |
||
Практическая |
работа |
№8. |
Представление |
графа |
и |
||||
определение его характеристик. Алгоритмы поиска ................... |
|
|
40 |
||||||
Практическая работа №9. Кратчайший путь в орграфе. |
|||||||||
Построение кратчайшего остовного дерева, Гамильтонова |
|
||||||||
цикла ............................................................................................. |
|
|
|
|
|
|
|
|
46 |
Библиографический список........................................................... |
|
|
|
|
|
58 |
|||
59
Учебное издание
Черняева Светлана Николаевна Коробова Людмила Анатольевна Толстова Ирина Сергеевна
ДИСКРЕТНАЯ МАТЕМАТИКА В ПРОГРАММИРОВАНИИ
Подписано в печать 03.02.2023 . Формат 60
84 1/16.
Усл. печ. л. 3,5 Тираж 50 экз. Заказ |
С – 04. |
ФГБОУ ВО «Воронежский государственный университет инженерных технологий» (ФГБОУ ВО «ВГУИТ»)
Отдел полиграфии ФГБОУ ВО «ВГУИТ» Адрес университета и отдела полиграфии:
394036, Воронеж, пр. Революции, 19
60
