Дискретная математика для 1 курса. Тема Множества
Скачать 0.62 Mb.
|
Контрольные вопросы к теме 21. Укажите способы задания бинарного отношения. 2. Главная диагональ матрицы какого отношения содержит только единицы? 3. Для какого отношения всегда выполняется условие = –1? 4. Для какого отношения всегда выполняется условие . 5. Ввести отношения эквивалентности и частичного порядка на множестве всех прямых на плоскости. 6. Укажите способы задания функций. 7. Какое из следующих утверждений справедливо? а) Всякое бинарное отношение есть функция. б) Всякая функция есть бинарное отношение. Тема 3. ГРАФЫПервая работа по теории графов принадлежащая Эйлеру, появилась в 1736 году. Вначале эта теория была связана с математическими головоломками и играми. Однако впоследствии теория графов стала использоваться в топологии, алгебре, теории чисел. В наше время теория графов находит применение в самых разнообразных областях науки, техники и практической деятельности. Она используется при проектировании электрических сетей, планировании транспортных перевозок, построении молекулярных схем. Применяется теория графов также в экономике, психологии, социологии, биологии. 3.1. Основные характеристики графов ГрафG- это математический объект, состоящий из множества вершинX = {x1, x2,..., xn} и множества реберA = {a1, a2,..., an}. Таким образом, граф полностью определяется совокупностью множеств X, A: G= (X,A). Для многих задач несущественно, являются ли ребра отрезками прямых или криволинейными дугами; важно лишь то, какие вершины соединяет каждое ребро. Если ребрам графа приданы направления от одной вершины к другой, то такой граф называется ориентированным. Ребра ориентированного графа называются дугами. Соответствующие вершины ориентированного графа называют началоми концом. Если направления ребер не указываются, то граф называется неориентированным (или просто графом). Пример 3.1. На рис. 3.1 изображен неориентированный граф G =( X, A). X= {x1, x2, x3, x4}, A = {a1= (x1, x2), a2=(x2, x3), a3=(x1, x3), a4= (x3, x4)}. Рис. 3.1. Пример 3.2. На рис. 3.2. изображен ориентированный граф G = (X, A). X = {x1, x2, x3, x4}, A= {a1= (x1,x2),a2= (x1,x3),a3= (x3,x4),a4= (x3,x2)}. Рис. 3.2. Граф, имеющий как ориентированные, так и неориентированные ребра, называется смешанным. Различные ребра могут соединять одну и ту же пару вершин. Такие ребра называют кратными. Граф, содержащий кратные ребра, называется мультиграфом. Неориентированное ребро графа эквивалентно двум противоположно направленным дугам, соединяющим те же самые вершины. Ребро может соединять вершину саму с собой. Такое ребро называется петлей. Граф с кратными ребрами и петлями называетсяпсевдографом. Множество ребер графа может быть пустым. Множество вершин графа не может быть пустым. Пример 3.3. На рис. 3.3. изображен ориентированный граф G = (X, A). X = {x1, x2,x3, x4}, A= . Риc. 3.3. Как в случае ориентированного, так и в случае неориентированного ребра говорят, что вершины xи yинцидентныребру a, если эти вершины соединены a. Две вершины называются смежными, если они инцидентны одному и тому же ребру. Два ребра называются смежными, если они имеют общую вершину. Степенью вершины графа называется число ребер, инцидентных этой вершине. Вершина, имеющая степень 0, называется изолированной, а степень 1 – висячей. Для ориентированного графа множество вершин, в которые ведут дуги, исходящие из вершины х, обозначают G(х), то есть G(х) = { y: ( x y ) G}. Множество G(x) называют образомвершины x. Соответственно G-1(у) – множество вершин, из которых исходят дуги, ведущие в вершину у, G-1(y)= {x: ( x , y ) G}. Множество G-1(у)называют прообразом вершины y. Пример 3.4. В графе, изображенном на рис. 3.1, концами ребра a1являются вершины x1, x2; вершина x2инцидентна ребрам a1, a2; степень вершины x3равна3; вершины x1и x3смежные; ребра a1и a2смежные; вершина x4висячая. В ориентированном графе, изображенном на рис. 3.2, началом дуги a1является вершина x1, а ее концом - вершина x2; вершина x1инцидентна дугам a1и a2; G(x1) = {x2, x3}, G(x2) =Æ, G-1(x3) = {x1}, G-1(x1) = Æ. Подграфомнеориентированного графа G называется граф, все вершины и ребра которого содержатся среди вершин и ребер графа G. Аналогично определяется подграф ориентированного графа. Подграф называется собственным, если он отличен от самого графа, Граф G = (X, A)- полный, если для любой пары вершин xiи xjсуществует ребро (xi, xj). Граф G = (X, A)- симметрический, если для любой дуги (xi, xj) существует противоположно ориентированная дуга(xj, xi). Граф G = (X, A)- планарный, если он может быть изображен на плоскости так, что не будет пересекающихся дуг. Неориентированный граф G = (X, A) – двудольный, если множество его вершин X можно разбить на два такие подмножества X1и X2, что каждое ребро имеет один конец в X1, а другой в X2. 3.2. Матричные способы задания графов Для алгебраического задания графов используются матрицы смежности и инцидентности. Матрица смежностиA = (aij)определяется одинаково для ориентированного и неориентированного графов. Это квадратная матрица порядка n, где n - число вершин, у которой aij = Пример 3.5. Матрица смежности графа, изображенного на рис. 3.1, имеет вид: A= Пример 3.6. Матрица смежности ориентированного графа, изображенного на рис. 3.2, имеет вид: A= Матрица смежности полностью задает граф. Матрицей инцидентностиB = (bij) ориентированного графа называется прямоугольная матрица (n ´ m), где n – число вершин, m – число ребер, у которой bi = Для неориентированного графа матрица инцидентности B задается следующим образом: bi = Пример 3.7. Матрица инцидентности графа, изображенного на рис. 3.1, имеет вид: B = Пример 3.8. Матрица инцидентности ориентированного графа, изображенного на рис. 3.2, имеет вид: B = Матрица инцидентности, также, как и матрица смежности, полностью задает граф. Матрицы смежности и инцидентности удобны для задания графов на ЭВМ. Основные свойства матриц смежности и инцидентности 1. Матрица смежности неориентированного графа является симметричной. Для ориентированного графа это, вообще говоря, неверно. 2. Сумма элементов i - ой строки или i -го столбца матрицы смежности неориентированного графа равна степени вершины xi. 3. Сумма элементов i - ой строки матрицы смежности ориентированного графа равна числу дуг, исходящих из xi. 4. Сумма элементов i - го столбца матрицы смежности ориентированного графа равна числу дуг, входящих в вершину xi. 5. Сумма строк матрицы инцидентности ориентированного графа является нулевой строкой. Итак, возможны следующие различные способы задания графа: а) посредством графического изображения; б) указанием множества вершин и множества ребер (дуг); в) матрицей смежности; г) матрицей инцидентности. 3.3. Изоморфизм графов Графы G1= (X1, A1)и G2= (X2, A2) изоморфны, если существует взаимно однозначное соответствие между множествами вершин X1и X2, такое, что любые две вершины одного графа соединены тогда и только тогда, когда соответствующие вершины соединены в другом графе. Пример 3.9 Графы, изображенные на рис. 3.4 являются изоморфными. Рис. 3.4 Изоморфные графы отличаются только нумерацией вершин. Матрицы смежности двух изоморфных графов могут быть получены одна из другой перестановкой строк и столбцов. Чтобы узнать, являются ли два графа изоморфными, нужно произвести все возможные перестановки строк и столбцов матрицы смежности одного из графов. Если после какой-нибудь перестановки получится матрица смежности второго графа, то эти графы изоморфны. Чтобы убедиться, что графы неизоморфны, надо выполнить все n! возможных перестановок строк и столбцов. 3.4. Маршруты, циклы в неориентированном графе Пусть G - неориентированный граф. Маршрутомили цепью в G называется такая последовательность (конечная или бесконечная) ребер a1, a2,... an..., что каждые соседние два ребра aiи ai+1имеют общую инцидентную вершину. Одно и то же ребро может встречаться в маршруте несколько раз. В конечном маршруте (a1,a2,...an) имеется первое ребро a1и последнее ребро an. Вершина x1, инцидентная ребру a1, но не инцидентная ребру a2, называется началом маршрута, а вершина xn, инцидентная ребру an, но не инцидентная ребру an-1, называется концом маршрута. Длиной(или мощностью) маршрута называется число ребер, входящих в маршрут, причем каждое ребро считается столько раз, сколько оно входит в данный маршрут. Пример 3.10. В изображенном на рис. 3.5 графе рассмотрим два маршрута из вершины x1в вершину x4: M1= (a1, a2, a4) и M2= (a1, a2, a5, a6). Длина маршрута M1 равна 3, а длина маршрута M2 равна 4. Рис.3.5 Замкнутый маршрут называется циклом. Маршрут (цикл), в которой все ребра различны, называется простой цепью (циклом). Маршрут (цикл), в которой все вершины, (кроме первой и последней), различны, называется элементарной цепью (циклом). Пример 3.11. В приведенном на рис 3.6 графе выделим следующие маршруты: (a1,a3,a4) – простая элементарная цепь длины 3, т.к. все ребра и вершины попарно различны; (a2,a4,a3) – простой элементарный цикл, т.к. это замкнутый маршрут, у которого все ребра и вершины, кроме первой и последней, различны; (a1,a2,a4,a3)– цепь, которая является простой, но не элементарной, т.к. все ребра различны, но вершина x2 встречается дважды; (a1,a2,a2) –маршрут длины 3, не являющийся ни простой, ни элементарной цепью, т.к. ребро a2 и вершина x2 встречаются дважды. Рис.3.6 3.5. Пути, контуры в ориентированном графе Понятия пути, контура в ориентированном графе аналогичны понятиям маршрута, цикла в неориентированном графе. Путем ориентированного графа называется последовательность дуг, в которой конечная вершина всякой дуги, отличной от последней, является начальной вершиной следующей дуги. Число дуг пути называетсядлиной пути. Путь называется контуром, если его начальная вершина совпадает с конечной вершиной. Путь (контур), в котором все дуги различны, называетсяпростым. Путь (контур), в котором все вершины, кроме первой и последней, различны, называетсяэлементарным. Следует усвоить, что понятиям ребра, маршрута, цепи, цикла в неориентированном графе соответствуют понятия дуги, пути, ориентированной цепи, контура в ориентированном графе. Для лучшего запоминания приведем эти термины в таблице.
Пример 3.12. В приведенном на рис 3.7 графе выделим следующие пути: (x1,x2,x3,x4) – простой элементарный путь, т.к. каждая вершина и каждая дуга используются не более одного раза; (x2,x5,x6,x7,x2) – простой элементарный контур, т.к. это замкнутый путь, в котором все дуги и вершины, кроме первой и последней, различны. Рис. 3.7 3.6. Связность графа Неориентированный граф называется связным, если каждая пара различных вершин может быть соединена по крайней мере одной цепью. Ориентированный граф называется сильно связным, если для любых двух его вершин xiи xjсуществует хотя бы один путь, соединяющий xiс xj. Ориентированный граф называется односторонне связным, если для любых двух его вершин по крайней мере одна достижима из другой. Компонентой связности неориентированного графа называется его связный подграф, не являющийся собственным подграфом никакого другого связного подграфа данного графа (максимально связный подграф). Компонентой сильной связности ориентированного графа называется его сильно связный подграф, не являющийся собственным подграфом никакого другого сильно связного подграфа данного графа (максимально сильно связный подграф). Компонентой одностронней связности неориентированного графа называется его односторонне связный подграф, не являющийся собственным подграфом никакого другого односторонне связного подграфа данного графа (максимально односторонне связный подграф). Пусть G = (X, A) неориентированный граф с множеством вершин X = {x1,...,xn}. Квадратная матрица S = (sij)порядка n, у которой sij = называется матрицей связности графа G. Для ориентированного графа квадратная матрица T = (tij) порядка n, у которой tij = называетсяматрицей односторонней связности (достижимости). Квадратная матрица S = (sij) порядка n, у которой sij = называется матрицей сильной связности. Пример 3.13. У неориентированного графа, изображенного на рис. 3.8 две компоненты связности. Первая компонента связности включает вершины x1, x2, x4, x5,а вторая состоит из одной вершины x3. Рис.3.8 Матрица связности этого графа имеет вид: S= Мы видим, что 1-ая, 2-ая, 4-ая и 5-ая строки матрицы S одинаковы. Пример 3.14. У ориентированного графа, изображенного на рис. 3.9 две компоненты сильной связности. Первая компонента связности включает вершины x1, x2, x3, x5,а вторая состоит из одной вершины x4. Действительно, для любой пары вершин из множества {x1, x2, x3, x5}существует хотя бы один путь, соединяющий эти вершины. Например, путь (x1, x2, x5, x3, x1) соединяет все эти вершины. Из вершины x4 нет пути ни в одну вершину графа. Рис. 3.9 Матрица сильной связности этого графа имеет вид: S= Мы видим, что 1-ая, 2-ая, 3-ая и 5-ая строки матрицы S одинаковы. 3.7. Экстремальные пути в нагруженных ориентированных графах Ориентированный граф называется нагруженным, если дугам этого графа поставлены в соответствие веса, так что дуге (xi,xj)сопоставлено некоторое число c(xi,xj)= cij, называемое длиной(или весом, или стоимостьюдуги). Длиной(или весом или стоимостью) пути s, состоящего из некоторой последовательности дуг (xi,xj), называется число l(s), равное сумме длин дуг, входящих в этот путь, т.е. l(s)= cij, причем суммирование ведется по всем дугам(xi, xj) s. Матрица C = (cij) называется матрицей длин дуг или матрицей весов. Рис. 3.10 Для графа, изображенного на рис. 3.10, матрица C имеет вид: C = Длина пути (x1, x2, x5, x4) равна 1 + 5 + 6 = 12. Для ненагруженного графа введем понятие кратчайшего пути. Это путь с минимальным общим числом дуг, причем каждая дуга считается столько раз, сколько она содержится в этом пути. Для нахождения минимального пути между двумя произвольными вершинами для случая, когда все cij³0 можно воспользоваться простым алгоритмом Дейкстры [2]. В общем случае задача решается с помощью алгоритмов Флойда, Форда, Беллмана и др. [2,3,5]. Алгоритмы нахождения минимального пути могут быть использованы для поиска кратчайших путей в ориентированном графе без контуров. Для этого нужно каждой дуге приписать вес, равный единице. 3.8 Алгоритм Форда – Беллмана нахождения минимального пути |