Методич.пособие Теория графов

advertisement
Введение
Теория графов – область дискретной математики,
особенностью которой является геометрический подход к
изучению объектов.
Дискретная математика для программистов относится к
числу общепрофессиональных предметов, формирующих
базовый уровень знаний, необходимых для изучения других
дисциплин, таких, как «Программирование», «Архитектура
ЭВМ», «Компьютерное моделирование» и других. Теория
графов, как один из разделов дискретной математики, и
связанные с ней методы исследования, используются на разных
уровнях не только во всей современной математике, но и нашли
широкое примениние в областях не связанных непосредственно
с математикой.
Данная методическая разработка предназначена для
студентов, обучающихся на третьем курсе по специальности
050202 «Информатика».
Целью методической разработки является помощь
студентам в самостоятельной работе над теоретическим
материалом для более успешной подготовки к выполнению
практических упражнений, проверка знаний и практических
навыков решения задач по указанным разделам данного курса, а
также в качестве закрепления теоретического материала и
осуществления качественного самоконтроля. Но также может
быть использована как задачник для выполнения домней
контрольной работы или просто для отработки полученных
знаний умений и навыков.
В работе даны необходимые теоретические сведения,
рассмотрено подробное решение наиболее показательных задач;
выделен необходимый для полного раскрытия темы круг
контрольных вопросов, составленный в соответствии с
государственными требованиями к минимуму содержания и
уровню подготовки студентов по данной теме.
3
Методическое пособие содержит достаточное количество
упражнений разной степени сложности для аудиторной и
самостоятельной работ, которые предусмотрены для студентов с
разной теоретической подготовкой.
Указана учебная литература, рекомендуемая для
успешного изучения материала.
4
История развития теории графов
На самом западе России есть город Калининград, раньше
он назывался Кенигсберг. Через город протекает река Преголя.
Она делится на два рукава и огибает остров. В XVIII веке в
городе было семь мостов, расположенных так, как показано на
рисунке 1.
Рис 1. Кенигсберг
Рассказывают, что однажды житель города спросил у
своего знакомого, сможет ли он пройти по всем мостам так,
чтобы на каждом из них побывать только один раз и вернуться к
тому месту, откуда началась прогулка. Многие горожане
заинтересовались этой задачей, однако придумать решение
5
никто не смог. Этот вопрос привлек внимание ученых разных
стран. Разрешить проблему удалось известному математику
Леонарду Эйлеру. Причем он не только решил эту конкретную
задачу, но и придумал общий метод решения
подобных задач. Поэтому, родоначальником теории
графов принято считать Леонарда Эйлера.
По поводу обнаруженного им способа решать задачи
подобного рода Эйлер писал
"Это решение по своему
характеру, по-видимому, имеет мало отношения к математике, и
мне непонятно, почему следует скорее от математика ожидать
этого решения, нежели от какого-нибудь другого человека, ибо
это решение подкрепляется одним только рассуждением, и нет
необходимости привлекать для нахождения этого решения
какие-либо законы, свойственные математике. Итак, я не знаю,
каким образом получается, что вопросы,имеющие совсем мало
отношения к математике, скорее разрешаются математиками,
чем
другими".
Так можно ли обойти Кенигсбергские мосты, проходя только
один
раз
через
каждый
из
этих
мостов?
Эйлер поступил следующим образом: он «сжал» берега в
точки, а мосты «вытянул» в линию. В результате получилась
фигура изображенная на рисунке 2.
6
Рис 2. Схема мостов Кенигсберга
Решая задачу про кенигсбергские мосты, Эйлер
установил, в частности, что если из всех точек или вершин
выходит четное количество линий, то можно одним росчерком
(т.е. не отрывая карандаша от бумаги и не проводя дважды по
одной и той же линии), пройти по всем линиям только по
одному разу. При этом движение можно начать с любой
вершины и окончить в той же вершине.
Если схема содержит только две нечетные вершины, то
задача тоже имеет решение, то есть можно начертить одним
росчерком. Движение надо начинать от любой нечетной
вершины, а заканчивать на другой нечетной вершине.
Схему с более чем двумя нечетными вершинами невозможно
начертить одним росчерком.
В задаче о семи кенигсбергских мостах все четыре
вершины соответствующего графа нечетные, т.е. нельзя
7
пройти по всем мостаодин раз и закончить путь там, где он был
начат.
Это была первая работа по теории графов великого
русского математика швейцарского происхождения Леонарда
Эйлера.
Задача о Кенигсбергских мостах и подобные ей задачи
вместе с совокупностью методов их исследования составляют
очень важный в практическом отношении раздел математики,
называемый теорией графов. Первая работа о графах
принадлежала Л. Эйлеру и появилась в 1736 году. В дальнейшем
над графами работали Кениг (1774-1833), Гамильтон (18051865), из современных математиков К. Берж, О. Оре, А. Зыков.
8
Основные понятия теории графов
Во многих прикладных задачах изучаются системы
связей между различными объектами. Объекты называются
вершинами и отмечаются точками или кружками, а связи между
вершинами – отрезками, линиями, соединяющими пары точек; и
эти отрезки называются ребрами. Рассмотрение таких систем
приводит к понятию графа.
Определение 1.Граф представляет собой непустое
конечное множество вершин V и множество ребер E, оба конца
которых принадлежат множеству V.
Обозначение графа: G(V,E).
При изображении графов на рисунках или схемах ребра
могут быть прямолинейными или криволинейными; длины
ребер и расположение вершин произвольны.
Рис.3 Примеры графов
9
Определение 2.Вершины, из которых выходит нечетное
число ребер, называются нечетными, а вершины, из которых
выходит четное число ребер, называются четными.
Определение 3. Пусть даны две вершины и одно ребро их
соединяющее. Тогда говорят, что каждая из этих дыух вершин
инцидентна данному ребру.
Определение 4. Два ребра, инцидентные одной вершине,
называются смежными. Две вершины, инцидентные одному
ребру, также называются смежными.
Определение 5. Нулевой граф– схема, состоящая из
изолированных вершин.
Определение 6. Неполный граф - граф, в котором не
построены все возможные ребра.
Определение 7. Полный граф – это граф, в котором
каждые две различные вершины соединены одним и только
однимребром.
Неполный граф
Полный граф
Рис.4
Определение 8. Два графа называются изоморфными,
если у них одинаковое количество вершин и если вершины
одного графа соединены ребром, то и соответствующие им
вершины другого графа тоже соединены ребром, то есть
существует взаимно-однозначное соответствие между их
10
ребрами и вершинами – соответствующие ребра соединяют
соответствующие вершины.
Определение 9. Плоский граф – это граф, который
можно начертить так, чтобы его ребра пересекались только в
вершинах.
Определение 10. Граф называется планарным, если
существует изоморфный ему граф, в изображении которого на
плоскости ребра пересекаются только в вершинах, то есть
плоский.
Первоначальный планарный
Изображенный иначе плоский
граф
Рис.5
Определение 11. Маршрут в графе - чередующаяся
последовательность вершин и ребер, которая начинается и
заканчивается вершиной.
Определение 12. Цикл – маршрут, в котором первая
вершина совпадает с последней.
Определение 13. Контур – это цикл без повторения
вершин, за исключением первой вершины, совпадающей с
последней.
Определение 14. Путь – маршрут без повторения вершин.
11
Маршрут – 1,2,3,4,2,5
Путь – 1,2,3,4,7,5
Цикл -1,2,3,4,2,5,6,1
Контур-1,2,5,6,1
Рис.6
Связность графов
Определение 15. Две вершины графа называются
связными, если в графе существует путь с концами в этих
вершинах. Если такого пути не существует, вершины
называются не связными.
Определение 16. Связный граф – это граф, в котором
любые две вершины можно соединить маршрутом или путем.
Определение 17. Мост – ребро, при удалении которого
граф перестает быть связным.
Рис.7
На рисунке любая пара
вершин, взятая из набора
А,Б,В,Г,Д ,будет связной, т.к. от
любой из них к любой можно
"пройти" по ребрам графа.
Пары вершин, одна из которых
взята из набора А,Б,В,Г,Д, а
другая из набора Е,Ж,З, не будут
связными, т.к. от одной к другой
"пройти" по ребрам не удается.
12
Деревья
Определение 18. Дерево–конечный связный граф с выделенной
вершиной (корнем), не имеющий циклов.Договоримся считать
«деревом» и всякий граф, состоящий из одной (изолированной)
вершины.
Определение 19. Степень вершины – число ребер,
выходящих из нее. Если степень вершины равна 1, то вершина
называется висячей.
Рис.8
Свойства дерева.
Свойство 1.Для каждой пары вершин дерева
существует единственный путь, их соединяющий.
Этим свойством пользуются при нахождении всех
предков, например, по мужской линии, любого человека, чья
родословная представлена в виде генеалогического дерева,
которое является «деревом» и в смысле теории графов.
13
И.П.Толстой
(1726)
Княжна
А.И.Щеткина
П.М.Ртищева
(1748)
Княжна
П.Н.Горчакова
(1762-1838)
Граф
А.И.Толстой
(1721-1803)
Граф
И.А.Толстой
(1787-1820)
Граф
Н.И.Толстой
(1794-1837)
Князь
Н.С.Волконский
(1753-1826)
М.Д.Чаадаев
(1794-1856)
Граф
Л.Н.Толстой
(1828-1910)
Рис.9
Генеалогическое
дерево Л.Н.Толстого
Княжна
М.И.Волконская
(1726)
14
Княжна
Е.Д.Трубецкая
(1749-1799)
Свойство 2.Всякое ребро в дереве является
мостом. После
удаления любого ребра дерева, оно «распадается» на два дерева.
Наиболее характерные свойства деревьев, которые
одновременно служат эквивалентными определениями дерева,
сформулированы в теореме:
Теорема. Граф G = (V,X) является деревом тогда и только тогда,
когда выполняется хотя бы одно из условий:
граф G = (V,X) связен и не содержит циклов;
граф G = (V,X) не содержит циклов и имеет n-1 ребро;
граф G = (V,X) связен и имеет n-1 ребро;
граф G = (V,X) не содержит циклов, но добавление ребра
между смежными вершинами приводит к появлению одного и
только одного элементарного цикла;
граф G = (V,X) связный, но утрачивает это свойство
после удаления любого ребра;
в графе G = (V,X) всякая пара вершин соединена цепью, притом
только одной.
Ориентированные графы
Определение 20. Ребро графа называется ориентированным
ребром, если одну из его вершин считать началом, а другую
концом этого ребра.
Определение 21. Граф, у которого все ребра ориентированные,
называется ориентированным графом.
На практике часто ориентированные графы используют
для наглядного представления процесса и результата
спортивных соревнований.
15
Рис 10а.
Рис. 10б.
Так, на рисунке 10а изображена (с помощью графа) схема
игр между командами А, Б, В, Г, Д, Е. Но эта схема не дает
информации о результатах игры. Обычно используют
ориентацию ребра от выигравшей команды к проигравшей,т. е.
если А выиграла у Д, то граф ориентируют от А к Д. На рисунке
10б(с помощью ориентированного графа) показаны результаты
игр между командами, изображенными с помощью графа на
предыдущем рисунке.
Определение 22. Граф называется смешанным, если в
нем есть ориентированные и неориентированные ребра.
Эйлеровы графы
Определение 23. Эйлеровым путем в графе называется
путь, содержащий все ребра графа.
16
Определение 24. Эйлеровым циклом называется цикл,
содержащий все ребра графа и притом только по одному разу.
Определение 25. Эйлеров граф – это граф, обладающий
эйлеровым циклом.
Определение 26. Полуэйлеров граф – это граф,
содержащий маршрут, обходящий все ребра по одному разу.
Не является
эйлеровым
Полуэйлеров
Эйлеров граф
Рис.11
Теоремы Эйлера
Теорема 1. Для того, чтобы связный граф являлся
эйлеровым, необходимо и достаточно, чтобы степени всех
его вершин были четными.
Теорема 2. Связный граф будет полуэйлеровым тогда и
только тогда, когда степени двух его вершин будут
нечетными, а степени остальных вершин – четными.
 К задачам на эйлеровы графы относятся головоломки, в
