Графы Лекция 2

реклама
Графы
Лекция 2
Графы
• Неориентированным графом (графом) называется тройка
(V, E, Y), где V и E конечные множества и
Y:E g{X
 V : | X | = 2}.
• Ориентированным графом или орграфом называется
тройка (V, E, Y), где V и E конечные множества и
{Y : E g{(v,w)  V×V : v ≠ w}.
• Элементы множества V называются вершинами,
элементы множества E называются ребрами.
• Два ребра e, e' с Y(e) = Y(e') называются
параллельными.
• Граф без параллельных ребер называется простым.
e={v,w} или e=(v,w)
•
•
•
•
•
•
•
v и w называются смежными.
v сосед w (и наоборот).
e={v,w} соединяет v и w.
v и w граничные точки e.
v инцидентна e.
В орграфе ребро e= (v,w) выходит из v и входит в w.
Два ребра имеющие общую граничную точку называются
смежными.
Графы и орграфы
Для орграфа G:
соответствующий неориентированный граф
это неориентированный граф G' на том же
множестве вершин и множество ребер, которое
содержит ребро {v,w} для каждой дуги (v,w) из G.
В свою очередь G называется ориентацией G' .
Подграфы
• Подграфом графа G = (V(G),E(G)) называется граф
H=(V(H),E(H)) с V(H)  V(G) и E(H)  E(G).
G содержит H.
• H ― индуцированный подграф G если он является
подграфом G и E(H) = {(x,y)  E(G) : x,y  V(H) }.
H ― подграф G индуцированный на V(H), H=G[V(H)].
• Подграф H из G называется остовным если V(H) = V(G).
Множество соседей …
• Для графа G и X,Y  V(G) определим
E(X,Y):={{x,y} E(G): x X\Y y Y\X}
E+(X,Y):={(x,y)E(G): x X\Y y Y\X}.
• Для неориентированного графа G and X  V(G) определим
d(X):=E(X, V(G)\ X). Множество соседей X определяется
как G(X):={vV(G)\ X : E(X,{v}) ≠ ø}.
• Для орграфа G and X  V(G) определим
d+(X):=E+(X, V(G)\ X), d−(X):= d+(V(G)\ X), и
d(X):= d+(X)Ud−(X).
Степень вершины …(1)
• Для одноэлементных множеств вершин {v} будем писать
d(v):= d({v}), G(v):= G({v}), d+(v):=d+({v}), d−(v):= d−({v}).
• Степень вершины v есть |d(v)|, число ребер инцидентных v.
• Для орграфов |d−(v)| ― отрицательная степень,
|d+(v)| ― положительная степень, и |d(v)| = |d+(v)|+ |d−(v)|.
• Вершина с нулевой степенью называется изолированной.
• Граф все вершины которого имеют степень k называются kрегулярными.
Степень вершины …(2)
Лемма 2.1
Для орграфа G и двух множеств X,Y  V(G):
(a) |d+(X)|+|d+(Y)|=|d+(X∩Y)|+|d+(X⋃Y)|+
+(X,Y)|+|E +(Y,X)|;
(b) |d−(X)|+|d−(Y)|=|d−(X∩Y)|+|d−(X⋃Y)|+
+(X,Y)|+|E +(Y,X)|.
Для графа G и двух множеств X,Y  V(G):
(c) |d(X)|+|d(Y)|=|d(X∩Y)|+|d(X⋃Y)|+2|E (X,Y)|;
(d) |G(X) |+|G(Y)|≥|G(X∩Y)|+|G(X⋃Y)|.
|E
|E
Упражнение 2.1
• Доказать лемму 2.1
Функции
Функция f : 2U → R называется
• субмодулярной, если f(X∩Y)+f(X⋃Y) ≤ f(X) + f(Y)
для всех X,Y  U ;
• супермодулярной, если f(X∩Y) + f(X⋃Y) ≥ f(X) +
f(Y) для всех X,Y  U ;
• модулярной, если f(X∩Y) + f(X⋃Y) = f(X) + f(Y)
для всех X,Y  U.
Упражнение 2.2
• Привести примеры модулярных,
субмодулярных и супермодулярных
функций.
Графы (3)
• Полный граф ― простой граф, в котором
каждые две различные вершины смежны.
• Дополнением простого графа G называется
граф H такой что G+H ― полный граф.
• Паросочетанием в графе G называется
множество попарно несмежных ребер.
Вершинное покрытие, независимое
множество, клика,…(1)
• Вершинное покрытие в G ― множество SV(G) вершин,
таких что каждое ребро из G инцидентно по крайней мере
одной вершине в S.
• Реберное покрытие в G ― множество FE(G) ребер,
таких что каждая вершина G инцидентна по крайней мере
одному ребру в F.
• Независимое множество в G ― множество попарно
несмежных вершин.
• Граф без ребер называется пустым.
• Клика ― множество попарно смежных вершин.
Вершинное покрытие, независимое
множество, клика,…(2)
Предложение 2.2.
Пусть G ― граф и XV(G). Тогда
следующие утверждения эквивалентны:
(a) X ― вершинное покрытие G,
(b) V(G)\X ― независимое множество в G,
(c) V(G)\X ― клика в дополнении к G.
Минимальный элемент
Пусть F ― семейство графов.
• F называется минимальным элементом F , если
F F и F не содержит собственных подграфов F.
• F называется максимальным элементом F , если
F F и F не является собственным подграфом
никакого элемента из F .
Минимальный элемент и мощность
• Заметим, что минимальный элемент не
всегда имеет минимальную мощность.
v
u
w
{u, w} ― минимальное вершинное покрытие.
Маршрут
• Маршрутом W в G называется последовательность
v1,e1,v2 ,e2 ,…,vk ,ek , vk+1 , k ≥ 0,
и ei=(vi ,vi+1)E(G) (ei={vi ,vi+1}E(G)), i = 1,…,k .
• Если ei ≠ ej для всех 1≤ i < j ≤ k , W называется
обходом или цепью в G.
• W замкнут, если v1= vk+1 .
Цепь и цикл
• Путь ― граф P = ({v1,…,vk+1 },{e1,…,ek})
такой, что vi ≠ vj для 1≤ i < j ≤ k+1, и
последовательность v1,e1,v2 ,e2 ,…,vk ,ek ,vk+1
является обходом.
• Циклом называется граф ({v1,…,vk },
{e1,…,ek}) такой, что последовательность
v1,e1,v2 ,e2 ,…,vk ,ek ,v1 является замкнутым
обходом и vi ≠ vj for 1 ≤ i < j ≤ k +1.
• Длина пути и цикла ― число его ребер.
Гамильтонов цикл
• Остовный путь в G называется гамильтоновым
путем.
• Остовный цикл в G называется гамильтоновым
циклом.
• Граф, содержащий гамильтонов цикл называется
гамильтоновым графом.
Расстояние
Расстоянием (dist(v,w), distG(v,w) ) для двух
вершин v и w называется длина кратчайшего
v-w-пути в G.
Если такого пути нет, то есть w недостижима от v,
полагаем dist(v,w) = ∞.
В неориентированном случае dist(v,w) = dist(w,v)
для всех v, w V (G).
Связные графы
• Непустой граф G называется связным, если любые
две его вершины соединены путем в G.
• В противном случае граф называется несвязным.
• Максимальный связный подграф G называется его
связной компонентой.
• Вершина v такая что G – v имеет больше связных
компонент чем G называется разделяющей
(сочленяющей) вершиной.
• Ребро e называется мостом, если G – e имеет больше
связных компонент чем G.
Критерий связности
Предложение 2.3.
a) Граф G связный тогда и только тогда, когда
d(X) ≠ ø для всех ø ≠ X  V (G).
b) Пусть G ― орграф и r  V(G). Тогда существует
r-v-путь для каждой v V(G) тогда и только
тогда, когда d+(X) ≠ ø для всех X  V (G) с r  X.
Доказательство a)
If: Пусть существует X  V(G) с rX,
v V(G)\X и d(X) = ø.
 Не существует r-v-пути.
 G ― не связный.
