2017 01-основные опр и операции.ppt
- Количество слайдов: 62
ТЕОРИЯ И МЕТОДЫ ДИСКРЕТНЫХ ВЫЧИСЛЕНИЙ Лектор – доктор технических наук, профессор Князьков Владимир Сергеевич Кафедра ЭВМ Вятский государственный университет 1
А. Основная литература Волченская Т. В. , Князьков В. С. Компьютерная математика: ч. 2. Теория графов: Учеб. пособие. - 2007. – 124 с. -//www. intuit. ru Харари Ф. Теория графов: учебник для вузов / Ф. Харари. – М. : УРСС, 2006. Иванов Б. Н. Дискретная математика. Алгоритмы и программы. Расширенный курс. – М: Известия, 2011. – 512 с. http: //www. intuit. ru/studies/courses/1033/241/info 1. Электронные лекции 2. Примеры 3. Тесты – в итоге СЕРТИФИКАТ ИНТУИТ
Б. Дополнительная литература 1. 2. 3. 4. 5. Белоусов А. И. , Ткачев С. Б. Дискретная математика. – М. : Изд-во МГТУ им Н. Э. Баумана, 2001. – 744 с. Оре О. Графы и их применение: Пер. с англ. - Изд. 3 -е стереотипное. – М. : Ком. Книга, 2006. Харари Фрэнк Теория графов = Graph theory/Пер. с англ. и предисл. В. П. Козырева. Под ред. Г. П. Гаврилова. Изд. 2 -е. — М. : Едиториал УРСС, 2003. — 296 с. Асанов М. О. , Баранский В. А. , Расин В. Дискретная математика: графы, матроиды, алгоритмы — НИЦ РХД, 2001. — 288 с. 5. Кормен, Томас Х. , Лейзерсон, и др. Алгоритмы: построение и анализ, 2 -е издание. Пер. с англ. — М. : Изд. дом "Вильямс", 2010. — 1296 с. : 6. Дискретная математика, Асеев Г. Г. 7. Комбинаторика и теория графов, Носов В. А. 8. Дискретная математика, Асанов М. О. , Графы, Матроиды, Алгоритмы
1. Введение и области применения теории графов 2. Способы представления графов 3. Основные операции на графах 4
Введение В последние годы особую важность приобрели те разделы математики, которые имеют отношение к развитию цифровых устройств, цифровой связи и цифровых вычислительных машин. Базой для преподавания этих дисциплин наряду с классическими методами анализа непрерывных физических моделей стали алгебраические, логические и комбинаторные методы исследования различных моделей дискретной математики. Значительно возросла популярность теории графов - ветви дискретной математики. Графы встречаются во многих областях под разными названиями: “структуры” в гражданском строительстве, ”сети” в электронике, ”социограммы” в социологии и экономике, “молекулярные структуры” в химии, ”дорожные карты”, электрические или газовые распределительные сети и т. д.
Области применения дискретных моделей Комбинаторные вычисления находят широкое применение в различных областях : Производство РЭА и ВТ • оптимальное размещение элементов и трассировка; • разбиение схемы на подсхемы для реализации блоками и т. д. 6
Области применения дискретных моделей
Области применения дискретных моделей 2. Строительство -Как построить транспортную сеть в регионе, чтобы минимизировать затраты на строительство и оптимизировать транспортные перевозки. - Как соединить мостами острова в пойме большой реки, минимизируя затраты и учитывая параметры сейсмостойкости и прочности. -Сколько вариантов прокладки трубопроводов между заданными пунктами? 8
На рис. изображена схема путей, связывающих эти города. Различные варианты путешествий отличаются друг от друга порядком посещения городов В, С, и. D. Существует шесть вариантов путешествия. В таблице указаны варианты и длин каждого пути: Путь Длина пути ABCDA 1555 ACDBA 1300 ABDCA 1300 ADBCA 1450 ACBDA 1450 ADCBA 1550 А 300 20 0 В 500 400 D 350 С 400 9
10
11
Области применения дискретных моделей
Области применения дискретных моделей -при исследовании так называемой проблемы оптимизации, возникающей при конструировании больших систем как технических, так и программных, например, таких как компиляторы; -в области проектирования для построения эффективных алгоритмов и анализа их сложности. ; -при разработке алгоритмов конструкторского проектирования схем; -В психологии при анализе совместимости; -В системах управления…
Области применения дискретных моделей
Графы и способы их представления
Основные определения Формальное определение графа может быть дано следующим образом: графом называется двойка вида G = (X, A), где X={xi}, i=1, 2, . . . , n - множество вершин графа, A={ai}, i=1, 2, . . . , m –множество дуг или ребер графа. Граф задается множеством точек или вершин х1, х2, . . . , хn и множеством линий -дуг или ребер a 1, a 2, . . . , am, , соединяющих между собой все или часть точек. x 1 x 4 x 2 x 3
Орграф Графы могут быть ориентированными, неориентированными и смешанными x a Если ребра ориентированы, что обычно показывается стрелкой, то они называются дугами, и граф с такими ребрами называется ориентированным графом или орграфом 1 2 x 1 2 a 3 a a 4 x 3 a 5 a 6 x 4
Неориентированный граф Если ребра не имеют ориентации, то граф называется неориентированным a 2 x 1 x 2 a 3 a 1 x 3 a 4 a 6 x 4 a 5 x 5
Смешанный граф Граф, в котором присутствуют и ребра, и дуги называется смешанным x 2 a 1 a 3 x 1 a 4 x 3 a 5 x 5 a 6 a 7 x 4
Дубликат или неориентированный двойник В случае когда мы хотим пренебречь направленностью дуг, то неориентированный граф, соответствующий G, будет обозначаться G и называться неориентированным дубликатом или неориентированным двойником a 1 x 2 a 3 a 2 a 4 x 1 x 3 a 5 a 6 x 4 x 2 x 3 x 1 x 4
Инцидентность вершин и дуг Дуга ai может быть представлена упорядоченной парой вершин (xn, xk), состоящей из начальной xn и конечной xk вершин. Например, дуга a 1 задается парой вершин (x 2, x 1). Если xn, xk — концевые вершины дуги ai, то говорят, что вершины xn и xk инцидентны дуге ai или дуга ai инцидентна вершинам xn и xk. x 2 a 1 x 1 a 3 a 2 a 4 x 3 a 5 a 6 x 4
Петля Дуга, у которой начальная и конечная вершины совпадают, называется петлей. В графе G 3 дуга а 7 является петлей. x 2 a 1 a 3 x 1 a 4 x 3 a 5 x 5 a 6 x 4 a 7 22
Характеристики вершин Полустепенью исхода вершины xi — d 0(xi) называется количество дуг, исходящих из этой вершины. a 1 x 2 a 3 a 2 a 4 a 5 Например для орграфа G 1(рис. 2, а) характеристики полустепеней исхода следующие: d 0(x 1)=1, d 0(x 2)=2, d 0(x 3)=2, d 0(x 4)=1. x 4 Рис. 2, а x 3 a 6
Характеристики вершин x 2 Полустепенью захода вершины xi — dt(xi) называется количество дуг, входящих в эту вершину. a 1 a 3 a 2 a 4 x 3 x 1 a 5 Например для орграфа G 1: dt(x 1)=2, dt(x 2)=1, dt(x 3)=2, dt(x 4)=1. a 6 x 4 24
Характеристики вершин Очевидно, что сумма полустепеней исхода всех вершин графа, а также сумма полустепеней захода всех вершин графа равна общему числу дуг графа, т. е. где n-число вершин графа, m-число дуг.
Характеристики вершин Для неориентированного графа – степень вершины d (xi)– это количество инцидентных ребер вершины xi a 2 x 1 x 2 a 3 a 1 x 3 x 4 a 5 Например, d (x 1)=2, d (x 2)=3, d (x 3)=3… a 4 x 5
Способы описания графов Теоретико-множественное описание Описание отображениями Графическое Матричное
Теоретико-множественное представление графов Граф описывается явным перечислением элементов множеств вершин и дуг. x 2 Примеры описания приведены для орграфов на рис. 3 и рис. 4. a 4 a 1 a 2 x 1 a 3 x 3 a 5 a 6 x 4 Рис. 3
Орграф G 5=(X, A), где X={B, C, D, E, F} - множество вершин графа, A={ai}, i=1, 2, . . . , 5 - множество дуг графа, причем a 1=(F, B), a 2=(B, E), a 3=(F, D), a 4=(E, C), a 5=(C, D). B a 1 F C a 2 a 3 E a 4 a 5 D
Задание графов отображениями Описание графов состоит в задании множества вершин Х и соответствий Г или отображений для каждой вершины. Соответствием Г называется отображение множества Х в Х, Отображением вершины xi — Г(xi) является множество вершин, в которые существуют дуги из вершины xi, то есть Г(xi)={ xj: дуга (xi, ) xj A}.
Задание графов соответствием Так для орграфа на рис. такое описание : G =(X, Г), x 2 где X={xi}, i=1, 2, . . . , 4 - множество x 1 вершин, Г(х1)={ x 2 }, Г(x 2)={ x 3, x 4 }, Г(x 3)={ x 3 }, Г(x 4)={ x 1, x 2 } - отображения. a 4 a 1 a 2 a 3 x 3 a 5 a 6 x 4
Задание графов соответствием Для неориентированного или смешанного предполагается, графов x 1 что каждое ребро как бы заменяется двумя противоположно направленными дугами. Например, для графа на рис. 2, б : x 4 Г(х2)={ x 1, x 3, x 5 }, Г(x 4)={ x 3, x 5} и т. д. a 2 x 2 a a 1 3 x 3 a 5 Рис. 2, б a 4 x 5
Матричное представление графов Для обработки на ЭВМ графы удобно представлять в виде матриц смежности и инциденций. Матрица смежности - это квадратная матрица размерностью n n, где n - число вершин графа, однозначно представляющая его структуру. A={aij}, i, j= 1, 2, . . . , n, причем aij=1, если дуга (xi, xj), aij=0, если нет дуги (xi, xj).
Матрица смежности Так для графа на рис. матрица смежности выглядит так: x 1 x 2 А= x 6 x 5 6 а) x 3 x 4 x 1 x 2 x 3 x 4 x 5 x 6 x 1 0 0 0 1 x 2 x 3 1 1 1 0 0 0 0 б) x 4 0 0 1 0 x 5 1 1 0 0 0 1 x 6 0 0 0 1
Матрица смежности По матрице смежности можно найти характеристики вершин. Так сумма элементов iой строки матрицы дает А= полустепень исхода вершины xi, а сумма элементов i-го столбца дает полустепень захода вершины xi. x 1 x 2 x 3 x 4 x 5 x 6 x 1 0 0 0 1 x 2 x 3 1 1 1 0 0 0 0 б) x 4 0 0 1 0 x 5 1 1 0 0 0 1 x 6 0 0 0 1 Сумма единиц главной диагонали – это количество петель. 35
Матрица смежности По матрице смежности можно найти прямые и обратные отображения. Рассмотрим i-ю строку матрицы. Если элемент aij=1, то элемент графа xj входит в отображение Г(xi). Например, в 2 -й строке матрицы А единицы стоят в 2 -м и 5 -м столбцах, следовательно, Г(х2)={ x 2, x 5}. А= x 1 x 2 x 3 x 4 x 5 x 6 x 1 0 0 0 1 x 2 x 3 1 1 1 0 0 0 0 б) x 4 0 0 1 0 x 5 1 1 0 0 0 1 x 6 0 0 0 1
Матрица инциденций - это прямоугольная матрица размером n m, где n- количество вершин графа, а m - количество дуг графа. Обозначается матрица инциденций B={ bij }, i=1, 2, . . . , n, j=1, 2, . . . , m. Каждый элемент матрицы : bij= 1, если xi является начальной вершиной дуги aj, bij= -1, если xi является конечной вершиной дуги aj, bij= 0, если xi не является концевой вершиной дуги aj или если aj является петлей. 37
Матрица инциденций x 1 a 3 x 2 a 9 a 8 a 4 a 10 x 6 x 3 a 5 a 7 x 5 В = a 2 Для того, чтобы пометить вершину, содержащую петлю, можно в этом столбце поставить * или любой другой символ. x 1 x 2 x 3 x 4 x 5 x 6 a 1 1 -1 0 0 x 4 a 2 1 0 -1 0 0 0 a 3 0 * 0 0 0 a 4 0 1 0 0 -1 0 a 5 0 0 -1 1 0 0 a 6 0 0 0 -1 1 0 a 7 0 0 -1 1 a 8 1 0 0 0 -1 0 a 9 -1 0 0 1 a 10 0 0 в) * 0 38
Матрица инциденций По матрице инциденций можно найти характеристики графа: Число 1 в i-ой строке– это d 0(xi) * n. Число -1 в i-ой строке– это dt(xi) * n Число нулевых столбцов – это число петель в графе. В = x 1 x 2 x 3 x 4 x 5 x 6 a 1 1 -1 0 0 a 2 1 0 -1 0 0 0 a 3 0 0 * 0 0 a 4 0 1 0 0 -1 0 a 5 0 0 -1 1 0 0 a 6 0 0 0 -1 1 0 a 7 0 0 -1 1 a 8 1 0 0 0 -1 0 a 9 -1 0 0 1 a 10 0 0 * 0
Матрица инциденций Для неориентированного графа, матрица инциденций определяется так же, за исключением того , что все элементы, равные -1, заменяются на 1. x 1 x 2 X 3 X 4 x 5 a 1 1 1 0 0 0 a 2 0 0 1 1 0 a 3 0 1 1 0 0 a 4 0 1 0 0 1 a 5 0 0 0 1 1 x 2 a 1 a 3 a 2 x 4 x 3 a 5 a 4 x 5 40
Операции над графами Рассмотрим семь операций над графами, три из которых являются бинарными, включающими два графа, а остальные четыре - унарные, то есть определены на одном графе. Исходные графы G 1 и G 2 показаны на рис. 6, а, б. G 1=(X 1, A 1), где X 1={xi}, i=1, 2, . . . , 6, A={ ai }, i=1, 2, . . . , 7. и G 2=(X 2, A 2), где X 2={ xi }, i=1, 2, . . . , 6, A={a 1, a 3, a 5, a 6, a 9, a 10}. Матрицы смежности графов показаны на рис. 6, в и 6, г соответственно. (Чтобы не загромождать рисунок , нули не показаны).
Операции над графами Исходные графы x 1 x 5 а) x 4 x 6 x 3 x 4 x 5 x 6 1 1 x 3 1 1 x 4 x 5 x 3 x 2 А 1= x 1 x 2 x 6 в)
Операции над графами. Исходные графы x 2 x 4 x 6 x 5 б) А 2= x 1 x 2 x 3 x 4 x 5 x 6 1 1 1 x 2 x 3 1 1 x 4 x 3 x 1 1 1 x 5 x 6 г)
Операции над графами. Объединение графов G 1 и G 2, обозначаемое как G 1 G 2, представляет такой граф G 3=(X 1 X 2, A 1 A 2), что множество его вершин является объединением Х 1 и Х 2, а множество ребер - объединением А 1 и А 2. Граф G 3, полученный операцией объединения графов G 1 и G 2, показан на рис. 7 а, а его матрица смежности - на рис. 7 б.
Объединение x 1 x 2 x 1 x 3 x 5 x 3 x 4 x 2 x 1 x 6 x 3 x 4 а) x 6 x 5 G 1 x 6 x 5 G 2 G 1 G 2
Объединение x x 1 x x 2 3 4 5 1 1 x 6 x 1 x x 1 1 1 3 x 6 x x 2 3 4 5 6 1 1 1 x А 2= 1 1 1 1 2 x x 4 5 x x 3 4 x x 1 2 А 1 = x 1 x x 5 x 6
Объединение x 2 x 3 x 4 x 5 x 6 x 1 1 x 2 А 3= x 1 1 x 3 1 1 1 1 x 4 1 1 x 5 x 6 г) 47
Объединение a 1 a 9 x 1 a 5 a 4 x 3 a 7 a 10 x 2 a 3 x 4 x 5 x 6 1 1 1 x 2 1 x 3 1 1 1 1 x 6 x 5 x 4 x 5 a 6 x 3 x 4 А 3= x 2 x 1 a 8 x 1 G 1 G 2 б) Рис. 7 48
Пересечение G 1 G 2 Пересечение графов G 1 и G 2, обозначаемое как представляет собой граф G 1 G 2, G 4=(X 1 X 2, A 1 A 2). Таким образом, множество вершин графа G 4 состоит из вершин, присутствующих одновременно в G 1 и G 2. Операция пересечения графов G 1 G 2 показана на рис. 8. 49
Пересечение G 1 G 2 x 1 x 2 x 1 a 1 x 2 a 5 x 3 x 4 a 6 x 4 а) a 3 x 6 x 5 G 1 G 2 Рис. 8
Пересечение G 1 G 2 x x 1 x x 2 3 4 5 1 1 x 6 x 1 x x 1 1 1 3 x 6 x x 2 3 4 5 6 1 1 1 x А 2 = 1 1 1 1 2 x 3 x x 5 5 x x 4 4 x x 1 2 А 1 = x 1 x x 6
Пересечение G 1 G 2 x 3 x 1 А 3= x 1 1 1 x 2 x 3 x 4 x 5 x 6 1 1 г) 52
Кольцевая сумма G 1 G 2 Кольцевая сумма двух графов G 1 и G 2, обозначаемая как G 1 G 2, представляет собой граф G 5, порожденный на множестве ребер А 1 А 2. Другими словами, граф G 5 не имеет изолированных вершин и состоит только из ребер, присутствующих либо в G 1, либо в G 2, но не в обоих одновременно. Кольцевая сумма графов G 1 и G 2 показана на рис. 9. 53
Кольцевая сумма G 1 G 2 x 1 x 3 x 5 x 3 x 4 x 6 x 2 x 1 x 3 x 4 а) x 6 x 5 G 1 G 2 x 6 x 5 Рис. 9
Операции над графами Три рассмотренные операции коммутативны т. е. G 1 G 2 = G 2 G 1, G 1 G 2 = G 2 G 1 , и многоместны , т. е. G 1 G 2 G 3 G 4 . . . , G 1 G 2 G 3 G 4 . . . и так далее. 55
Унарные операции Удаление вершины Если xi-вершина графа G=(X, A), то G-xiпорожденный подграфа G на множестве вершин X-xi , т. е. G-xi является графом , получившимся после удаления из графа G вершины xi и всех ребер, инцидентных этой вершине. X 2 X 1 a 4 a 3 a 5 a 2 a 6 X 5 a 8 а) X 3 a 7 X 4 X 1 a 2 X 5 a 1 a 3 a 4 a 5 a 8 X 4 б) 56
Удаление ребра или дуги Если ai-дуга графа G=(X, A), то G-ai - подграфа G, получающийся после удаления из G дуги ai. Заметим, что концевые вершины дуги ai не удаляются. Удаление из графа множества вершин или дуг определяются как последовательное удаление определенных вершин или дуг. 57
Удаление ребра или дуги Удаление дуг a 4 и a 7 показано на рис. 11 б. X 2 X 1 a 2 a 1 a 4 X 1 X 3 a 5 a 6 a 8 X 5 a 7 X 4 a 2 X 5 a 4 a 1 a 3 X 3 a 5 а a 6 6 a 8 a 7 X 4 б) а) Рис. 11 58
Замыкание или отождествление Говорят, что пара вершин xi и xj в графе G замыкается (или отождествляется), если они заменяются такой новой вершиной, что все дуги в графе G, инцидентные вершинам xi и xj , становятся инцидентными новой вершине. 59
Замыкание или отождествление (X 1, Х 2) X 2 X 1 a 2 a 1 a 4 X 1 2 a X 3 a 5 a 6 a 8 X 5 а) a 7 X 4 a 2 1 a 4 a 1 a 3 a X 3 a 5 a 6 X 5 a 8 Рис. 12 a 7 б) X 4 60
Стягивание Под стягиванием подразумевают операцию удаления дуги или ребра и отождествление его концевых вершин. Граф, изображенный на рис. 6, д получен стягиванием дуги а 1, а на рис. 8, е - стягиванием дуг a 1, a 6 и a 7. X 2 X 1 a 2 a 1 a 4 a 3 a 5 a 8 X 5 а) a 6 (X 1, Х 2) X 2 X 3 a 7 X 1 2 a a 2 X 4 Рис. 12 X 5 a 1 a 3 a 5 a 8 а) a 4 a 6 X 3 a 7 X 4 61
Стягивание (X 1, Х 2) X 2 X 1 2 a a 2 X 5 a 4 a 1 a 3 a 5 a 8 а) a 6 X 3 a 7 X 4 X 1 2 a a 2 X 5 a 4 a 1 a 3 a 5 a 8 б) a 6 (X 3, Х 4) X 3 а a 7 8 X 4