которых требуется вычертить на плоскости одним
росчерком замкнутые кривые, обводя каждый участок
один раз.
 На практике эйлеровым графом может быть план
выставки; это позволяет расставить указатели маршрута
так, чтобы посетитель смог пройти по каждому залу в
точности по одному разу.
17



Маршрут почтальона, разносящего заказные письма,
газеты, журналы и другую корреспонденцию тоже можно
составить в виде эйлерова графа; это позволит экономить
силы и время.
Поливка улиц одной машиной или сбор мусора
Уборка помещений и коридоров в больших помещениях
Гамильтоновы графы
Определение 27. Гамильтоновым путем в графе
называется путь, проходящий через каждую его вершину и
только один раз.
Определение 28. Гамильтоновым циклом называется
цикл, проходящий через каждую его вершину и только один
раз.
Определение 29. Гамильтоновым графом называется
граф, содержащий гамильтоновый цикл.
V1 V2 V3 V4 V1 V5 –
не является
гамильтоновым путем
V1 V2 V3 V4 V1 V5 –
гамильтонов путь
V9 V2 V4 V3 V5 V1 V7
V6 V8 V10 V12 V11 V9
Гамильтоновый цикл
Рис.12
18
Операции над графами
В ряде задач теории графов используются двуместные
операции над графами.
Рассмотрим графы G1=(V1,X1) и G2=(V2,X2).
1. Объединением графов G1=(V1,E1) и
G2=(V2,X2)называется граф G = G1UG2, множество вершин
которого V = V1UV2, а множество ребер X = X1UX2.
2. Пересечением графов G1=(V1,E1) и G2=(V2,X2)
называется граф G = G1∩ G2, множество вершин которого V = V1
∩ V2 , а множество ребер X = X1 ∩ X2.
3. Подграфом графа G= (V,X) называется граф
G1=(V1,X1), все вершины и ребра которого являются
подмножествами множества вершин и ребер графа G, то есть
G1 G, если V1 V, X1X.
4. Кольцевой суммой двух графов называется граф
G = G1G2, порожденный множеством вершин V = V1 U V2 и
множеством ребер (X1 U X2) \ (X1 ∩ X2), то есть множеством
ребер , содержащихся либо в G1, либо в G2 , но не в G1∩ G2.
Примеры на операции над графами:
19
а) G1
б) G2
в) 𝐺 = 𝐺1 ∪ 𝐺1
г) 𝐺 = 𝐺1 ∩ 𝐺2
Рис.13 Операции над графами:
а)-граф G1 ; б)-граф G2;
в)-объединение графов G1 и G2;
г)-пересечение графов G1 и G2;
д)-кольцевая сумма графов G1 и G2
𝐺 = 𝐺1 ⨁𝐺2
20
Способы задания графов
Существуют различные способы задания графа:
1. Геометрический – рисунки, схемы, диаграммы.
Определение 30. Геометрическое представление плоского графа
называется его реализацией.
Человеку удобно работать с графом – рисунком, так он
может легко установить связь между вершинами в наглядном
виде с помощью ребер, изображаемых непрерывными линиями.
2. Перечислительный– простое перечисление вершин и ребер.
3. Табличный – при помощи диаграммы, таблицы, матрицы, где
главным является указание соответствия между множествами
вершин и множествами ребер.
Такой способ удобен для машинной обработки графа,
сжатия и хранения информации графа.
Рассмотрим более подробно матричный способ.
Пусть задан граф G(V;X), где
V ={V1,V2,…Vn} – вершины,X = {x1,x2,…xn} – ребра.
I. Матрица инцидентности – таблица, состоящая из n строк
(вершины) и m столбцов (ребра), в которой:
а) для неориентированного графа:


bij = 1, если вершина Vij инцидентна ребру xij
bij = 0, в противном случае.
21
б) для ориентированного графа:



bij = 1, если вершина Vi является началом ребра xj;
bij = 0, если вершина Vi не инцидентна ребру xj;
bij = - 1, если вершина Vi является концом ребра xj.
Очевидно, что в каждом столбце матрицы инцидентности
должно быть только два ненулевых числа, так как ребро
инцидентно двум вершинам. Число ненулевых элементов
каждой строки – степень соответствующей вершины.
Таблица инцидентности графа, изображенного на рисунке.
Vi
xj
V1
X1
1
X2
1
X3
0
X4
0
X5
0
X6
0
X7
0
X8
0
X9
0
X10
0
V2
0
1
1
0
0
0
0
1
1
0
V3
0
0
1
1
0
1
1
0
0
0
V4
0
0
0
1
0
0
0
0
0
1
V5
0
0
0
0
1
1
0
0
1
0
V6
1
0
0
0
1
0
1
1
0
1
Матрица инцидентности для данного графа.
В
=
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
22
0
0
0
1
0
1
В математике удобнее работать с квадратными
матрицами, так как для них хорошо разработан
соответствующий алгебраический аппарат.
II. Матрица смежности – квадратная таблица, порядка n(n×n), в
которой
а) для неориентированного графа:


aij = 1, если вершинысмежные
аij = 0, в противном случае.
Хотя формально каждая вершина всегда смежна сама с
собой, в матрице смежности аkk= 0, если нет петли, и аkk= 1, если
есть одна петля. Итак, если граф имеет матрицу смежности и не
имеет петель, на главной диагонали у него всегда стоят нули.
Таблица смежности графа, изображенного на рисунке.
Vi
Vi
V1
V1
0
V2
1
V3
0
V4
1
V5
0
V6
1
V2
1
0
1
1
0
1
V3
0
1
0
1
1
1
V4
1
1
1
0
0
1
V5
0
0
1
0
0
1
V6
1
1
1
1
1
0
23
Матрица смежности для данного графа.
0
1
0
1
0
1
А =
1
0
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
0
Задача. Граф задан матрицей смежности А. Построить
диаграмму этого графа, если
А
=
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
V3
V5
V2
V6
V1
V4
24
Раскраска графа
Задача: раскрасить вершины графа так, чтобы любые две
смежные вершины были раскрашены в разные цвета, при
этом число использованных цветов должно быть
наименьшим.
Определение 30. Наименьшее возможное число раскраски
графа называют его хроматическим числом.
Теорема. Граф является 2-хроматичным тогда и только
тогда, когда он не содержит циклов.
Сетевые графы.
Определение 30. Граф называется взвешенным или сетью,
если каждому его ребру поставлено в соответствие некоторое
число (вес).
Взвешенными графами могут быть схемы в электронике,
электрические схемы, карты автомобильных и железных
дорог и др. Наприме, на картах автодорог вершины являются
населенными пунктами, ребра – дорогами, а весом – числа,
равные расстоянию между населенными пунктами.
В строительстве сетевые графы применяются для
наглядного изображения некоторого комплекса работ или
производственных процессов. Ребрам графа могут
соответствовать числа, означающие длину, уклон,
запланированное время и другие характеристики.
25
Например, последовательность работ для монтажа
каркаса здания:
(числа – технологические операции)
1 – начало работ, 2 – рытье котлована, 3 – монтаж фундамента,
4 – завоз металлоконструкций, 5 – монтаж подъемного крана,
6 – монтаж каркаса здания.
2
3
4
1
6
5
Рис. 14
Применение теории графов
Возникает вопрос: так ли нужны были графы в задачах?
Разве нельзя прийти к решению логическим путем? Можно, но
графы придали условиям наглядность, упростили решение и
выявили сходство задач. Есть задачи, графы которых имеют сто
и более вершин. А ведь именно такие задачи приходится решать
современным инженерам и экономистам. Сейчас почти в любой
отрасли науки и техники встретишься с графами: в
электротехнике – при построении электрических схем; в химии
и биологии – при изучении молекул и их цепочек; в экономике –
при решении задач выбора оптимального пути для потоков
грузового транспорта.
26
Схему метрополитена можно рассматривать как граф.
Вершинами являются станции метро, линии отражают
рельсовую связь между станциями.
Бинарные деревья применяются в информатике для
поиска одного из двух возможных варианотов ответа. Например,
при поиске данных , когда необходимо сравнить каждый
элемент списка с образцом, и если значения совпадают, то
процесс поиска завершен, а если не совпадают, то поиск данных
продолжается. Впервые понятие двоичного дерева ввел в III в.
Римский философ Порфирий.
Теория графов в химии (для описания структур, путей
сложных реакций, правило фаз также может быть
интерпретировано как задача теории графов); компьютерная
химия — сравнительно молодая область химии, основанная на
применении теории графов.Пример из органической химии.
Свойства веществ, называемых углеводородами, зависят не
только от того, из какого количества атомов углерода и водорода
состоит молекула, но и от способа их соединения, т. е. от
структуры молекулы. На рис. 14 изображена структура молекул
двух разных веществ, состоящих из одинакового числа атомов
углерода (С) и водорода (Н).Принятый в химии способ
отображения структуры молекулы фактически является графом.
H
|
H H CH H
|
|
|
H C
C
 CH