Only if: G ― не связный
 Не существует r-v-пути.
 Пусть R множество вершин достижимых из r.
 r  R, v  R и d(R) = ø.
Дерево, лес, …
•
•
•
•
Граф без циклов называется лесом.
Связный лес называется деревом.
Вершина степени 1 называется листом.
Звезда ― дерево, в котором не более одной
вершины не являются листьями.
Упражнение 2.2
• Доказать, что если граф ―
лес с n вершинами, m ребрами
и p связными компонентами,
то n = m + p.
Характеризация деревьев
Теорема 2.4.
a)
b)
c)
d)
e)
f)
g)
Пусть G ― граф на n вершинах. Тогда следующие утверждения
эквивалентны:
G ― дерево (связный граф без циклов).
G имеет n-1 ребро и не имеет циклов.
G имеет n-1 ребро и связен.
G ― минимальный связный граф ( каждое ребро ― мост)
G ― минимальный граф с d(X) ≠ ø для всех ø ≠ X  V (G).
G ― максимальный граф без циклов (добавление любого ребра
образует цикл)
G содержит единственный путь между любой парой вершин.
Упражнение 2.3
Доказать
(a )  (g )  (e )  (d )  ( f )  (b )  (c )  (a )
в теореме 2.4.
Остовное дерево
• Остовный подграф, который является
деревом, называется остовным деревом.
• Теорема 2.4 влечет, что граф связный тогда
и только тогда, когда он содержит остовное
дерево.
Ориентированное дерево
• Орграф называется связным если его
соответствующий граф связный.
• Орграф называется ориентированным
лесом если его соответствующий граф ―
лес и каждая вершина v имеет не более
одного входящего ребра.
• Связный ориентированный лес называется
ориентированным деревом (ордерево).
Корень
• По Теореме 2.4 ориентированное дерево с n
вершинами имеет n –1 ребро.
• Следовательно оно имеет ровно одну
вершину r с d−(r)=ø.
• Эта вершина называется корень.
• Вершины v с d+(v)=ø называются листья.
Характеризация ориентированных
деревьев
Теорема 2.5.
Пусть G ― орграф на n вершинах. Тогда следующие
утверждения эквивалентны:
a) G ― ордерево с корнем в r .
b) G ― ориентированный лес с n –1 ребром и d−(r)=ø.
c) G имеет n – 1 ребро и каждая вершина достижима из r.
d) Каждая вершина достижима из r, но удаление любого
ребра нарушает это свойство.
e) G минимальный граф с d+(X) ≠ ø для всех X  V (G) с
r  X.
f)
d−(r)=ø и существует единственный r-v-путь для всех v
 V(G)\{r}.
