Введение в теорию графов

Типы графов

Разбить на страницы
Показывать лекцию целиком

Граф G = (X, A) называют полным, если для любой пары вершин хi и хj в X существует ребро i, хj) в неориентированном графе

G=(X,A)

т. е. для каждой пары вершин графа ,а).

Граф ,б).

(рис 5.1) а – полный граф; б – симметрический граф; в – антисимметрический граф; г – полный симметрический;

Антисимметрическим называется такой граф, для которого справедливо следующее условие: если $$дуга (х_{i}, х_{j}) \in A$$, то во множестве A нет противоположно ориентированной дуги, т. е. ( $$х_{j}, х_{i}) \notin A$$ (,в). Очевидно, что в антисимметрическом графе нет петель.

В качестве примера можно рассмотреть граф, являющийся моделью некоторой группы людей: вершины графа интерпретируют людей, а дуги – их взаимоотношения. Так, если в графе дуга, нарисованная от вершины хi к вершине хj , означает, что хi является другом или родственником хj , тогда данный граф должен быть симметрическим. Если дуга, направленная от хi к хj , означает, что вершина хj подчинена вершине хi , то такой граф должен быть антисимметрическим.

Комбинируя определения полного и симметрического графов и полного и антисимметрического графов, получили следующие определения:

  • граф ,г). Очевидно, что в полном симметрическом графе каждая вершина имеет петлю;
  • граф G =(X, A), имеющий для каждой пары вершин i, хj) только одну дугу, называется полным антисимметрическим или турниром.
  • Связный граф, не имеющий циклов, либо граф, в котором каждая пара вершин соединена одной и только одной простой цепью, называется деревом (, а, б).

    (рис 5.2) Граф типа “дерево”: а – неориентированное дерево, б – ориентированное дерево

    Ориентированное дерево представляет собой ориентированный граф без циклов, в котором полустепень захода каждой вершины, за исключением одной (например, вершины х1 ), равна 1, а полустепень захода вершины х1 (называют корнем этого дерева) равна 0 (,б).

    Граф ).

    (рис 5.3) Планарный граф

    На показаны непланарные графы. Эти два графа играют важную роль в теории планарных графов и известны как графы Куратовского.

    (рис 5.4) Непланарные графы

    Неориентированный граф G = (X, A) называют двудольным, если множество его вершин X может быть разбито на такие два подмножества Xа и Xb , что каждое ребро имеет один конец в Xа , а другой в Xb (,а).

    Ориентированный граф ,б,в).

    Двудольный граф $$G=(X^{а} \cup X^{b}, A)$$ называют полным, если для любых двух вершин $$х_{i} \in X^{а}$$ и $$х_{j}\in X^{b}$$ существует ребро ,г).

    (рис 5.5) Двудольные графы: а, б, в – двудольные графы; г – полный двудольный граф

    Для доказательства двудольности графа существует теорема.

    Теорема о двудольности

    Граф G = (X, A) является двудольным тогда и только тогда, когда он не содержит циклов нечетной длины.

    Доказательство

    1. Необходимость. Поскольку множество X разбивается на две части Xа и Xb , то $$X^{а} \cup X^{b} = X$$ и $$X^{а} \cap X^{b} = \varnothing$$.

    Пусть существует цикл нечетной длины хi1 , хi2, ...,хi q , хi1 . Без потери общности допустим, что $$х_{i1} \in X^{а}$$. Согласно определению одна из двух следующих друг за другом вершин этого цикла должна принадлежать множеству Xа , а другая – множеству Xb , тогда имеем: $$х_{i2} \in X^{b}, х_{i3} \in X^{а}$$ и т. д. Следовательно, $$х_{ik} \in X^{а}$$, если k – нечетное, и $$х_{ik} \in X^{b}$$, если k – четное.

    Мы предположили, что длина цикла нечетная. Поэтому из соотношения $$х_{i q } \in X^{а}$$ следует, что $$х_{i1} \in X^{b}$$. Это противоречит исходному условию, поскольку $$X^{а} \cap X^{b} = \varnothing$$ и вершина не может принадлежать одновременно как Xa , так и Xb .

    Для большей ясности можно рассмотреть цикл нечетной длины для графа, изображенного на :

    (рис 5.6) Построение цикла

    х1---х3--- х5--- х4--- х2--- х1

    Xа Xb Xа Xb Xа Xb .

    Поочередно помечая вершины, мы видим противоречие: вершина $$Х_{1} \in X^{а}$$ и согласно определению должна принадлежать Xb, следовательно, рассматриваемый граф не является двудольным.

    2. Достаточность. Предположим, что в графе G не существует цикла нечетной длины. Выберем одну из вершин графа, например, хi, и пометим ее "+". Выполним итерационную процедуру.

    Берем уже помеченную вершину хi и помечаем все вершины из множества Г+1i) знаком, противоположным тому, который присвоен вершине хi .

    Будем продолжать эту операцию до тех пор, пока не будет сделано следующее:

    1) все вершины не будут помечены, а знаки, приписанные им, согласованы (иными словами, любые две вершины, соединенные ребром, помечены противоположными знаками);

    2) для каждой помеченной вершины хi все вершины из множества Г+1i) помечены, но существуют другие, еще не помеченные вершины;

    3) некоторая вершина, например хik , которая была уже помечена каким-то знаком ( "+" или "–" ), может быть помечена теперь (со стороны другой вершины) знаком, противоположным приписанному вершине хik .

    В случае 1 все вершины , помеченные знаком "+", отнесем к множеству Xa , а помеченные знаком "–" – к множеству Xb . Поскольку все ребра соединяют вершины, помеченные противополож-ными знаками, то граф является двудольным.

    Рассмотрим граф на б. Пометим знаком "+", например, вершину х1 . Найдем отображение Г+1) = { х4, х5 }. Вершины х4 и х5 пометим знаком "–". Отображение Г+4, х5) = = { х2, х3 }, помечаем вершины х2 и х3 знаком "+". Г+2, х3) = = { х4, х5, х6 }. Оставшуюся непомеченной вершину х6 помечаем знаком "–". Таким образом, получили два подмножества вершин Xa = { х1, х2, х3 } и Xb = { х4, х5, х6 } и показали, что рассматриваемый граф является двудольным.

    Случай 2 означает, что между помеченной и непомеченной вершинами не существует дуги. Перейдем к неориентированному графу и повторим процедуру пометок знаками "+" и "–". Если остались непомеченные вершины, то это означает, что граф распадается на две или больше частей, и каждая из них может тогда рассматриваться отдельно. Итак, в конце приходим к случаю 1.

    В графе на в, пометки были начаты знаком "+" с вершины х 2 . Г+2) = { х4 }. Вершина х4 помечается знаком "–". Г+4) = { х3 }. Вершина х3 помечается знаком "+". $$Г^{+}(х_{3}) = \varnothing$$.

    В графе остались непомеченные вершины, но если перейти к неориентированному двойнику этого графа, то процедура пометок легко выполняется и множество вершин разбивается на два подмножества Хa= { х1, х2, х3 } и Хb= { х4, х5, х6 }, тем самым исходный граф является двудольным.

    В случае 3 вершина хik должна быть помечена знаком "+" на некотором маршруте (например, М1), состоящем из вершин хi1, хi2, ..., хik ; причем знаки маршрут М1 можно выбрать таким:

    М1: х1 -> х3 -> х5 -> х4 -> х2.

    "+" "-" "+" "-" "+"

    Аналогично знаком "-" вершина хik помечается вдоль некоторого маршрута М2 . Например,

    М2: х1 -> х4 -> х6 -> х2.

    "+" "-" "+" "-"

    Пусть x* – предпоследняя (последней является хik ) общая вершина маршрутов М1 и М2 . Если вершина x* помечена знаком "+", то участок от x* до хik маршрута М1 должен быть четным, а участок от x* до хik маршрута М2 должен быть нечетным. Если же вер-шина x* помечена знаком "-", то участок маршрута М1 будет нечетным, а маршрута М2 – четным. Следовательно, цикл, состоящий из участка маршрута М1 , от x* до хik , и соответствующего участка маршрута М2 , от хik до x* , имеет нечетную длину. Это противоречит предположению, что граф не содержит циклов нечетной длины, и, значит, случай 3 невозможен.

    В рассматриваемом примере x* = х4 . В маршруте М1 длина участка от х4 до х2 равна 1, а в маршруте М2 длина участка от х4 до х2 равна 2, что в сумме составляет нечетное число, следовательно, граф содержит цикл нечетной длины и не является двудольным.

    Страницы:

    Граф G = (X, A) называют полным, если для любой пары вершин хi и хj в X существует ребро i, хj) в неориентированном графе

    G=(X,A)

    т. е. для каждой пары вершин графа ,а).

    Граф ,б).

    (рис 5.1) а – полный граф; б – симметрический граф; в – антисимметрический граф; г – полный симметрический;

    Антисимметрическим называется такой граф, для которого справедливо следующее условие: если $$дуга (х_{i}, х_{j}) \in A$$, то во множестве A нет противоположно ориентированной дуги, т. е. ( $$х_{j}, х_{i}) \notin A$$ (,в). Очевидно, что в антисимметрическом графе нет петель.

    В качестве примера можно рассмотреть граф, являющийся моделью некоторой группы людей: вершины графа интерпретируют людей, а дуги – их взаимоотношения. Так, если в графе дуга, нарисованная от вершины хi к вершине хj , означает, что хi является другом или родственником хj , тогда данный граф должен быть симметрическим. Если дуга, направленная от хi к хj , означает, что вершина хj подчинена вершине хi , то такой граф должен быть антисимметрическим.

    Комбинируя определения полного и симметрического графов и полного и антисимметрического графов, получили следующие определения:

  • граф ,г). Очевидно, что в полном симметрическом графе каждая вершина имеет петлю;
  • граф G =(X, A), имеющий для каждой пары вершин i, хj) только одну дугу, называется полным антисимметрическим или турниром.
  • Связный граф, не имеющий циклов, либо граф, в котором каждая пара вершин соединена одной и только одной простой цепью, называется деревом (, а, б).

    (рис 5.2) Граф типа “дерево”: а – неориентированное дерево, б – ориентированное дерево

    Ориентированное дерево представляет собой ориентированный граф без циклов, в котором полустепень захода каждой вершины, за исключением одной (например, вершины х1 ), равна 1, а полустепень захода вершины х1 (называют корнем этого дерева) равна 0 (,б).

    Граф ).

    (рис 5.3) Планарный граф

    На показаны непланарные графы. Эти два графа играют важную роль в теории планарных графов и известны как графы Куратовского.

    (рис 5.4) Непланарные графы

    Неориентированный граф G = (X, A) называют двудольным, если множество его вершин X может быть разбито на такие два подмножества Xа и Xb , что каждое ребро имеет один конец в Xа , а другой в Xb (,а).

    Ориентированный граф ,б,в).

    Двудольный граф $$G=(X^{а} \cup X^{b}, A)$$ называют полным, если для любых двух вершин $$х_{i} \in X^{а}$$ и $$х_{j}\in X^{b}$$ существует ребро ,г).

    (рис 5.5) Двудольные графы: а, б, в – двудольные графы; г – полный двудольный граф

    Для доказательства двудольности графа существует теорема.

    Теорема о двудольности

    Граф G = (X, A) является двудольным тогда и только тогда, когда он не содержит циклов нечетной длины.

    Доказательство

    1. Необходимость. Поскольку множество X разбивается на две части Xа и Xb , то $$X^{а} \cup X^{b} = X$$ и $$X^{а} \cap X^{b} = \varnothing$$.

    Пусть существует цикл нечетной длины хi1 , хi2, ...,хi q , хi1 . Без потери общности допустим, что $$х_{i1} \in X^{а}$$. Согласно определению одна из двух следующих друг за другом вершин этого цикла должна принадлежать множеству Xа , а другая – множеству Xb , тогда имеем: $$х_{i2} \in X^{b}, х_{i3} \in X^{а}$$ и т. д. Следовательно, $$х_{ik} \in X^{а}$$, если k – нечетное, и $$х_{ik} \in X^{b}$$, если k – четное.

    Мы предположили, что длина цикла нечетная. Поэтому из соотношения $$х_{i q } \in X^{а}$$ следует, что $$х_{i1} \in X^{b}$$. Это противоречит исходному условию, поскольку $$X^{а} \cap X^{b} = \varnothing$$ и вершина не может принадлежать одновременно как Xa , так и Xb .

    Для большей ясности можно рассмотреть цикл нечетной длины для графа, изображенного на :

    (рис 5.6) Построение цикла

    х1---х3--- х5--- х4--- х2--- х1

    Xа Xb Xа Xb Xа Xb .

    Поочередно помечая вершины, мы видим противоречие: вершина $$Х_{1} \in X^{а}$$ и согласно определению должна принадлежать Xb, следовательно, рассматриваемый граф не является двудольным.

    2. Достаточность. Предположим, что в графе G не существует цикла нечетной длины. Выберем одну из вершин графа, например, хi, и пометим ее "+". Выполним итерационную процедуру.

    Берем уже помеченную вершину хi и помечаем все вершины из множества Г+1i) знаком, противоположным тому, который присвоен вершине хi .

    Будем продолжать эту операцию до тех пор, пока не будет сделано следующее:

    1) все вершины не будут помечены, а знаки, приписанные им, согласованы (иными словами, любые две вершины, соединенные ребром, помечены противоположными знаками);

    2) для каждой помеченной вершины хi все вершины из множества Г+1i) помечены, но существуют другие, еще не помеченные вершины;

    3) некоторая вершина, например хik , которая была уже помечена каким-то знаком ( "+" или "–" ), может быть помечена теперь (со стороны другой вершины) знаком, противоположным приписанному вершине хik .

    В случае 1 все вершины , помеченные знаком "+", отнесем к множеству Xa , а помеченные знаком "–" – к множеству Xb . Поскольку все ребра соединяют вершины, помеченные противополож-ными знаками, то граф является двудольным.

    Рассмотрим граф на б. Пометим знаком "+", например, вершину х1 . Найдем отображение Г+1) = { х4, х5 }. Вершины х4 и х5 пометим знаком "–". Отображение Г+4, х5) = = { х2, х3 }, помечаем вершины х2 и х3 знаком "+". Г+2, х3) = = { х4, х5, х6 }. Оставшуюся непомеченной вершину х6 помечаем знаком "–". Таким образом, получили два подмножества вершин Xa = { х1, х2, х3 } и Xb = { х4, х5, х6 } и показали, что рассматриваемый граф является двудольным.

    Случай 2 означает, что между помеченной и непомеченной вершинами не существует дуги. Перейдем к неориентированному графу и повторим процедуру пометок знаками "+" и "–". Если остались непомеченные вершины, то это означает, что граф распадается на две или больше частей, и каждая из них может тогда рассматриваться отдельно. Итак, в конце приходим к случаю 1.

    В графе на в, пометки были начаты знаком "+" с вершины х 2 . Г+2) = { х4 }. Вершина х4 помечается знаком "–". Г+4) = { х3 }. Вершина х3 помечается знаком "+". $$Г^{+}(х_{3}) = \varnothing$$.

    В графе остались непомеченные вершины, но если перейти к неориентированному двойнику этого графа, то процедура пометок легко выполняется и множество вершин разбивается на два подмножества Хa= { х1, х2, х3 } и Хb= { х4, х5, х6 }, тем самым исходный граф является двудольным.

    В случае 3 вершина хik должна быть помечена знаком "+" на некотором маршруте (например, М1), состоящем из вершин хi1, хi2, ..., хik ; причем знаки маршрут М1 можно выбрать таким:

    М1: х1 -> х3 -> х5 -> х4 -> х2.

    "+" "-" "+" "-" "+"

    Аналогично знаком "-" вершина хik помечается вдоль некоторого маршрута М2 . Например,

    М2: х1 -> х4 -> х6 -> х2.

    "+" "-" "+" "-"

    Пусть x* – предпоследняя (последней является хik ) общая вершина маршрутов М1 и М2 . Если вершина x* помечена знаком "+", то участок от x* до хik маршрута М1 должен быть четным, а участок от x* до хik маршрута М2 должен быть нечетным. Если же вер-шина x* помечена знаком "-", то участок маршрута М1 будет нечетным, а маршрута М2 – четным. Следовательно, цикл, состоящий из участка маршрута М1 , от x* до хik , и соответствующего участка маршрута М2 , от хik до x* , имеет нечетную длину. Это противоречит предположению, что граф не содержит циклов нечетной длины, и, значит, случай 3 невозможен.

    В рассматриваемом примере x* = х4 . В маршруте М1 длина участка от х4 до х2 равна 1, а в маршруте М2 длина участка от х4 до х2 равна 2, что в сумме составляет нечетное число, следовательно, граф содержит цикл нечетной длины и не является двудольным.

    Вернуться к учебному плану