- •Переключательные функции Основные понятия и определения
- •Переключательные функции одного и двух аргументов
- •1.2.1.Переключательные функции одного аргумента.
- •1.3. Представление переключательной функции в виде многочленов.
- •1.4. Пять классов переключательных функций. Теорема о функциональной полноте
- •1.5. Функционально полные системы логических функций.
- •Импликантная матрица
- •1. Основные понятия и определения теории графов
- •2. Типы графов
- •3. Матрицы графов
- •4.Операции на графах
- •Пересечение графов
- •Композиция графов
- •5. Связные графы. Компонента связности
- •6. Деревья и их свойства
- •Алгоритм построения минимального каркаса
- •Обоснование алгоритма
- •7. Эйлеровы цепи и циклы
- •Алгоритм построения эйлерова цикла
- •Обоснование алгоритма
- •8.Нахождение кратчайших путей в графе
- •Алгоритм Флойда
1. Основные понятия и определения теории графов
При использовании понятия «граф» в математике чаще всего имеют в виду графическое определение (задание) связей между объектами произвольной природы. Можно говорить о графической форме представления процесса перехода цифрового автомата из одного состояния в другое, о графическом способе задания связей между атомами в молекуле вещества, о графическом представлении последовательности встреч команд при проведении спортивных соревнований и т.д. Математический аппарат теории графов является эффективным инструментом построения и исследования дискретных моделей и систем различной природы.
Граф может интерпретироваться либо как некоторая геометрическая фигура в пространстве, состоящая из точек и соединяющих их линий, либо как некоторый теоретико-множественный объект. Поэтому многочисленные определения понятия «граф» могут иметь либо геометрический, либо достаточно абстрактный теоретико-множественный смысл.
Определение1.1. МножествоX=x1,x2, …,xk, …и наборEпар объектов видаxi,xjили (xi,xj) из множестваXназывается графом. Будем обозначать граф символомG.
Множество Xобъектов будем называть множеством вершин графа, а элементы множестваE, т.е. множества пар видаxi,xjили (xi,xj), соответственно ребрами или дугами. Отдельное ребро графаG, напримерekE, будем обозначать паройxl,xm, т.е.ek=xl,xm. Использование фигурных скобок в данном случае означает, что параxl,xmявляется неупорядоченной, т.е. роли не играет, какая из вершин в паре является начальной, а какая конечной. Если же в некоторой паре вершин, например (xp,xq), указаны начальная и конечная вершины, то говорят, что эта совокупность вершин определяет дугу графа. Таким образом, ребро – это неупорядоченная, а дуга – упорядоченная пара вершин. Возможны случаи, когда начальная и конечная вершины ребра (или дуги) совпадают, в этом случае говорят, что в графе имеется петля, например,xn,xn.
Граф, состоящий из вершин и соединяющих их ребер, называется неориентированным, а граф, состоящий из вершин и соединяющих их дуг, – ориентированным, или кратко орграфом. Графы, содержащие как ребра, так и дуги, именуются смешанными.
Таким образом, граф Gопределяется множеством своих вершинX, множеством ребер или дугEи может обозначаться символамиG(X, E). Однако в этом обозначении нет прямых указаний на то, какие вершины графаGсвязаны между собой какими именно ребрами.
Приведенное выше определение понятия «граф» в значительной степени является абстрактным, и поэтому для введения других понятий и определений целесообразно иметь геометрическую интерпретацию понятия «граф», являющуюся более наглядной. С этой целью будем рассматривать в евклидовом пространстве определенного вида геометрические фигуры , состоящие из точекb1, b2, …, bk, …, также именуемых вершинами, и линий, являющихся либо дугами окружностей, либо отрезками прямых; каждая из этих линий объединяет вершины в пары, например,bi, bjили (bl,bm); возможны вырожденные ситуации, когдаbi=bj, что соответствует уже рассмотренному понятию петли.
В связи с использованием геометрической интерпретации графа необходимо обратить внимание на следующие ограничения, которые , в частности, порождают вопросы о возможности реализации графов в пространстве той или иной размерности (в трехмерном пространстве, на плоскости).
1. Любая замкнутая кривая линия, т.е. eiE, содержит одну и только одну точку из множестваX(рис. 1.1,а).
2. Каждая разомкнутая линия ejEсодержит ровно две точкиxl,xmX, являющиеся ее концами (рис. 1.1,б).
3. Линии eiEиejEне могут иметь общих точек, которые не принадлежали бы множествуX(рис. 1.1,в).
Таким образом, геометрический граф представляет собой фигуру в евклидовом пространстве, которая состоит из множества точек и соединяющих их множества простых кривых, т.е. линий, не имеющих точек самопересечения.
Между графом, интерпретируемым в теоретико-множественном смысле, и его геометрической реализацией существует взаимно однозначное соответствие. Назовем фигуру геометрической реализацией графаG, если установлено взаимно однозначное соответствие между точками – вершинами фигурыи вершинами графаG, а также между линиями, соединяющими вершины фигуры, и ребрами графаG, причем такое, что если (bni,bng)(xi,xj), тоbnixi,bnjxj, т.е. соответствующие кривые и ребраиGсоединяют соответствующие вершины.
На рис. 1.2 представлена геометрическая реализация графа, имеющего четыре вершины X=x1,x2,x3,x4и шесть реберE=e1,e2,e3,e4,e5,e6, причемe1=x1,x1,e2=x1,x2,e3=x2,x3,e4=x1,x3,e5=x1,x3иe6=x4,x4. Если реброeEгеометрической реализации графаG(X,E) имеет своими концами вершиныxiиxj, то говорят, что это ребро соединяет вершиныxiиxj, т.е.e=(xi,xj); на рис. 1.2 петлями являются ребраe1иe6. Пара (или большее число) ребер, соединяющих одни и те же вершины, напримерxiиxj, являются параллельными и называются кратными. На рис. 1.2 параллельными являются ребраe4иe5. Вершиныxiиxjгеометрической реализации графаG(X,E), соединенные между собой хотя бы одним ребром, называются смежными. На рис. 1.2 смежными являются вершиныx1иx2,x1иx3,x2иx3. Вершина графа, не смежная ни с какой другой вершиной этого графа (возможно, кроме себя самой), называется изолированной; изолированной является вершинаx4на рис. 1.2.
Рис. 1.1
Рис. 1.2
Рис. 1.3
Аналогично два ребра геометрической реализации графа, имеющие хотя бы один общий конец (общую вершину), называются смежными. Смежными ребрами графа на рис. 1.2 являются, например, ребра e2иe3,e1иe5,e3иe5и т.д. Естественно, смежными являются параллельные ребра.
Таким образом, на множествах вершин Xи реберEнеориентированного графа могут быть заданы отношения смежности.
Кроме отношения смежности, относящегося к элементам одного множества (например, множества вершин или множества ребер), может быть определено отображение инцидентности, относящееся к элементам различных множеств. Если ребро ekEгеометрической реализации графаG(X,E) соединяет вершиныxiиxj,xi,xjX, т.е.ek=(xi,xj), то говорят, что реброekинцидентно вершинамxiиxjили вершиныxiиxjинцидентны ребруek.
Таким образом, на множествах вершин Xи реберEграфа может быть задано отображение инцидентности.
Следовательно, задать граф можно, указав множества его вершин Xи реберEи определив отношение смежности или отображение инцидентностиФ, т.е.G(X,E,Ф). В этом случае граф оказывается полностью определенным: символФсоответствует информации о том, какими ребрами соединены между собой какие вершины графа.
От неориентированного графа можно перейти к графу ориентированному, если на каждом ребре однозначно указать направление (например стрелкой). Две дуги орграфа G(X,E,Ф) , напримерe1иe2, называются параллельными (или строго параллельными), если они инцидентны одним и тем же вершинамxiиxj, при этомe1=(xi,xj) иe2=(xi,xj). Если жеe1=(xi,xj) иe2=(xj,xi), то дугиe1иe2называются антипараллельными. Петли могут быть ориентированы либо по часовой стрелке, либо против; однако ориентацию петли можно и не учитывать.
На основе рассмотренных понятий можно дать окончательные определения неориентированного и ориентированного графов.
Назовем абстрактным неориентированным графом G(X,E,Ф) совокупность непустого множестваX, произвольного множестваE, причемXE=, и произвольного отображенияФ:EX&X. Элементы множествXиE- соответственно вершины и ребра графа, аФ– отображение инцидентности (отношение смежности). Неупорядоченные пары вершин могут обозначаться символамиxi&xj.
Абстрактный ориентированный граф (орграф) G(X,E,Ф) представляет собой совокупность непустого множестваX, произвольного множестваE, причем такого, что, и произвольного отображенияФ:EXX; элементы множествXиEявляются соответственно вершинами и дугами графаG, аФ– отображение инцидентности (отношение смежности). Символомxixxjобозначены упорядоченные пары вершин.
Рассмотрим произвольный неориентированный граф, например тот, который показан на рис. 1.2, и выделим некоторую его вершину. Число ребер неориентированного графа G(X,E,Ф), инцидентных вершинеxi(петля при этом учитывается дважды), называется степенью, или порядком этой вершины. Степень вершины можно обозначать символом(xi). Для вершиныx1графа, показанного на рис. 1.2,(x1)=5, дляx2(x2)=2, дляx3(x3)=3, а для изолированной вершиныx4(x4)=2.
Пусть G(X,E,Ф) – ориентированный граф. Если обозначить символоммножество дуг, входящих в вершинуxi, а символом- множество дуг, выходящих из этой вершины, то тогда числобудет называться полустепенью входа (захода) этой вершины, а число- полустепенью выхода (исхода) вершиныxi. Для вершиных5, показанной на рис. 1.3,, а.
В заключение этого раздела рассмотрим две теоремы, связанные с понятием степени (порядка) вершин неориентированного графа.
Теорема 1.1.Сумма степеней вершин неориентированного графаG(X,E,Ф) равна удвоенному числу его ребер, т.е. если
, то.
Это утверждение почти очевидно и следует из того, что каждое ребро графа инцидентно ровно двум вершинами, и поэтому вклад каждого ребра в сумму степеней вершин равен двум.
Теорема 1.2.В неориентированном графеG(X,E,Ф) число вершин нечетной степени четно.
Для доказательства этого утверждения разобьем множество вершин Xграфа на два подмножестваX0иX1,, причемХ0иХ1– соответственно множества вершин графа, имеющих четные и нечетные степени. С учетом Теоремы 1.1 можно записать
.
В правой части этого выражения – разность двух целых четных чисел, поэтому и должна быть величиной четной. Но это может быть только в том случае, если ичетно.
Граф G´(X´,E´) является частью графаG(X,E), еслиX´EиE´E, т.е. исходный граф содержит все вершины и ребра его части. Часть графа, которая наряду с некоторым подмножеством ребер (дуг) графа содержит и все инцидентные им вершины, называется подграфом. Часть графа, которая наряду с некоторым подмножеством ребер (дуг) графа содержит и все вершины исходного графа (X´=X,E´E), называется суграфом. Рассмотренные графы показаны на рис. 1.4.
Рис.1.4
Исходный граф по отношению к его подграфу называется надграфом, а по отношению к суграфу – сверхграфом. Совокупность всех ребер (дуг) графа, не принадлежащих его подграфу, вместе с инцидентными им вершинами образует дополнение подграфа. Говорят, что подграфы G´ (X´,E´) иG"(X",E") разделены ребрами (дугами), если они не имеют общих ребер (дуг) (т.е.E´E"=), и разделены вершинами, если у них нет общих вершин.
Графы G(X,E,Ф) иG´ (X´,E´,Ф´) называются изоморфными, еслиX=X´,E=E´ и существует взаимно однозначное соответствие между их вершинами и ребрами, причем такое, что соответствующие вершины соединяются соответствующими ребрами. Для изоморфных графовGиG´ должны существовать такие нумерации их вершин и ребер, при которых одноименные вершины оказываются соединенными одноименными ребрами. С точки зрения понятия изоморфизма абстрактный граф и его геометрическая реализация оказываются изоморфными. Поэтому в соответствии с уже доказанной теоремой о реализуемости любого конечного графа в пространствеE3вместо абстрактных конечных графов можно рассматривать их геометрические реализации. Другими словами, с графами можно выполнять операции, как с геометрическими объектами. На рис. 1.5 представлены изоморфные, а на рис. 1.6 – неизоморфные графы.
Рис. 1.5
Рис. 1.6
Отношение изоморфизма графов является отношением эквивалентности, т.к. оно симметрично, транзитивно и рефлексивно. Поэтому множество всех графов можно разбить на классы так, что графы из одного класса попарно изоморфны, а графы из разных классов не изоморфны. Изоморфные графы естественно считать совпадающими, и их можно изображать одним рисунком. Изоморфные графы могут различаться природой своих элементов, но при использовании понятия «граф» конкретная природа его вершин, ребер или дуг во внимание не принимается.
В некоторых случаях необходимо различать изоморфные графы, в связи с чем вводится понятие «помеченного графа». Граф с nвершинами называется помеченным, если его вершинам присвоены некоторые метки, например, номера 1, 2, …,n.
Введем операцию подразделения ребра графа G(X,E). Пустьxi,xj– произвольное ребро этого графа иy– некоторый объект, не принадлежащий множествуX. Операция подразделения ребраxi,xjграфа заключается в построении графаG´, множество вершин которогоX´=Xy, а множество реберE´ содержит все ребра исходного графа, за исключением выделенного ребраxi,xj, и два дополнительных новых ребра:
.
Граф G2называется подразделением графаG1, если он может быть получен из графаG1путем применения конечного числа операций подразделения ребер.
Графы G1иG2называются гомеоморфными, если существуют такие их подразделения, которые изоморфны. Другими словами, два графа гомеоморфны, если они изоморфны с точностью до вершин второй степени (второго порядка). На рис. 1.7 показаны гомеоморфные графы. Изоморфизм графаG(X,E,Ф) на себя называется автоморфизмом этого графа. Автоморфизм обладает теми же свойствами, что и изоморфизм.
Рис. 1.7