|
|
|
H H CH H
|
H
H H H H H
| | | | |
H  C C C C CH
| | | | |
H H H H H
Рис. 15
27
Пример применения графов на производстве:
Предприятие
Другие цеха
Цех 2
Цех 1
Смена 1
Смена 2
Смена 3
Смена 1
Бригада 1 Бригада 2 Бригада 3
Смена 2
Смена 3
Бригада 1 Бригада 2 Бригада 3
Вычислительные
машинмашины
Аналоговые
Смешанн
ые
Цифровы
е
Оптоэлектрическ
ие
Механически
е
Рис.16
28
Комбинированны
е
Электронны
е
Практическая часть по теме «Графы»
Задача 1. Изобразите графически:
1) Неориентированное и ориентированное ребра;
2) Плоский граф,
3) Полный неориентированный граф на трех, четырех, пяти
вершинах;
4) Неполный ориентированный граф на пяти вершинах;
5) Петлю графа;
6) Неориентированный и ориентированный мультиграф.
Решение:
1)
Неориентированное ребро
Ориентированное ребро
V2
2)
V3
V1
V4
V5
29
V2
3)
V2
V3
V4
V1
V3
V1
V2
V1
5)
V3
V5
V4
V2
V1
V2
V3
4)
V1
6)
V2
V1
V5
V4
30
Задача 2. Докажите, что в полном графе с n вершинами
𝑛(𝑛−1)
2
ребер.
Решение. Каждой вершине в полном графе с n вершинами
принадлежит n – 1 ребро, но в произведении n(n-1) каждое
ребро учтено дважды (так как одно ребро инцидентно двум
вершинам). Следовательно, число ребер в полном графе с n
вершинами равно
𝑛(𝑛−1)
2
.
Задача 3. Девять шахматистов проводят турнир в один груг
(каждый из участников должен сыграть с остальными по одному
разу). Покажите, что в любой момент найдутся два шахматиста,
сыгравшие одинаковое количество партий.
Решение. Переведем условие задачи на язык графов. Каждому
шахматисту поставим в соответствие вершину графа, соединим
ребрами попарно вершины, соответствующие шахматистам, уже
сыгравшие между собой партию. Получим граф с девятью
вершинами. Степени его вершин равняются числу партий,
сыгранных соответствующими игроками. Покажем, что во
всяком графе с девятью вершинами всегда найдутся хотя бы
двевершины одинаковой степени.
Каждая вершина графа с девятью вершинами может
иметь степень 0,1,2,3,4,5,6,7,8. Предположим, что существует
граф G, все вершины которого имеют разную степень, то есть
каждое из чисел последовательности 0,1,2,3,4,5,6,7,8 является
степенью одной и только одной из его вершин. Но этого не
может быть, так как если в графе есть вершина Vi степени 0, то в
нем найдется вершина Vj со степенью 8. Эта вершина Vj должна
быть соединена ребрами со всеми остальными вершинами графа,
в том числе и с вершиной Vi , поэтому степень вершины Vi не
может равняться 0. Таким образом, в графе с девятью
вершинами не могут быть одновременно вершины степени 0 и 8.
31
Следовательно, найдутся хотя бы две вершины, степени которых
равны между собой. Таким образом, доказано, что в любой
момент найдутся хотя бы два шахматиста, сыгравшие
одинаковое количество партий.
Задача 4. Может ли так случиться, что в одной компании из
шести человек каждый знаком с двумя и только с двумя
другими?
Решение. Участников этой компании изобразим вершинами
графа, а отношение знакомства между ними – ребром.
Изобразим графы, которые могут соответствовать такой
компании. Про граф G1 говорят, что он связный, так как из
каждой вершины по ребрам можно попасть в любую другую.
Делаем вывод, что в этом случае каждый через своих знакомых
может познакомиться со всеми остальными.
Про граф G2 говорят, что он несвязный, так как состоит
из двух простых циклов. Делаем вывод, что граф соответствует
двум компаниям, участники одной из них могут быть не
знакомы с участниками другой.
G2
G1
32
Задача 5. Из пункта А в пункт В выехали пять машин одной
марки разного цвета: белая, черная, красная, синяя, зеленая.
Черная едет впереди синей, зеленая – впереди белой, но позади
синей, красная впереди черной. Какая машина едет первой и
какая последней?
К
Ч
Б
С
З
Анализируя граф, получаем следующий порядок движения:
красная, черная, синяя, зеленая, белая.
Задача 6. Пусть даны графы G1 и G2. Установите, изоморфны
они или нет.
Решение. Для доказательства того, что граф G1 изоморфен
графу G2 необходимо и достаточно выполнение условия: найти
такую подстановку, которая грф G1 переводит в граф G2.
Запишем элементы x∈X и y∈Y с соответствующими им парами
чисел, где первое число – число исходов из вершины, а второе –
число заходов в вершину. Далее определим частичную
подстановку, соединяя вершины xi и yi с одинаковыми
числами.
x1(1,1) x2(1,1) x3(3,2) x4(1,2) x5(2,2) x6(2,2) x7(1,1)
y1(2,2) y2(1,1) y3(2,2) y4(1,1) y5(1,2) y6(1,1) y7(3,2)
В результате получим подстановку x1 x2 x3 x4 x5 x6 x7
y4 y2 y7 y5 y3 y1 y6
Следовательно, графы G1 и G2 изоморфны.
33
Задача 7. Для неориентированного графа построить матрицу
смежности и матрицу инцидентности.
С
3
2
D
7
А
6
4
1
B
E
5
Решение: Матрица смежности:
Матрица инцидентности:
А
В
C
D
E
0
1
1
0
0
A
1
0
1
1
1
B
1
1
0
1
1
C
0
0
1
0
1
D
0
1
1
0
0
E
А
В
C
D
E
1
1
0
0
0
1
1
0
1
0
0
2
0
0
1
1
0
3
0
0
0
1
1
4
0
1
0
0
1
5
Задача 8. Найдите эйлеров цикл в эйлеровом графе.
4
5
3
2
6
7
1
А
8
34
0
1
1
0
0
6
0
0
1
0
1
7
Решение: После выбора вершины А и прохождении ребер 1 и 2
имеются три возможности выбора: ребра 3,6 или 7. Выбираем
ребро 3 или 6. Например, ребро 3. Далее обходим оставшиеся
ребра и получаем эйлеров цикл 1,2,3,4,5,6,7,8.
Задача 9. Найдите цикл, содержащий все вершины, причем в
точности по одному разу каждую.
Решение: Этот цикл:
1,2,3,4,5,6,19,18,14,15,16,17,7,8,9,10,11,12,13,20.
16
9
15
10
8
3
17
4
7
11
15
12
5
2
6
1
13
19
14
20
18
35
Упражнения для самостоятельного выполнения
1. Граф задан таблицей смежности.
1) Постройте изображение этого графа, укажите степени его
вершин;
2) Постройте матрицу инцидентности этого графа.
а)
V
V1
V2
V3
V4
V5
V6
в)
V
V1
V2
V3
V4
V5
V6
д)
V
V1
V2
V3
V4
V5
V6
б)
V1 V2 V3 V4
1
1
1
1 2
2
1 1
1
V5 V6
1 1
1
V
V1
V2
V3
V4
V5
V6
г)
V
V1
V2
V3
V4
V5
V6
е)
V
V1
V2
V3
V4
V5
V6
1
1
V1 V2 V3 V4 V5 V6
1 1
2 1
1
1 1
1
1
1
1 1
1
1 1
1
V1 V2 V3 V4 V5
1
2
1
1
1
1
1
1 1
1
V6
1
1
1
36
V1
1
1
V2 V3 V4 V5 V6
1 1
1
1
1 1
1
1
1 1 2
1 1
V1 V2 V3
2
1
1
1
1
1
1
V4 V5 V6
1
1
1 1
1
1
1 1
V1 V2 V3 V4 V5
1 1
1
1
1
1
1
1
1
1
1 1
V6
1
1
2
2. Граф задан диаграммой.
1) Составьте для него матрицу смежности.
2) Постройте матрицу инцидентности.
3) Укажите степени вершин графа.
4) Составьте маршруты длины 5 из вершиныV2 в вершину V5.
Составьте простую цепь, соединяющую эти вершины.
5) Постройте простой цикл, содержащий вершину V4.
6)Определите вид заданного графа.
V1
V2
V3
V7
V6
V5
V4
а
V1
V1
V6
V2
V2
V6
V7
V7
V5
V3
б
V5
V4
в
V4
37
V3
V1
V6
V2
V7
V1
V2
V6
V5
V3
V7
V4
V5
г
V3
V4
д
V1
V7
V1
V2
V6
V3
V2
V7
V6
V4
V3
V5
V5
е
V4
38
ж
)
)
)
3. Найдите объединение и пересечение графов G1и G2,
дополнение графа G1.
V2
V2
V1
V1
V4
V4
V5
V5
V3
V3
G1
a
G2
V2
V2
V1
G1
V1
G2
V3
V3
б
V4
V3
V5
V3
V5
V5
V2
V2
V4
G1
V1
G2
в
V1
39
V2
V4
V3
V1
V3
V1
V5
V5
G2
г
G1
V5
V1
V2
V1
V4
V3
V4
д
G1
V2
V3
G2
V4
V4
V2
V1
V5
V5
V1
G1
V3
д
40
G2
4. Составьте все возможные планы маршрута путешествия по
историческим местам, если автотуристам надо проехать из
пункта М в пункт N, осмотрев все памятники архитектуры не
более одного раза. Как называется такой маршрут?
А
M
С
В
N
F
E
D
K
5. Составьте сценарий и по нему постройте сетевой граф,
изображающий порядок выполнения операций, для того чтобы:
1) подготовить и провести неделю информатики в колледже;
2) посадить и вырастить цветы вокруг колледжа;
3) организовать работу торговой точки;
4) выпустить газету к празднику;
5) организовать и осуществить поездку в другой город.
41
6.Ориентированный граф G = (V,X) с множеством вершин
V = {1,2,3,4,5,6,7}задан списком дугX:
a) X = {(1,2),(2,3),(4,3),(4,5),(6,5),(7,6),(7,1),(7,7),(7,2), (6,4),
(4,4),(2,7),(6,4),(5,3)};
б) X = {(1,4),(2,1),(4,3),(4,5),(2,6),(7,1),(7,6),(3,2),(5,4),(3,4),
(2,2),(6,2),(5,5)(2,6)}
в) X = {(1,5),(2,3),(2,3),(4,5),(4,6),(5,6),(5,1),(6,6),(3,2),(5,4),
(6,4),(7,2),(6,7),(7,5)}
1) Постройте реализацию графа G.
2) Постройте матрицу инцидентности графа G.
3) Постройте матрицу смежностиG.
4) Укажите степени вершин полученных графов.
7. Решите задачи «о переправах», изобразите решение графом.
а) Три генерала – Строгий, Лихой и Грозный – со своими
адъютантами переправлялись через реку с помощью
двухместной лодки. Адъютант может либо перевозить своего
генерала, либо переправляться с другим адъютантом. Однако ни
один из генералов не разрешил своему адъютанту ни оставаться
с другим генералом вдвоем на берегу, ни переправляться с ним
через реку. Как они переправились через реку?
б) Трое мужчин и три женщины должны переправиться через
реку. У них была одна лодка, которая вмещала только двух
человек. Грести умели все мужчины и только одна женщина.
Кроме того, женщины требовали, чтобы ни на обном берегу не
оставалось женщин больше, чем мужчин. Как им переправиться
через реку?
в) Муж, жена и двое детей должны переправиться на
противоположный берег реки при помощи лодки. Муж и жена
42
весят по 100 кг, а дети – по 50. Как им быть, если лодка вмещает
до 100 кг и каждый из них умеет грести?
г) Человеку необходимо было переправить через реку с
помощью лодки волка, козу и капусту. В лодке мог поместиться
только человек, а с ним или волк, или коза, или капуста. Но если
оставить волка с козой без человека, то волк съест козу, если
оставить козу с капустой, то она съест капусту, а в присутствии
человека никто никого не ел. Человек все-таки перевез через
реку и волка, и козу, и капусту. Как он это сделал?
8. Решите при помощи графов задачи на поиск «фальшивой
монеты».
а) Из 9 монет одна фальшивая (более легкая). Как двумя
взвешиваниями на чашечных весах определить фальшивую
монету?
б) Из 80 одинаковых по виду монет одна фальшивая (более
легкая). Как четырьмя взвешиваниями на чашечных весах
определить фальшивую монету?
в) Из 8 монет одна более легкая (фальшивая). Как при помощи 4
взвешиваний на чашечных весах определить фальшивую
монету?
г) Из 27 монет одна фальшивая (более легкая). Как тремя
взвешиваниями на чашечных весах определить фальшивую
монету?
д) Из 81 монеты одна фальшивая (более легкая). Как четырьмя
взвешиваниями на чашечных весах определить фальшивую
монету?
е) Из 82 монет одна фальшивая (более легкая). Какое
наименьшее число взвешиваний необходимо для определения
этой монеты?
ж) Из m одинаковых по виду монет одна фальшивая (более
легкая). Указать наименьшее число взвешиваний, необходимых
для определения фальшивой монеты?
43
9. Решите задачи, используя графы.
а) Атос поскакал в гости к Портосу, взяв с собой карту (рис. ).
Числа на схеме обозначают время движения в часах от пункта до
пункта. Помогите Атосу найти кратчайший путь от своего
поместья в пункте Е до поместья Портоса в пункте Д.
Перечислите пункты, которые должен проехать Атос, и
подсчитайте время, которое он затратит на весь путь.
А
3
2
В
Б
9
6
6
Д
1
10
3
3
1
З 2
5
Ж
8
5
Е
1
10
5 Г 10
2
5
К
б) Вини-пух вышел на прогулку, взяв с собой карту (рис. ).
Числа на схеме обозначают время движения в минутах от пункта
до пункта. Помогите Вини-пуху найти кратчайший путь от
своего дома в пункте А до дома Пятачка в пункте К.
Перечислите пункты, которые должен пройти Вини-пух, и
подсчитайте время, которое он затратит на весь путь.
В
А
25
30
10
5
15
Г
10
Б
10
15
25
Ж
Д
10
5
20
И 10
З
10
К
15
44
Контрольные вопросы
Что называется графом? Ориентированным графом? Приведите
примеры.
Перечислите и сформулируйте основные понятия, связанные с
неориентированными графами.
Перечислите основные понятия, связанные с орграфами.
Какие два графа называются изоморфными.
Что называется маршрутом, циклом, путем и цепью графа.
Сформулируйте понятие связности графа.
Дайте определение эйлерова графа.
Какой граф называют гамильтоновым?
Дайте понятие дерева и перечислите его свойства.
Перечислите операции над графами.
Перечислите способы задания графов.
В чем состоит аналитический способ задания графа?
В чем состоит геометрический способ задания графа?
В чем состоит матричный способ задания графа?
Какая матрица называется матрицей смежности графа?
Какая матрица называется матрицей инцидентности графа?
45
Список литературы
1. Белов В.В., Воробьев Е.М., Шаталов В.Е. Теория графов.
– М.: Высшая школа, 2003
2. Галушкина Ю.И., Марьянов А.Н. Конспект лекций по
дискретной математике.- М.: Айрис-пресс,2008
3. Данилов В.Г., Дубнов В.Л. и др. Дискретная математика:
учебное пособие. – М. Горячая линия – телеком, 2008
4. Кузнецов О.П. Дискретная математика для инженеров.
М., 2005
5. Новиков Ф.А. Дискретная математика для
программистов. – СПб., 2001
6. Оре О. Теория графов. – М.: Наука, 1968
7. Спирина М.С., Спирин П.А. Дискретная математика:
учебник для студ.учреждений сред. проф. образования/М.:Издательский центр «Академия», 2007
8. Шапорев С.Д. Дискретная математика Курс лекций и
практических занятий. – С.Пб.: БВХ – Петербург, 2009
9. Яблонский С.В. Введение в дискретную математику. –
М.: Высшая школа, 2002Капитонов Ю.В. и др. Лекции по
дискретной математике. СПб. 2004
46
Содержание:
1. Введение……………………………………………….… ..3
2. История развития теории графов…………………….……5
3. Теоретическая часть:
3.1. Основные понятия теории графов………….………..9
3.2. Связность графов…………………………………….12
3.3. Деревья…………………………………………….….13
3.4. Ориентированные графы……………………………15
3.5. Эйлеровы графы……………………………………..16
3.6. Гамильтоновы графы……………………………...…18
3.7. Операции над графами……………………………....19
3.8. Способы задания графов………………………….…21
3.9. Раскраска графа…………………………………..…..25
3.10.Сетевые графы…………………………………...…..25
4. Применение теории графов……………………………....26
5. Практическая часть по теме «Графы»………………....…29
6. Упражнения для самостоятельного выполнения…….....36
7. Контрольные вопросы..…………………………………...45
8. Список литературы………………………………………..46
47
Download