УПП_Дискретная математика-1. Международный консорциум Электронный университет Московский государственный университет экономики, статистики и информатики
Скачать 6.65 Mb.
|
Теория графов3.1. Графы Бинарное отношение на конечном множестве X есть ориентированный конечный граф (орграф) RX2. Таким образом, всякий орграф определяется множествами: X={x1,x2,…,xn} – множеством вершин графа и множеством упорядоченных пар (кортежей); R={ Общепринято обозначать орграфы в виде G(X,U), где X – множество вершин орграфа; U – множество дуг орграфа, или в виде G(x, гx), где ГX = {Гx1,Гx2,…,Гxn} – множество образов элементов множества X, т.е. отображение X в X, понимая термин отображение как точечно-множественное отображение. Наряду с орграфами в приложениях рассматриваются неориентированные графы. Неориентированный граф является частным случаем орграфа, в котором для каждой дуги При геометрической реализации неориентированного графа вместо двух дуг Две вершины графа называются смежными, если они соединены друг с другом. Дуги называются смежными, если конец одной из них совпадает с началом другой. Некоторая последовательности смежных дуг называется путем, а последовательность смежных ребер называется цепью. Замкнутый путь называется контуром, а замкнутая цепь – циклом. Сформулированные определения удобно представить в виде следующей таблицы:
Рассмотрим еще некоторые определения, которые нам понадобятся в дальнейшем. Путь (цепь) называется элементарным, если он проходит через вершины графа по одному разу. Путь (цепь) называется простым, если он проходит через дуги графа по одному разу. В противном случае путь (цепь) называется составным. Аналогично определяются и простые контуры и циклы. Цепь (цикл) называется гамильтоновой, если она проходит через все вершины графа по одному разу, т.е. элементарная цепь, проходящая через все вершины графа, есть гамильтонова цепь. Цепь (цикл) называется эйлеровой, если она проходит через все ребра по одному разу, т.е. простая цепь (цикл), содержащая все ребра графа есть эйлерова цепь (цикл). Аналогично определяются гамильтоновы и эйлеровы пути и контуры. Симметричный граф Неориентированный граф Граф-толерантность Неориентированный граф Граф-толерантность Неориентированный граф Граф-декартово произведение Неориентированный (с полным насыщением) полный граф Рис. 3.1.1 Степень вершины графа. Число ребер графа Вершина Xi называется инцидентной дуге (ребру) графа, если она является началом или концом этой дуги (ребра). Степенью вершины графа называют число дуг (ребер), инцидентных данной вершине. Степень обозначается P(Xi). Для ориентированного графа различают полустепень захода P+ – число дуг, входящих в данную вершину, и полустепень исхода P- – число дуг, выходящих из данной вершины. Степень вершины ориентированного графа составит сумма полустепеней исхода и захода. P(Xi)= P+(Xi)+P-(Xi). Если для некоторой вершины ориентированного графа полустепень захода некоторой вершины P+=0 и при этом полустепень исхода P-0, то вершина называется входом графа. Если для некоторой вершины ориентированного графа P-=0, а P+0, то вершина называется выходом графа. Рис. 3.1.2 Граф, изображенный на рис. 3.1.2, имеет один вход – вершину X0 (P-(X0)=3) и один выход – вершину X5 (P+(X5)=2). Число ребер графа N связано со степенями его вершин следующим соотношением: N= , где n – число вершин графа. Отсюда следует справедливость следующих утверждений: Сумма степеней вершин любого графа четна; Для любого графа число вершин, имеющих нечетные степени, четно; Для однородного графа, т.е. графа, все степени вершин которого одинаковы и равны r, N= ; Для полного графа, т.е. графа, в котором каждая пара вершин соединена ребром или дугой, P(Xi)=n-1, а N= . Некоторой противоположностью полному графу является нуль-граф, не имеющий ребер или дуг и состоящий из изолированных вершин. Очевидно, степени вершины нуль-графа равны 0. Связность Граф называется связным, если множество его вершин нельзя разбить на два или более подмножеств так, чтобы ни одна вершина одного подмножества не отображалась в вершину другого. В противном случае граф называется несвязным. Число подмножеств, не связанных отображениями, на которое разбивается множество всех вершин графа, называется числом компонент связности для несвязного графа. Существует другое определение связности графа. Граф называется связным, если две любые его вершины можно соединить цепью. Граф (рис. 3.1.3) является несвязным с двумя компонентами связности. Рис. 3.1.3 Ребро графа называется перешейком, или связующей линией, если его удаление приводит к тому, что граф становится несвязным. На рис. 3.1.4 изображены три связных неориентированных графа, причем граф 1 не имеет ни одного перешейка, 2 содержит один перешеек (отмечен жирной линией), граф 3 целиком состоит из одних перешейков. Такой граф (3) называется деревом. Рис. 3.1.4 Эйлеровы и гамильтоновы цепи и циклы. Теоремы Эйлера Рассмотрим задачу о кенигсбергских мостах, сформулированную Эйлером. Река Прегель делит г. Кенигсберг на четыре части: A, B, C, D, соединенные между собой семью мостами (рис. 3.1.5). Рис. 3.1.5 Требуется определить, можно ли, выйдя из какой-либо части города, пройти по всем мостам по одному разу и вернуться в исходную часть города. Решая эту задачу, Эйлер доказал теоремы, позволяющие установить, для каких графов существуют эйлеровы циклы и цепи. Теорема 1. Чтобы неориентированный граф обладал эйлеровым циклом, необходимо и достаточно, чтобы он был связен, и все вершины графа имели четные степени. Для существования эйлерова контура на ориентированном графе необходимым и достаточным условием являются связность графа и равенство полустепеней захода и исхода в каждой вершине. Очевидно, что степени вершин графа четны. Граф, соответствующий задаче Эйлера о кенигсбергских мостах, не удовлетворяет теореме 1. Он не содержит эйлерова цикла. Теорема 2. Неориентированный граф содержит эйлерову цепь, соединяющую вершины А и В в том и только в том случае, если граф связен, и только эти вершины А и В являются вершинами с нечетными степенями, а степени всех остальных вершин четны. Алгоритм построения эйлерова цикла состоит в следующем: Выходим из произвольной вершины X0, каждое пройденное ребро зачерчиваем. Никогда не идем по такому ребру, которое в рассматриваемый момент является перешейком, а также не выбираем ребра, идущего в X0, пока есть другие возможности. Задача об определении гамильтоновых линий в общем виде не решена. Для каждого графа она решается отдельно. Получены некоторые необходимые, некоторые достаточные условия существования гамильтоновых графов, т.е. графов, содержащих гамильтонов цикл. К полученным результатам относится теорема Кенига: в полном графе (т.е. в графе, любая пара вершин которого соединена хотя бы в одном направлении) всегда существует гамильтонов путь. К числу задач, требующих определения гамильтонова цикла, относится задача о коммивояжере. Бродячий торговец, предлагая товар, посещает ряд городов, причем каждый город он посещает единственный раз, после чего вновь возвращается в исходный пункт. Требуется определить кратчайший путь коммивояжера, если расстояния между городами заданы. Города можно представить как вершины связного неориентированного графа, в котором каждый паре вершин xi, xj приписывается расстояние l(xi,xj). Эта задача имеет ряд важных приложений в экономике, к ней, в частности, сводится задача о наиболее эффективном использовании подвижного состава оборудования. Решается задача методами динамического программирования. Изоморфизм графов Два графа называются изоморфными (от греч. «изос» – «равный» и «морфе» – «вид», «форма»), если между их вершинами можно установить взаимно однозначное соответствие, сохраняющее смежность, т.е. два графа G(x,u) и G'(x',u') изоморфны, если существует такое взаимно однозначное соответствие , что если ,то ,где . Изоморфные графы несут одну и ту же информацию, поэтому они могут рассматриваться как один граф. Графы различаются с точностью до изоморфизма. Планарность. Плоские графы Говорят, что граф укладывается на поверхности S, если его можно нарисовать на S так, что никакие два его ребра не пересекаются в точках, не являющихся вершинами графа. Граф называется планарным, если его можно уложить на плоскости. Плоский граф – граф, уложенный на плоскости. Рис. 3.1.6 Граф G1 (рис. 3.1.6) планарен, он изоморфен плоскому графу G2. Исследование планарности графов составляет одну из задач этой теории. Изучение планарных графов было начато Эйлером. Опираясь на результаты, полученные Эйлером, можно доказать, что графы K1, K2, K3 (рис. 3.1.7) не являются планарными. Заметим, что графы K1, K3 изоморфны. Рис. 3.1.7 Графы, изоморфные указанным графам, также не являются планарными. Отыскание общего критерия планарности графов составляло одну из труднейших задач теории графов. Решение было найдено Понтрягиным и независимо от него Куратовским. Чтобы сформулировать эти результаты, необходимо познакомиться с определением гомеоморфизма. Но прежде сформулируем следующие определения. Говорят, что граф G'(x',u') получен из графа G(x,u) операцией подразделения ребра (xi,xj)u, если x'=xa, u'=[u\(xi,xj)][(xi,a)(a,xj)]. На рис. 3.1.8 граф G'(x',u') получен из графа G(x,u) подразделением ребра (x2,x4), т.е. , , x'=xa, u'=[u\(x2,x4)][(x2,a)(a,x4)]. Рис. 3.1.8 Два графа G1,G2 называются гомеоморфными, если существует такой граф G', который может быть получен как из графа G1, так и из G2 операцией подразделения ребра конечное число раз. Или: графы G1 и G2 гомеоморфны, если существуют изоморфные подразбиения G1' и G2'. Графы G1 и G2, изображенные на рис. 3.1.9, гомеоморфны. Рис. 3.1.9 Граф G' может быть получен из графов G1 и G2 операцией подразделения ребра, проведенной дважды. Теорема Понтрягина-Куратовского. Граф планарен тогда и только тогда, когда он не содержит подграфа, гомеоморфного графам K1 или K2 (рис. 3.1.7). Вслед за этим классическим результатом были предложены другие критерии планарности, не рассматриваемые в данном учебном пособии. Числа, характеризующие граф Цикломатическим числом графа называется число =N-n+p, где N- число ребер графа, n – число его вершин, P – число компонент связности. Для связного графа =N-n+1. Теорема. Цикломатическое число графа равно наибольшему количеству независимых циклов. Понятие независимых циклов состоит в следующем. Поставим в соответствие циклу μ графа G некоторый вектор. Для этого придадим каждому ребру графа произвольную ориентацию. Если цикл μ проходит через ребро uk в направлении его ориентации rk раз и в противоположном направлении Sk раз, то полагаем ck=rk-Sk. Вектор с1,c2,…,cK,…,cN) N-мерного пространства называют вектором-циклом, соответствующим циклу μ. Циклы μ1, μ2,… называют независимыми, если соответствующие им векторы , ,… линейно независимы. Следствием рассмотренной теоремы являются следующие утверждения: Связный граф G не имеет циклов тогда и только тогда, когда =0. Такой граф есть дерево (различные определения графа-дерева будут рассмотрены в специальном разделе 3.2). Связный граф G имеет единственный цикл тогда и только тогда, когда =1. Цикломатическое число связного графа можно определить как число ребер, которое нужно удалить, чтобы граф стал деревом. Пример. Цикломатическое число графа, изображенного на рис. 3.1.10, равно 3. Рис. 3.1.10 Число внутренней устойчивости графа. Пусть задан некоторый граф G (x, г x). Рассмотрим такое подмножество его вершин S Х, в котором две любые точки являются несмежными. Такое подмножество S называется внутренне устойчивым. Другими словами, подмножество S Х является внутренне устойчивым, если гSS=ø. Обозначим |S| – мощность множества S. Пусть F – множество всех внутренне устойчивых множеств. Числом внутренней устойчивости графа G называется (G)= |S|. Отыскание (G) нужно начинать с максимального числа вершин и, постепенно увеличивая его, проверять, образуют ли выбранные вершины внутренне устойчивое множество. Рис. 3.1.11 Для графов, изображенных на рис. 3.1.11, имеем следующие числа внутренней устойчивости. (G1)=1, т.к. любая пара вершин G1 является смежной. Граф G2 имеет два внутренне устойчивых множества S1={x1,x3}, S2={x4,x2}. Так как, |S1|=|S2|=2, то, следовательно, (G2)=2. Граф G3 содержит внутренне устойчивые множества S1={x1,x5}, S2={x1,x3}, S3={x1,x4}, S4={x2,x5},S5={x2,x4}. Но если к любому из этих множеств добавить какую-либо вершину, не содержащуюся в нем, то подмножество перестанет быть внутренне устойчивым, следовательно, (G3)=2. Число внешней устойчивости графа. Пусть задан некоторый граф G(x,гx). Подмножество его вершин TХ есть внешне устойчивое множество, если для каждой точки xi(X/T) выполнено условие гxiTø. Обозначим |T| – мощность множества T. Пусть Ф – множество всех внешне устойчивых множеств. Числом внешней устойчивости графа G называется (G)= |T|. При подсчете числа внешней устойчивости следует начинать с максимального числа вершин графа, затем уменьшать его, проверяя, образуют ли выбранные вершины внешне устойчивое множество. Пример. Определим число внешней устойчивости для графов, изображенных на рис.3.1.11. Любая пара вершин графа G1 образует внешне устойчивое множество, но любая его вершина не является внешне устойчивым множеством, следовательно, (G1)=2. Граф G2 содержит два внешне устойчивых множества T1={x1,x3}, T2={x2,x4} с минимальным числом элементов, т.е. (G2)=2. Для графа G3 внешне устойчивым множеством минимальной мощности является T={x1,x3}, т.е. (G3)=2. К определению числа внешней устойчивости графа сводится задача о часовых. На посту расставлены часовые, охраняющие n объектов, причем один и тот же часовой может наблюдать за несколькими объектами. Нужно выяснить, каково минимальное число часовых, необходимых для наблюдения за всеми объектами. Граф, изображенный на рис.3.1.12, соответствует следующей задаче: 9 вершин графа – охраняемые объекты (n=9), ребра характеризуют возможность просматривания объектов часовыми. Так, например, часовой у объекта X1 может одновременно наблюдать за объектами X2,X3,X4, X9, часовой у объекта X2 – за объектами X1,X3,X7,X8 и т.д. Для данного графа число внешней устойчивости равно 2. Внешне устойчивое множество образуют вершины X4,X8. Достаточно двух часовых, расположенных в точках X4 и X8, для охраны всех объектов. Рис 3.1.12 Ядро графа. Если множество вершин графа G(x,гx) содержит подмножество LХ как внутренне, так и внешне устойчивое, то такое подмножество L называется ядром графа. Обозначим |L| мощность множества L. Эта величина удовлетворяет неравенству (G)|L|(G). Пример. Граф G1 (рис.3.1.11) не имеет ядра; граф G2 имеет два ядра {x1,x3}, {x2,x4}; граф G3 имеет одно ядро {x1,x3}. Хроматическое число графа. Предположим, что каждая вершина графа G окрашена в какой-либо цвет так, что никакие две смежные вершины не окрашены одинаково. Если при этом потребовалось К красок, то граф называется хроматическим порядка К. Минимальное число К, при котором граф остается хроматическим, называется хроматическим числом и обозначается γ. Для графа G, изображенного на рис.3.1.13, хроматическое число γ(G)=3. Рис. 3.1.13 Теорема. Для каждого графа G выполняется неравенство n(G)(G), где n=|Х| – мощность множества X, (G) – число внутренней устойчивости, (G) – хроматическое число графа. Доказательство. Все множество вершин графа можно разбить на внутренне устойчивых множеств, состоящих из точек одинакового цвета. Пусть внутренне устойчивые множества содержат m1,…,m вершин. mi(G), т.к. (G) по определению есть максимальное число вершин внутренне устойчивых множеств. Но n=m1+m2+…+m, следовательно, n(G)(G). Задача о раскраске геометрической карты связана с определением хроматического числа графа. Любую географическую карту можно изобразить в виде графа G(x,гx), где вершинами являются страны, а ребрами связаны страны, граничащие между собой. Такой граф является плоским. Гипотеза о четырех красках состоит в утверждении того, что граф, соответствующий любой географической карте, имеет хроматическое число не больше 4. Долгое время это предположение оставалось недоказанным, несмотря на широкий интерес математиков к этой проблеме. Благодаря созданию современных ЭВМ решение этой проблемы стало возможным, что и было проделано американскими математиками К. Аппелем и В. Хакеном. Задача была решена путем сведения ее к некоторым частным вопросам чисто арифметического характера, требующим большого числа вычислений, которые были бы не под силу человеку, не вооруженному современной вычислительной техникой. Операции над графами. Объединение графов Объединением графов G1(x1,г1x1) и G2(x2,г2x2) называется такой граф G(x,гx), у которого множество вершин есть сумма множеств вершин объединяемых графов x=x1x2, а отображение есть сумма отображений объединяемых графов гx=г1x1г2x2, что обозначается: G=G1G2. Пример. Заданы графы G1 и G2:
Требуется определить G(x,гx)=G1G2. Геометрическая реализация складываемых графов и графа-суммы имеет следующий вид (рис. 3.1.14): Рис. 3.1.14 Граф-сумма содержит все вершины и дуги, встречающиеся хотя бы в одном из двух складываемых графов. Пересечение (произведение) графов Пересечением графов G1(x1,г1x1) и G2(x2,г2x2) называется такой граф G(x,гx), у которого множество вершин есть пересечение множеств вершин графов X=X1X2, а отображение есть пересечение отображений перемножаемых графов ГX=Г1X1Г2X2. Пример. Пересечение графов G1 и G2 предыдущего примера есть граф G(x,гx) (геометрическая реализация на рис 3.1.15):
Граф-пересечение содержит вершины и дуги, являющиеся общими у перемножаемых графов. Прямое произведение графов Прямым (декартовым) произведением графов G1(x1,г1x1) и G2(x2,г2x2) называется граф G(x,гx), для которого X=X1 X2 и гx=г1x1 г2x2. Пример. Найти декартово произведение графов G1 и G2 (рис. 3.1.16): Рис. 3.1.16.
Обозначим каждую получившуюся вершину через , тогда Геометрическая реализация графа G имеет вид (рис. 3.1.17): Рис. 3.1.17 Матрицы для графов Матрицей смежности данного графа G(x,гx) называется квадратная матрица порядка n, где n – мощность множества X, элемент которой определяется следующим образом: aij = Для графа, две вершины которого соединены не более чем одной дугой одного направления, матрица смежности состоит из единиц и нулей (K=1). В дальнейшем будем рассматривать только такие графы. Рис. 3.1.18 Пример. Граф, изображенный на рис. 3.1.18, имеет следующую матрицу смежности: Полустепень исхода вершины xi равна числу единиц, стоящих в i-й строке. Полустепень захода равна числу единиц, стоящих в i-м столбце. Найдя сумму полустепеней i-й вершины, можем определить ее степень по матрице смежности. Так, P(x2)=P++P-=1+3=4 Единицы, стоящие на главной диагонали матрицы смежности, соответствуют петлям при данной вершине. Изолированной вершине соответствуют строка и столбец, состоящие из нулей. Число единиц в матрице смежности равно числу дуг графа. Транспонированной матрице смежности соответствует граф с противоположной ориентацией. Матрица смежности полностью задает ориентированный граф. Любая квадратная матрица, состоящая из единиц и нулей, может быть рассмотрена как матрица смежности, задающая некоторый граф G.
Так, матрице M и соответствует граф, изображенный на рис.3.1.19. Операции над графами с помощью матриц смежности. Если следует найти объединение или пересечение графов, заданных их матрицами смежности, можно выполнить эти операции, не прибегая к аналитической записи графа или его геометрической реализации. Пример. Напишем матрицы смежности A и B графов G1 и G2 (рис.3.1.14), над которыми произведем операции сложения и умножения , а также матрицы смежности С и D для графа, являющихся их объединением (рис. 3.1.15) и пересечением (рис. 3.1.16) , Рассмотренный пример иллюстрирует то обстоятельство, что матрица смежности для графа суммы есть булева сумма матриц смежности складываемых графов: cij=aij+bij, причем 0+0=0; 0+1=1; 1+0=1; 1+1=1. Матрица смежности для графа-пересечения может быть получена поэлементным умножением dij=aij+bij, причем 0 1=0; 1 0=0; 0 0=0; 1 1=1, т.е. матрица смежности графа-пересечения содержит единицы только в качестве тех элементов, которые равны единицам в обеих матрицах смежности перемножаемых графов. Матрица инциденций Матрицей инциденций ориентированного графа G (x, u) называется прямоугольная матрица порядка [n * m], где n – мощность множества X, m – мощность множества U, каждый элемент которого aij определяется следующим образом:
Пример. Напишем матрицу инциденций для графа, изображенного на рис. 3.1.20. Рис. 3.1.20 Для этого пронумеруем дуги: u1,u2,…,u6, матрица инциденций будет иметь следующий вид: |