Основы теории графов.
Теория графов важный раздел
дискретной математики, практическая роль которой возросла за счёт развития различных АСУ и вычислительной техники дискретного действия, в теоретическом плане помимо связей с комбинаторикой и геометрией наметились сдвиги на стыке теории графов с алгеброй, математической логикой.Что же такое граф? Начнём с поясняющего примера:
Вспомогательный Рисунок №1 чтобы посмотреть рисунок, щёлкните по гиперссылке и смотрите рис 0.1. На рис. изображён граф, вершинами которого служат пронумерованные вершины, а рёбрами - линии (со стрелками или без), соединяющие некоторые из этих кружков. Ребро а ориентированное (направленное): оно соединяет вершину 1 с вершиной 2, но не соединяет 2 с 1; к такому тину рёбер, называемых дугами, относятся так же e, f, g. Ребро h не ориентированное: оно одновременно соединяет вершину 1 с 4, так и 4 с 1; к таким рёбрам, называемым ещё звеньями, относятся также i, j. Наконец, каждое из рёбер b, c, d, k является петлёй - соединяет некоторую вершину с ней же.
О рёбрах a, b, e, f, g, h говорят, что они инцидентны вершине 1, а о вершине 1 - что она инцидентна каждому из этих рёбер; в отношении дуг можно уточнить: дуги а, e и f исходят из 1, а другая g заходит в неё. Вершины 3 и 5 изолированные: ни одно ребро не соединяет такую вершину с другой или другую с ней; вершину 3 иногда называют голой, желая иногда подчеркнуть, что при ней нет даже петель.
Рассмотренный граф является конечным: множество {1, 2, 3, 4, 5} его вершин и множество {a, b, c, d, e, g, h, i, j, k} его рёбер конечны.
Из выше сказанного можно сделать заключение и подвести итог. Рассмотрим конечное множество точек {V} - назовём его вершинами, а конечный набор линий {X}, соединяющих некоторые пары вершин - назовём рёбрами. Где V не равно пустому множеству, а X некоторый набор элементов вида (v, w). В общем случае в наборе X могут встречаться пары одинаковые, а также (v, v) петли. Одинаковые пары назовём кратными. Кол-во кратных рёбер называется кратностью. Про V и X будем говорить, что они определяют граф с кратными рёбрами и петлями. Или же будем этот граф называть псевдографом и дадим обозначение G=(V, X). Псевдограф без петель называется мультиграфом, если в наборе X ни одна пара не встречается более одного раза, то мльтиграф называется графом, если пары в наборе X являются упорядоченными, то граф называется ориентированным - орграф. Рёбра орграфа называются дугами. Ориентированный граф будем обозначать D, а не орграф G.
Далее будем ставить в соответствие некоторому графу геометрическую конфигурацию.
Вспомогательный Рисунок №1 на рис 0.2 гиперссылки показаны основные атрибуты графа.
Смежность, инцидентность, степень.
Если x={v, w} - ребро графа, то v и w называются концами ребра x, в этом случае так же будем говорить, что x соединяет v и w, и если v начало, а w конец, то будем говорить, что x выходит из v и заходит в w. Если x выходит из v или заходит в w, если v является концом(началом) ребра(дуги) x, то говорят, что v и x инцидентны. Вершины v и w графа G называются смежными, если рёбра их соединяющие принадлежат X. Два ребра называются смежными если они имеют общую вершину. Степенью вершины v графа G называется число
d (v). Это число рёбер графа G инцидентных вершине v. Вершина графа со степенью 0 - изолированная, а со степенью 1 висячей. Полустепенью исхода, захода вершины v орграфа D называется число дуг орграфа, исходящих из v (заходящих в v).Вспомогательный Рисунок №1 на рис 0.2 в вершину v2 входит дуга x1, а выходит x2, поэтому можно записать d +(v2)=1 полу степень исхода, d -(v2)=1 полу степень захода.
{v, w}
О X1Ы {φ(v),φ(w)}О X2.Орграфы D
1(V1,X1) и D2(V2,X2) называются изоморфными, если существует биективное отображение φ:V1→ V2, сохраняющая смежность, т.е. {v, w}О X1Ы {φ(v),φ(w)}О X2.Замечание:
из определения видно, что изоморфные графы отличаются только обозначением вершин.Признаки:
Если графы G1 и G2 изоморфны, то выполняется:
а) " v О V1: d (v)=d (φ(v))
б) m(G
1)=m(G2); n(G1)=n(G2).Если орграфы D
1 и D2 изоморфны, то:а)
" v О V1: d +(v)=d +(φ(v))d
-(v)=d -(φ(v))б) m(D
1)=m(D2); n(D1)=n(D2). Где m - количество рёбер, а n - вершин.Вспомогательный Рисунок №1 на рис 0.3 показаны изоморфные графы.
Операция подразвиения: (измельчения дуги (u, v) в орграфе D) состоит в удалении из набора X дуги (u, v) и добавления к множеству V новой вершины w и добавлении к набору X двух дуг (u, w), (w, v). Орграф D1 называется подразвиением орграфа D2, если D1 можно получить из D2 путём последовательного применения операций подразвиения дуг. Аналогично с графами. Щёлкните на вспомогательный рис №1, чтобы посмотреть пример подразвиения, он показан на рис 0.4.
Гомеоморфными называются графы G1, G2 (D1, D2), если их подразвиение является изоморфным.
Маршруты, пути: последовательность v1, x1, v2, x2,…, xk,vk+1, в которой чередуются вершины и рёбра, называется маршрутом, соединяющим вершины v1, vk+1. Последовательность v1, x1, v2, x2,…, xk,vk+1, в которой чередуются вершины и дуги, называется путём, соединяющим вершины v1- vk+1. При этом v1 начальная вершина vk+1 конечная, а остальные внутренние. Одна и та же вершина может быть начальной, конечной и внутренней. Число рёбер (дуг) в маршруте (пути) называется длиной маршрута (пути). Маршрут (путь) называется замкнутым, если его начальная вершина совпадает с конечной. Не замкнутый маршрут (путь), в котором все рёбра (дуги) попарно различны называется цепью. Цепь, в которой все вершины попарно различны называется простой. Замкнутый маршрут(путь), в котором все рёбра (дуги) попарно различны называется циклом (контуром). Цикл, в котором все вершины попарно различны, называется простым.
Матричное задание графов. Матрица смежности и инцидентности.
Пусть D-орграф, где V={v
1,v2,…,vn}, X={x1,x2,…,xn}. Матрицей смежности орграфа D называется матрица A(D)=[aij] порядка n, у которой:1, (vi,vj)
О x0, (vi,vj)
П xМатрицей инцидентности орграфа D называется матрица (n
ґ m) B(D)=[bij] , у которой:1, если вершина v
i является концом дуги xj-1, если v
i является началом дуги xj0, если v
i не инцидентна дуге xjВспомогательный рисунок №2 на рис 1.2 показан пример матричного задания орграфа.
Пусть G(V, X) граф, где V={v1,v2,…,vn}, X={x1,x2,…,xn}. Матрицей смежности графа G называется матрица A(G)=[aij] порядка n, у которой:
1, (vi,vj)
О x0, (vi,vj)
П xМатрицей инцидентности графа G называется матрица (n
ґ m) B(G)=[bij], у которой:1, если вершина v
i инцидентна ребру xj0, если v
i не инцидентна xjВспомогательный рисунок №2 на рис 1.1 показан пример матричного задания графа.
Связанность. Компоненты связанности.
Говорят, что вершина w орграфа D ( гр. G ) достижима из вершины v, если либо w = v, либо существует путь из v в w (маршрут из v в w ). Говорят, что граф связан (оргр. сильно связанный ), если для его вершин v, w существует маршрут ( путь ), соединяющий эти вершины. Оргр. называется односторонне цельно связанным, если для его вершин по крайней мере одна достижима из другой.
Матрица связанности: пусть D=(V, X) орграф, где V={v1,…,vn}. Матрицей достижимости называется квадратная матрица T(D)=[tij] порядка n, у которой tij=1, если вершина vj достижима из vi, tij=0 в противном случае.
Матрицей сильной связанности орграфа D называется квадратная матрица S(D)=[sij] порядка n, у которой sij=1, если вершина vi достижима из vj и одновременно vj достижима из vi, sij=0 в противном случае. Пусть G=(V, X) граф. Матрицей связанности графа G называется квадратная матрица S(G)=[sij] порядка n, у которой sij=1, если j = i или существует маршрут соединяющий vi и vj, sij=0 в противном случае.
Задача поиска маршрутов в графе. При решении некоторых прикладных задач, не редко возникает необходимость найти мршрут, соединяющий заданные вершины в G. Приведём алгоритм решения этой задачи.
Алгоритм Терри: (алгоритм поиска маршрута в связанном графе G, соединяющего заданные вершины v и w О V, где v ≠ w.)
Шаг1: идя по произвольному ребру, всякий раз отмечать направление, которое оно прошло.
Шаг2: исходя из некоторой v' , всегда следовать только по тому ребру, которое не было пройдено или было пройдено в противоположном направлении.
Шаг3: для всякой вершины v', отличной от v отмечать первое заходящее в v' ребро, если v' встречается первый раз.
Шаг4: исходя из некоторой вершины v', отличной от v по первому заходящему ребру идти лишь тогда, когда нет других возможностей.
Так же существуют задачи на нахождение маршрута.
Деревья и циклы
Граф G называется деревом, если он является связанным и не имеет циклов. Граф G, все компоненты связности которого являются деревьями, называется лесом.
Свойства деревьев.
Следующие утверждения эквивалентны:
Утверждение. Если у дерева G есть по крайней мере, одно ребро, то у него обязательно найдется висячая вершина.
Утверждение. Пусть G-связный граф,
v – висячая вершина в G, G' – граф полученный из G в результате удаления вершины v и инцидентного ей ребра. Тогда G' - связный граф.Утверждение. Пусть G – дерево с n вершинами и m ребрами. Тогда m= n – 1.
Утверждение. Пусть G
' -- граф являющийся деревом, G- граф полученный в результате добавления к G' новой вершины v и ребра {v, W} где W -- некоторая вершина графа G'. Тогда G - дерево.Утверждение. Пусть G = (
v, X) – связный граф с n ребрами и m вершинами и пусть так же выполняется равенство m = n –1. Тогда G – дерево.Утверждение. Пусть G – дерево. Тогда любая цель в G будет простой.
ОСТОВНОЕ ДЕРЕВО СВЯЗНОГО ГРАФА.
Остовным деревом связного графа G называется любой его подграф, содержащий все вершины графа G и являющийся деревом. Любое остовное дерево графа G есть результат удаления из G ровно m (G) – (n (G) –1) = m (G) – n (G) + 1 рёбер.Число m (G) – n (G) + 1 называется цикломатическим числом связного графа G и обозначается через
v (G).Алгоритм выделения остовного дерева. Для произвольного связного графа G = (
v, X).Шаг 1. Выбираем в G произвольную вершину
v1, которая образует подграф G1 графа G, являющийся деревом. Полагаем i = 1.Шаг 2. Если i =n, где n = n (G), то задача решена, и G
i – искомое остовное дерево псевдографа G. B противном случае переходим к шагу 3.Шаг 3.Пусть уже построено дерево G
i являющееся подграфом графа G и содержащее некоторые вершины v1,…,vi , где 1 Ј i Ј n-1. Строим граф Gi+1, добавляя к графу Gi новую вершину vi+1 О v, смежную в G с некоторой вершиной vj графа Gi, и новое ребро {vi+1, vj} (в силу связности G и того обстоятельства, что i<n, указанная вершина vi+1 обязательно найдется). Граф Gi+1 так же является деревом. Присваиваем i: = i +1 и переходим к шагу 2.