Упражнение 2.4
Доказать
(a )  (b )  (c )  (d )  (e)  ( f )  (a )
в теореме 2.4.
Разрезы
• Множество ребер d(X) (ø ≠ X V(G)) называется разрезом
в графе G.
• Множество ребер d+(X) называется ориентированным
разрезом, если ø≠X V(G) и d–(X)=ø.
• Множество ребер F  E(G) разделяет две вершины s и t,
если t достижимо из s в G но не в (V(G), E(G)\F).
• В орграфе, множество ребер d+(X) с sX и t ∉ X называется
s-t- разрезом.
• s-t-разрез в графе ― разрез d(X) для некоторого X V(G) с
s  X и t ∉X.
• r-разрез в орграфе ― множество ребер d+(X) таких,
что X V(G) с rX.
Лемма Минти
Лемма 2.6. (Minty [1960])
Пусть G ― орграф и e  E(G). Предположим e
покрашена в черный цвет, а все другие дуги в красный,
черный или зеленый. Тогда выполнено ровно одно из
следующих утверждений:
a) Существует неориентированный цикл, содержащий e, и
только красные и черные ребра, так что все черные
ребра имеют одинаковую ориентацию.
b) Существует неориентированный разрез, содержащий e,
и только зеленые и черные ребра, так что все черные
ребра имеют одинаковую ориентацию.
Доказательство леммы Минти
• Пусть e= (x,y). Пометим вершины графа G с
помощью следующего алгоритма. Сначала
пометим вершину y. В случае, если v уже
помечена, а w нет, пометим w, если
существует черная дуга (v,w), красная дуга
(v,w) или красная дуга (w,v) . При этом
запишем, pred(w) = v.
Пример
y
x
x помечена
y
x
x не помечена
y
x
Либо цикл, либо разрез.
y
x
?
Сильно связные орграфы (1)
• Орграф называется сильно связным если
существует путь из s в t и путь из t в s для
всех s, t  V(G).
• Сильно связными компонентами орграфа
называются максимально сильно связные
подграфы.
Сильно связные орграфы (2)
Следствие 2.7.
В орграфе G, каждая дуга принадлежит
либо ориентированному циклу, либо
ориентированному разрезу и следующие
утверждения эквивалентны:
a) G ― сильно связный.
b) G не содержит ориентированного разреза.
c) G ― связный и каждая его дуга
принадлежит ориентированному циклу.
Доказательство
с)  a)
• Рассмотрим произвольную вершину rV(G) и
докажем, что из нее существуют r-v-путь в
каждую vV(G). Пусть это не так.
• Предложение 2.3 b)   X V(G) c rX и d+(X)=ø.
• Так как G связный, то d+(X) ⋃ d–(X) ≠ ø.
•  ed–(X).
• Но эта дуга не может принадлежать циклу, так как
нет дуг выходящих из X.
Ациклические орграфы
• Орграф называется ациклическим, если в
нем нет ориентированных циклов.
• Из Следствия 2.7. орграф ― ациклический
тогда и только тогда, когда каждая его дуга
принадлежит ориентированному разрезу.
• Орграф ― ациклический тогда и только
тогда, когда его сильно связные компоненты
одноточечные множества.
Топологический порядок
• Определение 2.8. Пусть G ― орграф.
Топологическим порядком G называется
порядок вершин V(G)={v1,…,vn } такой, что
для каждого ребра (vi ,vj)  E(G) имеем i < j.
• Предложение 2.9. Орграф имеет
топологический порядок тогда и только
тогда, когда он ― ациклический.
Скачать