
Графы2 ГОТОВЫЙ.pptx
- Количество слайдов: 120
ГРАФЫ ЧАСТЬ 2
Задача о Кёнигсбергских мостах. Обойти все четыре части суши, пройдя по каждому мосту один раз, и вернуться в исходную точку. Эта задача была решена Эйлером в 1736 году.
Задача о трех домах и трех колодцах. Имеется три дома и три колодца. Провести от каждого дома к каждому колодцу тропинку так, чтобы тропинки не пересекались. Эта задача была решена Куратовским в 1930 году.
Задача о четырех красках. Любую карту на плоскости раскрасить четырьмя красками так, чтобы никакие две соседние области не были закрашены одним цветом 1 2 3 4 2
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ Графом G (V , Е) называется совокупность двух множеств — непустого множества V (множества вершин) и множества Е – бинарного отношения, определённого на множестве V. Число вершин графа G обозначим n, а число ребер m:
ДИАГРАММЫ V 1 V 2 V 3 V 0 V 4 V 5 Обычно граф изображают диаграммой: вершины — точками (или кружками), ребра — линиями.
СМЕЖНОСТЬ Пусть v 1, v 2 — вершины, e = (v 2, v 1) — соединяющее их ребро. Тогда: вершина v 1 и ребро е инцидентны, вершина v 2 и ребро е также инцидентны. Два ребра, инцидентные одной вершине, называются смежными; две вершины, инцидентные одному ребру, также называются смежными.
v 1 e 4 v 2 e 5 e 3 e 2 v 3
ВИДЫ ГРАФОВ Если элементами множества Е являются упорядоченные пары, то граф называется ориентированным (или орграфом). В этом случае элементы множества V называются узлами, а элементы множества Е — дугами. V 0 V 4 V 1 V 3 V 2
Если бинарное отношение Е является симметричным, то граф называется неориентированным (или неорграфом). В этом случае симметричные пары (а, b) и (b, а) будем обозначать [a, b] V 1 V 2 V 3 V 0 V 4 V 5
Если элементом множества Е может быть пара одинаковых (не различных)элементов V, то такой элемент множества Е называется петлей, а граф называется графом с петлями (или псевдографом). x 1 x 4 x 2 x 3
Граф, содержащий как ориентированные , так и неориентированные ребра, называется смешанным. V 2 V 3 V 1 V 5 V 4
Если Е является не множеством, а набором, содержащим несколько одинаковых элементов, то эти элементы называются кратными ребрами, а граф называется мультиграфом. Vi Vj
Если элементами множества Е являются не обязательно двухэлементные, а любые подмножества V, то такие элементы множества Е называются гипердугами, а граф называется гиперграфом. с и а ы р о
Если задана функция F: V→М и/или F: Е→М, то множество М называется множеством пометок, а граф называется помеченным (или нагруженным). В качестве множества пометок обычно используются буквы или целые числа. B 1 2 2 A 2 2 C 3 1 D
Способы задания графа
Пусть G= (М, R) граф, в котором множество вершин имеет n элементов: М = (a 1, a 2, . . . , an}. Матрицей смежности A= (Aij) графа G называется матрица порядка n, определенная следующим образом: • если G — неорграф, то матрица смежности А симметрична, т. е. не меняется при тран спонировании: AT = A.
a 5 a 1 a 2 a 3 a 4
• Если Aij = 1, то вершина aj называется последователем вершины ai, a ai предшественником aj. Вершины ai и aj называются смежными, если Aij = 1 или Аji=1. • Если G — мулътиграф, то в матрице смежности A элемент Aij по определению равен числу дуг, исходящих из вершины ai и заходящих в вершину aj.
Матрица инцидентности Если число вершин графа G равно n, а число ребер – m, то матрицей инцидентности В = (Bij) мультиграфа G называется матрица размера m x n:
Пример. Мультиграф G изображенный на рисунке, имеет матрицу инцидентности. 3 4 5 5 a 3 a 2 2 1 2 a 1 6
а 2 Новосибирск 681 Омск а 1 41 27 3 58 9 4 а 4 Павлодар а 3 Кемерово
Информацию о весах дуг во взвешенном графе можно представлять в виде матриц весов W = ( ij), где ij – вес дуги (ai, aj), если дуга (ai, aj) существует, а для несуществующих дуг веса обычно помечают нулем или знаком в зависимости от приложений. В предыдущем примере матрица весов имеет вид: W= 0 681 413 681 0 274 589 274 0 413 589 0
Операции над графами
ЭЛЕМЕНТЫ ГРАФОВ • Граф G'(V’, E') называется подграфом графа G(V, E) (обозначается G’ G), если V’ V и/или Е' Е. • Если V’ V &Е' E&(V’≠ V Е' ≠ Е), то граф G' называется собственным подграфом графа G. • Подграф G'(V', E'} называется правильным подграфом графа G(V, E), если G' содержит все возможные ребра G: • u, v∊V’ (u, v) ∊ E (u, v) ∊E'. • Правильный подграф G'(V’, E') графа G(V, E) определяется подмножеством вершин V’.
Операцией добавления к графу G = M, R вершины а образуется граф M {а}, R. Операция добавления дуги (a, b) к графу G состоит в образовании графа M {а, b}, R {(a, b)}. Под операцией удаления дуги (a, b) из графа G понимается операция, заключающаяся в удалении пары (a, b) из множества дуг R, в результате получается граф M, R {( a, b)}. Операция удаления вершины а из графа G заключается в удалении вершины a вместе с инцидентными ей дугами: M {a}, R {(b, c) b = a или с = а}
Операция отождествления вершин a и b графа G = M, R состоит в удалении из графа G вершин a и b и присоединении новой вершины а’, дуг (а’, c), если (а, c) R или (b, c) R, и дуг (c, а’), если (c, a) R или (c, b) R: (М {a, b}) { а’}, (R {(c, d) c = a или d = a, или с = b, или d = b}) {(а’, c) (а, c) R, или (b, c) R} {(c, а’) (c, a) R, или (с, b) R }. Говорят, что построенный граф получается из графа G отождествлением вершин a и b. В случае, когда a и b соединены дугой, операцию отождествления вершин a и b называют стягиванием дуги (a, b).
2 3 2 3 4 1 4 3 2 4 1’ 2’ 3 5 1 4 G 1 G 2 G 3 1 G 4 1 G 5 4 G 6
Операцией добавления к графу G = M {a}, R вершины a образует граф M {a}, R. Операция добавления дуги (a, b) к графу G состоит в образовании графа G понимается операция, заключающаяся в удалении пары (a, b) из множества дуг R, в результате получается граф M, R{(a, b)}. Операция удаления вершины a из графа G заключается в удалении вершины a вместе с инцидентными ей дугами: M {a}, R {(b, c) b=a или c=a}.
a 2 a 1 G 1 a 4 a 3 G 2 a 2 a 1 a 3 a 4 a 1 G 2 G 1∩G 2 G 1 G 2
Соединением G 1 + G 2 графов G 1 и G 2 называется граф M 1 M 2, R 1 R 2 {[a, b] a M 1, b M 2, a b}. Произведением G 1 G 2 графов G 1 и G 2 называется граф M 1 M 2, R , в котором ((a 1, b 1), (a 2, b 2)) R тогда и только тогда, когда a 1 = a 2 и (b 1, b 2) R 2, или b 1=b 2 и (a 1, a 2) R 1.
а 2 а 5 а 4 а 5 а 2 а 1 а 3 G 1 G 2 G 1+ G 2
(1, а) 1 2 а (2, а) b c (1, b) (1, c) (2, b) = G 1 G 2 (2, c)
ИЗОМОРФИЗМ ГРАФОВ • Говорят, что два графа G 1(V 1, E 1) и G 2(V 2, E 2) изоморфны (обозначается G 1 ~ G 2), если существует биекция h: V 1 → V 2, сохраняющая смежность: e 1 = (u, v) ∊ Е 1<=> e 2 = (h(u), h(v)) ∊ E 2, • Изоморфизм графов есть отношение эквивалентности. Действительно, изомор физм обладает всеми необходимыми свойствами:
• рефлексивность: G ~ G, где требуемая биекция суть тождественная функция; • симметричность: если G 1 ~ G 2 с биекцией h, то G 2~G 1 с биекцией h 1; • транзитивность: если G 1 ~ G 2 с биекцией h и G 2 ~ G 3 с биекцией g, то G 1 ~ G 3 с биекцией g∙h. Графы рассматриваются с точностью до изоморфизма, то есть рассматриваются классы эквивалентности по отношению изоморфизма.
w 6 v 1 v 2 v 3 u 1 u 4 u 6 v 4 v 5 v 6 u 5 w 1 w 3 u 3 w 4 w 5 u 2 w 2
Теорема Графы изоморфны тогда и только тогда, когда их матрицы смежности вершин получаются друг из друга одновременными перестановками строк и столбцов (т. е. одновременно с перестановкой i й и j й строк переставляются i й и j –й столбцы). Теорема Графы (орграфы) изоморфны тогда и только тогда, когда их матрицы инцеденций получаются друг из друга произвольными перестановками строк и столбцов.
ЭЛЕМЕНТЫ ГРАФОВ • Граф G'(V’, E') называется подграфом графа G(V, E) (обозначается G’ G), если V’ V и/или Е' Е. • Если V’ V &Е' E&(V’≠ V Е' ≠ Е), то граф G' называется собственным подграфом графа G. • Подграф G'(V', E'} называется правильным подграфом графа G(V, E), если G' содержит все возможные ребра G: • u, v∊V’ (u, v) ∊ E (u, v) ∊E'. • Правильный подграф G'(V’, E') графа G(V, E) определяется подмножеством вер шин ’. V
ВАЛЕНТНОСТЬ • Количество ребер, инцидентных вершине v, называется степенью (или валентностью) вершины v и обозначается d(v): • Обозначим минимальную степень вершины графа G через δ(G), а максимальную — через ∆(G) • Если степени всех вершин равны k, то граф называется регулярным степени k • Степень регулярности является инвариантом графа и обозначается r(G). Для нерегулярных графов r(G) не определено.
Если степень вершины равна 0 (то есть d(v) = 0), то вершина называется изолированной. Если степень вершины равна 1 (то есть d(v) = 1), то вершина называется концевой, или висячей. Для орграфа число дуг, исходящих из вершины v, называется полустепенью исхода, а входящих — полустепенью захода. Обозначаются эти числа, соответственно, d (v) и d+(v). ТЕОРЕМА (Эйлера) Сумма степеней вершин графа равна удвоенному количеству ребер: = 2 m.
МАРШРУТЫ, ЦЕПИ, ЦИКЛЫ • Маршрутом в графе называется чередующаяся последовательность вершин и ребер v 0, e 1, v 1, e 2, v 2, . . . , ek, vk, в которой любые два соседних элемента инцидентны. Это определение подходит также для псевдо , мульти и орграфов. Для «обычного» графа достаточно указать только последовательность вершин или только последовательность ребер. • Если v 0= vk, то маршрут замкнут, иначе открыт.
• Если все ребра различны, то маршрут называется цепью. Если все вершины различны, то маршрут называется простой цепью. • Цепь, соединяющая вершины u и v, обозначается (u, v). Очевидно, что если есть цепь, соединяющая вершины u и v, то есть и простая цепь, соединяющая эти вершины. • Замкнутая цепь называется циклом; замкнутая простая цепь называется простым циклом. Число циклов в графе G обозначается z(G). Граф без циклов называется ациклическим. • Для орграфов цепь называется путем, а цикл — контуром.
v 1 v 2 v 3 v 4 v 5 1. 1, 3, 1, 4 — маршрут, но не цепь; 2. 1, 3, 5, 2, 3, 4 — цепь, но не простая цепь; 3. 1, 4, 3, 2, 5 — простая цепь; 4. 1, 3, 5, 2, 3, 4, 1 — цикл, но не простой цикл; 5. 1, 3, 4, 1 — простой цикл.
СВЯЗНОСТЬ Важным понятием теории графов является связность. Граф называется связным, если любые две его несовпадающие вершины соединены маршрутом. Для орграфа существует ещё понятие сильной связности. Для этого определим понятие пути. Путь – это ориентированный маршрут. Поэтому если для установления простой (или слабой) связности графа ориентацию его дуг принимать в расчёт не следует, то для установления сильной связности это необходимо. Орграф называется сильно связным, если для любых двух вершин x. I, xj s найдётся путь с началом в xi и концом в xj. Для неориентированного графа понятие пути и маршрута совпадают.
x 2 x 4 x 1 x 2 x 1 x 3 сильно связный граф x 5 x 3 связный граф (нет пути из х2 в х3) Теорема Для любого графа G либо он сам, либо его дополнение является связным. x 4
МЕТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ ГРАФА
Пример. Здесь е(х1)= е(х2)= е(х4)= е(х6)=3, е(х3)= е(х7)=4, е(х5)=2. Таким образом, d(G)=4, r(G)=2. Периферийные вершины: х3 и х7, диаметральные цепи: х3 – х2 – х5 – х6 – х7 и х3 – х4 – х5 – х6 – х7, центральная x 1 вершина х5. x 5 x 6 x 7 x 2 x 3 x 4
ОБХОДЫ ГРАФОВ x 1 x 2 x 3 x 4
На языке теории графов задача формулируется следующим образом: существует ли в мультиграфе цикл, содержащий все ребра данного мультиграфа. Выдающимся математиком и механиком Л. Эйлером сформулирован и доказан критерий того, что связный неориентированный мультиграф имеет цикл, содержащий все ребра данного мультиграфа.
Цикл, содержащий все ребра мультиграфа, называется эйлеровым, и мультиграф, в котором имеется эйлеров цикл, также называется эйлеровым. Теорема Связный неориентированный мультиграф тогда и только тогда является эйлеровым, когда степень каждой из его вершин — четное число.
АЛГОРИТМ ПОСТРОЕНИЯ ЭЙЛЕРОВА ЦИКЛА 1. Выбрать произвольно некоторую вершину а. 2. Выбрать произвольно некоторое ребро и, инцидентное а, и присвоить ему номер 1 (назовем это ребро пройденным). 3. Каждому пройденному ребру присвоить номер, на единицу больший номера предыдущего. 4. Находясь в вершине х, не выбирать ребро, соединяющее х с а, если имеется возможность иного выбора. 5. Находясь в вершине х, не выбирать ребро, при удалении которого граф, образованный непронумерованными ребрами, распадается на две компоненты связности, каждая из которых имеет хотя бы по одному ребру. 6. После того как в графе будут занумерованы все ребра, образуется эйлеров цикл, причем порядок нумерации соответствует последовательности обхода ребер.
4 3 5 6 2 1 7 8 a
Будем говорить, что набор реберно непересекающихся цепей покрывает граф G, если каждое ребро графа G входит в одну из этих цепей. Теорема Если связный граф содержит k вершин нечетной степени, то минимальное число покрывающих его реберно непересекающихся цепей равно k/2. В частности, при k = 2 граф имеет цепь, которая соединяет вершины нечетной степени и содержит все ребра графа. Цепь, содержащая все ребра графа, называется эйлеровой.
ОБХОДЫ ВЕРШИН ГРАФА • Граф называется гамильтоновым, если в нем имеется простой цикл, содержащий каждую вершину этого графа. Сам такой цикл также называется гамильтоновым. • Гамильтоновой называется и простая цепь, содержащая все вершины графа. • Очевидно, что любой граф, ребра которого образуют простой цикл, является гамильтоновым.
• Несмотря на схожесть задач о нахождении эйлеровых и гамильтоновых циклов, решение последней значительно сложнее. • Известны следующие достаточные условия существования гамильтоновых циклов в связном неорграфе G без петель, имеющем больше 3 вершин:
Теорема Если для любых двух различных несмежных вершин а, и b графа G выполняется условие deg a + deg b ^ n, то существует гамильтонов цикл. Следствие Если для любой вершины а графа G вы полнено условие deg a ^ n/2, то существует гамильтонов цикл.
С задачей нахождения гамильтонова цикла связана задача коммивояжера. Район, который должен посетить бродячий торговец, содержит некоторое количество городов, расстояния между которыми известны. Требуется найти маршрут, проходящий через все пункты по одному разу и возвращающийся в исходный город. Если таких маршрутов много, требуется найти кратчай ший з них. и Математическая постановка задачи выглядит так: требуется найти гамильтонов цикл минимального веса.
НЕКОТОРЫЕ ПРАКТИЧЕСКИЕ ЗАДАЧИ, СВОДЯЩИЕСЯ К ЗАДАЧЕ КОММИВОЯЖЕРА • Пусть граф задает сеть коммуникаций между фиксированными центрами. Необходимо построить маршрут, обеспечивающий посещение всех центров ровно по одному разу. • Имеется станок с числовым программным управлением, который высверливает отверстия в печатных платах по заданной программе. • Составляя граф, в котором вершины соответствуют требуемым отверстиям, получаем задачу нахождения обхода вершин, такого, что суммарное время, затраченное на него, было бы минимальным.
ДЕРЕВЬЯ Деревья заслуживают отдельного и подробного рассмотрения по двум причинам. • Деревья являются в некотором смысле простейшим классом графов. Для них выполняются многие свойства, которые не всегда выполняются для графов в общем случае. Применительно к деревьям многие доказательства и рассуждения оказываются намного проще. Выдвигая какие то гипотезы при решении задач теории графов, целесообразно сначала их проверять на деревьях.
• Деревья являются самым распространенным классом графов, применяемых в программировании, причем в самых разных ситуациях.
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ • Граф без циклов называется ациклическим, или лесом. Связный ациклический граф называется (свободным) деревом. Таким образом, компонентами связности леса являются деревья. • Прилагательное «свободное» употребляется в том случае, когда нужно подчеркнуть отличие деревьев от других объектов, родственных деревьям: ориентированных деревьев, упорядоченных деревьев и т. д.
• В связном графе G выполняется неравенство q(G) p(G) — 1. • Граф G, в котором q(G)=p(G) 1, называется древовидным. • В ациклическом графе G z(G) = 0. • Пусть u, v — несмежные вершины графа G, х = (u, v) Е. Если граф G + х имеет только один простой цикл, z(G + х) = 1, то граф G называется субциклическим.
a
ОСТОВ ГРАФА Пусть G (М, R) — неорграф. Часть G' = (М', R') графа G называется остовом или каркасом графа G, если М = М' и G‘ лес, который на любой связной компоненте графа G образует дерево. Таким образом, если G — связный граф, то остов G' является деревом, которое будем называть остовным деревом графа G.
Понятие остова для орграфа G определяется как часть G' графа G, для которой F(G') является остовом графа F(G). Аналогично вводится понятие остовного дерева для связного орграфа G. Очевидно, что в каждом графе существует остов: разрушая в каждой связной компоненте циклы, т. е. удаляя лишние ребра, получаем остов.
Теорема. Для неoрграфа G без петель содержащего n вершин следующие условия эквивалентны: 1. G — дерево; 2. G — связный граф, содержащий n 1 ребро; 3. G — ациклический граф, содержащий n 1 ребро; 4. любые две несовпадающие вершины графа G соединяет единственная простая цепь; 5. G — ациклический граф, такой, что если какую либо пару егo несмежных вершин соединить ребром, то полученный граф будет содержать ровно один цикл.
Пример В качестве остова графа G, изображенного на рис. , можно взять лес с ребрами 2, 3, 4, 6, 7 (вообще говоря, остов определяется неоднозночно). 1 2 5 3 4 6 8 7
Из теоремы вытекает Следствие Число ребер произвольного неорграфа G, которые необходимо удалить для получения остова, не зависит от последовательности их удаления и равно т — n + с, где т — число peбep, n — число вершин, с — число компонент связности графа G.
Число v(G) = m n + с называется цикломатическим чис лом ли циклическим рангом графа G. Число и v*(G) = n с называется коциклическим рангом или корангом. Таким образом v*(G) есть число ребер входящих в любой остов графа G, и v(G) + v*(G) = m.
Очевидны следующие два следствия: Следствие Неорграф G является лесом тогда и только тогда, когда v(G) = 0. Следствие Неорграф G имеет единственный цикл тогда и только тогда, когда v(G) = 1.
ОБХОДЫ ГРАФА ПО ГЛУБИНЕ ИШИРИНЕ При решении прикладных задач часто возникает необходимость обхода вершин графа, связанная с поиском вершин, удовлетворяющих определенным свойствам. Пусть G = (М, R) — связный неориентированный граф, Т — некоторый остов графа G, a — некоторая фиксированная вершина, называемая корнем дерева Т.
Разместим вершины из М по этажам таким образом, чтобы корень а находился в верхнем этаже, смежные с ним вершины занимали этаж на единицу ниже, смежные с отмеченными вершинами — еще на единицу ниже и т. д. Таким образом, получаем е(а) + 1 этажей, где е(а) — эксцентриситет вершины а.
1 2 3 4 5 a
Опишем обход графа по глубине. При таком, обходе после очередной рассмотренной вершины выбирается смежная с ней вершина следующего этажа; Если очередная, рассмотренная вершина висячая и ее достижение не дает желаемого решения задачи, то возвращаемся до ближайшей вершины степени > 3 и просматриваем вершины другого, еще, не пройденного маршрута в таком же порядке и т. д.
1 2 3 4 5 12 8 9 7 10 6 13 11 14 19 16 15 17 18
При обходе графа по ширине просмотр вершин дерева ведется по этажам, переход к вершинам следующего этажа производится только после просмотра всех вершин данного этажа. 1 2 5 11 16 3 6 12 17 4 7 8 13 9 10 15 14 18 19
Очевидно, что при обходе всех вершин оба подхода: поиск в глубину и поиск по ширине — эквивалентны. Если же достаточно найти одну вершину с определенным свойством, то целесообразность применения поиска решения по глубине или по ширине определяется структурой дерева.
Если дерево является достаточно широким, а висячие вершины расположены на сравнительно близких этажах, то целесообразно вести поиск по глубине. Для глубоких узких деревьев, когда висячие вершины могут встретиться на различных этажах и их разброс по этажам достаточно велик, предпочтение отдается поиску по ширине.
При компьютерной реализации обходов по глубине и ширине целесообразно использовать задание дерева структурой смежности вершин.
УПОРЯДОЧЕННЫЕ И БИНАРНЫЕ ДЕРЕВЬЯ Определим по индукции понятие упорядоченного дерева: 1) пустое множество и список (а), где a – некоторый элемент, является упорядоченным деревом; 2) если T 1, T 2, …, Tn – непустые упорядоченные деревья, a – некоторый новый элемент, то список T = (a, T 1, T 2, …, Tn) образует упорядоченное дерево. При этом элемент a называется корнем упорядоченного дерева Т; 3) любое упорядоченное дерево строится в соответствии с п. 1 и 2.
Если T 1, T 2, …, Tn – упорядоченные деревья, то список (T 1, T 2, …, Tn) называется упорядоченным лесом. Для заданного упорядоченного дерева Т определим множество S(T) его упорядоченных поддеревьев: если Т = , то S(T) = ; если Т = (a), то S(T) = {(a)}; если Т = (a, T 1, T 2, …, Tn), то S(T) = S(T 1) … S(Tn) {T}. Непустое упорядоченное дерево T может интерпретироваться в виде системы пронумерованных непустых множеств, каждое из которых взаимно однозначно соответствует упорядоченному поддереву из S(T) так, что: 1) если T’ – поддерево упорядоченного дерева T”. T’, T” S(T), то для соответствующих множеств Х’ и Х” выполняется включение Х’ Х”; 2) если T’ не является поддеревом упорядоченного дерева T”, T’, T” S(T), соответствующие множества не пересекаются.
Пример Упорядоченному дереву (1, (2, (4), (5)), (3, (6, (8), (9)), (7))) Соответствует система множеств, изображенная на рисунке. 4 5 8 6 2 7 9 1 3
1 2 4 5 3 6 8 9 7 Упорядоченное дерево может также интерпретироваться в виде так называемого уступчатого списка, который используется в оглавлениях. На рис. представлен уступчатый список, соответствующий упорядоченному списку из примера выше.
a + b Тезис c d e f Любая иерархическая классификационная схема интерпретируется некоторым упорядоченным деревом. Например, в виде упорядоченное дерева представляется любой терм. На рис. 4. 43 изображено упорядоченное дерево, соответствующее терму t = a b (c : d + e : f).
Частным случаем упорядоченного дерева является бинарное дерево. Определение понятия бинарного дерева повторяет определение для упорядоченного дерева с ограничениями n {0, 1, 2} в п. 2. При этом для бинарного дерева Т = ((а), Т 1, Т 2), бинарное поддерево Т 1 называется левым поддеревом, а Т 2 — правым поддеревом. Бинарные деревья имеют более простое устройство, чем упорядоченные, и вместе с тем любой упорядоченный лес взаимно однозначно соответствует некоторому бинарному дереву.
А В С E F Н I J а D А D G В С E F Н I J б G
Планарность графов
• Ранее уже отмечалось, что возможно несколько изображений одного графа, поскольку все изоморфные графы несут одну и ту же информацию. • На практике при изготовлении микросхем необходимо выяснить, можно ли схему радиоэлектронного устройства, которая представляет собой граф, изобразить на плоскости без пересечений проводников. • Аналогичная задача возникает при проектировании железнодорожных и других путей, где нежелательны переезды.
• Таким образом, возникает задача построения и исследования плоского графа. • Плоским называется граф, вершины которого являются точками плоскости, а ребра— непрерывными плоскими линиями без самопересечений, причем никакие два ребра не имеют общих точек, кроме инцидентной им обоим вершины. • Любой граф, изоморфный плоскому графу, называется планарным.
Все планарные графы укладываются на плоскости (имеют плоскую укладку). а х1 х2 б х3 Г 1 х7 х6 х5 х4 х1 Г 2 х7 х2 х3 Г 7 Г 4 Г 3 Г 6 Г 5 х6 Г 8 х5 х4
Очевидно, что • Всякий подграф планарного графа планарен. • Граф планарен тогда и только тогда, когда каждая связная компонента этого графа — планарный граф.
• Гранью планарного графа называется множество точек плоскости, каждая пара которых может быть соединена плоской кривой, не пересекающей ребер этого графа. • Границей грани называется множество вершин и ребер, принадлежащих этой грани. • Например, граф G на рис. имеет восемь граней: Г 1, Г 2, . . . , Г 8. Неограниченная грань Г называется внешней, а остальные грани Г 2, Г 3, . . . , Г 8 — внутренними. Г 1 х1 Г 2 х7 х2 х3 Г 4 Г 3 х6 Г 5 Г 6 х5 Г 7 Г 8 х4
Пусть n, m, f — соответственно число вершин, ребер и граней планарного графа. Теорема (теорема Эйлера). Для всякого связного планарного графа верно равенство n m +f = 2.
• Два графа называются гомеоморфными, если они оба могут быть получены из одного и того же графа подразбиением его ребер. На рис. Изображены исходный граф G и два гомеоморфных графа G 1 и G 2. G: x G 1 : y G 2 :
Теорема (теорема Понтрягина —Куратовского). Граф планарен тогда и только тогда, когда он не содержит подграфов, гомеоморфных К 5 или К 3 3. v 0 v 1 v 2 v 4 v 3
Эквивалентная форма критерия планарности описана в следующей теореме. Теорема Граф планарен тогда и только тогда, когда в нем нет подграфов, стягиваемых (т. е. получаемых последовательностью отождествлений вершин, связанных ребрами) к графам К 5 или К 3 3.
v 0 v 1 v 2 v 4 v 3
• Для непланарных графов вводятся характеристики, представляющие ту или иную меру непланарности. • Если граф непланарен, то для его геометрической реализации удаляют отдельные ребра (переносят их на другую плоскость). • Наименьшее число ребер, удаление которых приводит к планарному графу, называется числом планарности или искаженностъю sk(G) графа G. • Для числа планарности полного графа справедлива следующая формула:
• Важнейшая характеристика непланарного графа— его толщина t(G) — наименьшее число планарных подграфов графа G, объединение которых дает сам граф. • Толщина графа равна минимальному числу плоскостей t, при котором граф G разбивается на плоские части Gl, G 2, . . . , Gl. • Очевидно, что толщина планарного графа равна единице.
для толщины связного (n, т) графа справедливы такие оценки где [. . . ] — целая часть числа, а ]. . [= [. . . ]+1.
РАСКА ГРАФОВ • Задачи раски вершин и ребер графа занимают важное место в истории развития теории и в самой теории графов. К построению раскрасок сводится целый ряд практических задач, например, задачи составления расписаний, распределения оборудования, проектирования некоторых технических изделий. • Задача раскрашивания графов, имеет также неожиданно широкое применение в программировании, особенно при решении фундаментальных теоретических проблем
Пусть G = (S, U) — неориентированный граф. • Раскраской графа называется такое приписывание цветов его вершинам, что никакие две смежные вершины не получают одинакового цвета. • Таким образом, множество вершин одного цвета является независимым множеством. • Хроматическим числом графа G называется минимальное число цветов, требующееся для раски G. Если = k , то граф называется k хроматическим.
• В теории хроматических графов существует так называемая гипотеза четырех красок, которую некоторые авторы с полным основанием называют «болезнью четырех красок» . • Попытки обосновать эту гипотезу привели к ряду интересных результатов не только по раске графов, но и по ряду других разделов теории графов.
Легко найти хроматические числа некоторых известных графов, например, —
Обозначим через P(G) наибольшую из степеней вершин графа G Теорема Для любого неориентированного графа G выполняется неравенство (G)<P(G)+1. Следующая теорема связывает хроматическое число графа с количеством его вершин и ребер.
Теорема Для любого связного (n, т) графа G верны неравенства где [. . . ] — целая часть, а {. . } — дробная часть числа.
Теорема Для любого n вершинного графа G верно неравенство
• Проблема раски планарных графов является одной из самых знаменитых проблем теории графов. Она возникла из задачи раски географической карты, при которой любые две соседние страны должны быть окрашены в различные цвета. Эта задача легко сводится к задаче раски планарного графа. • В 1879 г. английский математик Кэли четко сформулировал гипотезу четырех красок, которую некоторые авторы с полным основанием называют «болезнью четырех красок» .
• Попытки обосновать эту гипотезу привели к ряду интересных результатов не только по раске графов, но и по ряду других разделов теории графов. Гипотеза четырех красок. Всякий планарный граф 4 раскрашиваем. • Попытки доказать эту гипотезу привели в 1890 г. к появлению теоремы Хивуда. Теорема Всякий планарный граф 5 раскрашиваем
• Трудность проблемы четырех красок привела к появлению большого числа равносильных ей формулировок. • В конце 60 х гг. прошлого века эта проблема была сведена к исследованию большого, но конечного множества так называемых неустранимых конфигураций, число которых оказалось равно 1482
• В 1976 г. научному коллективу под руководством К. Аппеля и В. Хейкена удалось с использованием ЭВМ правильно раскрасить все графы из множества неустранимых конфигураций, затратив на это около 2000 часов машинного времени. • Таким образом, хотя такое доказательство очень сложно повторить, можно считать, что формально гипотеза четырех красок доказана.
В заключение рассмотрим очень простой алгоритм последовательной раски графа. Этот алгоритм в общем случае не приводит к минимальной раске. Только для некоторых классов графов, например полных k дольных, последовательная раска минимальна.
Алгоритм последовательной раски содержит два правила: 1. Произвольной вершине х графа G присваивается цвет 1. 2. Если вершины x 1, x 2, …, xi раскрашены k цветами 1, 2, …, k , k<i, то новой произвольно взятой вершине хi+1 приписывается минимальный цвет, не использованный при раске вершин из ее окружения.
Теорема (теорема Кенига) Граф двуцветен тогда и только тогда, когда он не содержит нечетных простых циклов.
?
Графы2 ГОТОВЫЙ.pptx