Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Композиция графов




 

Пусть G1(X,E1) и G2(X,E2) — два графа с одним и тем же множеством вершин X. Композицией G1(G2) графов G1 и G2 называется граф с множеством вершин E, в котором существует дуга (xi,xj) тогда и только тогда, когда существует дуга (xi,xk), принадлежащая множеству E1, и дуга (xk,xj), принадлежащая множеству E2.

Рассмотрим выполнение операции композиции G1(G2) на графах, изображенных на рис.4.3. Для рассмотрения операции составим таблицу, в первом столбце которой указываются ребра (xi, xk), принадлежащие графу G1, во втором — ребра (xk, xj), принадлежащие графу G3, а в третьем — результирующее ребро (xi, xj) для графа G1(G2).

 

G1 G2 G1(G2)
(x1,x2) (x2,x1) (x2,x3) (x1,x1) (x1,x3)
(x1,x3) (x3,x3) (x1,x3)
(x2,x1) (x1,x1) (x1,x3) (x2,x1) (x2,x3)

 

Заметим, что дуга (x1,x3) результирующего графа в таблице встречается дважды. Однако, поскольку рассматриваются графы без параллельных ребер (дуг), то в множестве E результирующего графа дуга (x1,x3) учитывается только один раз, т.е. E = {(x1,x1), (x1,x3), (x2,x1), (x2,x3)}

На рис. 4.3 изображены графы G1 и G2 и их композиции G1(G2). На этом же рисунке изображен граф G2(G1). Рекомендуется самостоятельно построить граф G2(G1) и убедиться, что графы G1(G2) и G2(G1) не изоморфны.

 

 

Пусть А1 и A2 – матрицы смежности вершин графов G1(X,E1) и G(X,E2) соответственно. Рассмотрим матрицу A12 элементы aij которой вычисляется так:

n

aij = Úa1ikÙa2kj (4.1)

k=1

где a1ik и a2kj элементы матрицы смежности вершин первого и второго графов соответственно. Элемент aij равен 1, если в результирующем графе G1(G2) существует дуга, исходящая из вершины xi и заходящая xj, и нулю – в противном случае.

Пример 4.3. Выполнить операцию композиции для графов, пред­ставленных на рис. 4.3.

Составим матрицы смежности вершин графов:

 

      x1 x2 x3       x1 x2 x3
    x1           x1      
A1 = x2       A2 = x2      
    x3           x3      

 

Вычислив элементы матрицы согласно (4.1), получаем:

 

      x1 x2 x3       x1 x2 x3
    x1           x1      
A12 = x2       A21 = x2      
    x3           x3      

 

Нетрудно убедиться, что полученным матрицам смежности вершин соответствуют графы G1(G2) и G2(G1), представленные на рис. 4.3.

Декартово произведение графов. Пусть G1(X,E1) и G2(Y,E2) — два графа. Декартовым произведением G1(X,E1)´G2(Y,E2) графов G1(X,E1) и G2(X,E2) называется граф с множеством вершин X´Y, в котором дуга (ребро), идущая из вершины (xiyj) в (xkyl), существует тогда и только тогда когда существует дуга (xixk), принадлежащая множеству дуг E1 и j = l или когда существует дуга (yj,yl), принадлежащая множеству E2 и i = k.

Выполнение операции декартова произведения рассмотрим на примере графов, изображенных на рис. 4.4. Множество вершин Z результирующего графа определяется как декартово произведение множеств X´Y. Множество Z содержит следующие элементы: z1=(x1y1), z2=(x1y2), z3=(x1y3), z4=(x2y1), z5=(x2y2), z6=(x2y3).

 

Определим множество дуг результирующего графа. Для этого выделим группы вершин множества Z, компоненты которых совпадают. В рассматриваемом примере пять таких групп: две группы с совпадающими компонентами из множества X, и три группы, имеющие совпадающие компоненты из Y. Рассмотрим группу вершин результирующего графа, которые имеют общую компоненту x1: z1=(x1y1), z2=(x1y1), z3=(x1y3). Согласно определению операции декартова произведения графов, множество дуг между этими вершинами определяется связями между вершинами множества Y. Таким образом, дуга (y1,y1) в графе G2 определяет наличие дуги (z1,z1) в результирующем графе. Для удобства рассмотрения всех дуг результирующего графа составим таблицу, в первом столбце которой перечисляются вершины с совпадающими компонентами, во втором – дуги между несовпадающими компонентами, а в третьем и четвертом – дуги в результирующем графе.

№ п.п. Группы вершин с совпадаю­щими компонентами Дуги для несовпада­­ю­щих компонент Дуга (xiyj)®(xkyl) Дуга (za,zb)
  z1=(x1y1), z2=(x1y2), z3=(x1y3) (y1,y1) (y1,y2) (y2,y3) (y3,y1) (x1y1)®(x1y1) (x1y1)®(x1y2) (x1y2)®(x1y3) (x1y3)®(x1y1) (z1,z1) (z1,z2) (z2,z3) (z3,z1)
  z4=(x2y1), z5=(x2y2), z6=(x2y3) (y1,y1) (y1,y2) (y2,y3) (y3,y1) (x2y1)®(x2y1) (x2y1)®(x2y2) (x2y2)®(x2y3) (x2y3)®(x2y1) (z4,z4) (z4,z5) (z5,z6) (z6,z4)
  z1=(x1y1), z4=(x2y1) (x1,x2) (x2,x1) (x1y1)®(x2y1) (x2y1)®(x1y1) (z1,z4) (z4,z1)
  z2=(x1y2), z5=(x2y2) (x1,x2) (x2,x1) (x1y2)®(x2y2) (x1y2)®(x1y2) (z2,z5) (z5,z2)
  Z3=(x1y3), z6=(x2y3) (x1,x2) (x2,x1) (x1y3)®(x2y3) (x2y3)®(x1y3) (z3,z6) (z6,z3)

 

Граф G1´ G2 изображен на рис. 4.4.

Операция декартова произведения обладает следующими свойствами.

1. G1´G2 = G2´G1

2. G1´(G2´G3) = (G1´G2)´G3.

Операция декартова произведения графов может быть выполнена в матричной форме.

Пусть G1(X,E1) и G2(Y,E2) – два графа, имеющие nx и ny вершин соответственно. Результирующий граф G1´G2 имеет nx×ny вершин, а его матрица смежности вершин - квадратная матрица размером (nx×ny)´ (nx ×ny). Обозначим через aab = a(ij)(kl) элемент матрицы смежности вершин, указывающий на наличие дуги (ребра), соединяющей вершину za=(xiyj) c zb=(xkyl). Согласно определению операции этот элемент может быть вычислен при помощи матриц смежности вершин исходных графов следующим образом:

 

aab = a(ij)(kl) = Kik×a2,jl Ú Kjl×a1,ik, (4.2)

 

 

где a1,ik, a2,jl – элементы матрицы смежности вершин графов G1 и G2 соответственно;

Kik – символ Кронекера, равный 1, если i=k, и нулю, если i¹k.

Пример 4.4. Выполнить операцию декартова произведения на графах, приведенных на рис. 4.4.

Составим матрицы смежности вершин исходных графов.

 

      x1 x2       y1 y2 y3
    x1         y1      
A1 = x2     A2 = y2      
              y3      
                       

 

Для построения матрицы смежности результирующего графа воспользуемся соотношением (4.2). В этом соотношении первое слагаемое Kik×a2,jl указывает на наличие дуг для вершин, у которых совпадают компоненты из множества X. Для пояснения сказанного, рассмотрим вспомогательную матрицу Axy, в которой элементы, для которых Kik = 1, помечены символом X. Эти элементы принимают значения, равные значениям соответствующих элементов матрицы A2 смежности вершин графа G2, так, как это показано для матрицы A*.

 

      x1y1 x1y2 x1y3 x2y1 x2y2 x2y3
    x1y1 XÚY X X Y 0 0
    x1y2 X XÚY X 0 Y 0
Axy = X1y3 X X XÚY 0 0 Y
    X2y1 Y 0 0 XÚY X X
    X2y2 0 Y 0 X XÚY X
    X2y3 0 0 Y X X XÚY
      x1y1 x1y2 x1y3 x2y1 x2y2 x2y3
    x1y1 a1,11Ú a2,11 a2,12 a2,13 a1,12    
    x1y2 a2,21 a1,11Úa2,22 a2,11   a1,12  
A* = x1y3 a2,31 A2,32 a1,11Úa2,33 0 0 a1,12
    x2y1 a1,21 0 0 a1,22Úa2,11 a2,12 a2,13
    x2y2 0 a1,21 0 a2,21 a1,22Úa2,22 a2,23
    x2y3 0 0 a1,21 a2,31 a2,32 a1,22Ú a2,33

Второе слагаемое Kjl×a1,ik соотношения (4.2) указывает на наличие дуг для групп вершин, у которых совпадают компоненты из множества Y. В матрице Axy элементы, для которых Kjl = 1 помечены символом Y. Эти элементы принимают значения, равные значениям соответствующих элементов матрицы A1 смежности вершин графа G1, так, как это показано для матрицы A*.

Заметим, что в матрицах Axy и A* на главной диагонали располагаются элементы, равные логической сумме значений элементов матриц смежности вершин обоих графов. Это определяется тем, что на главной диагонали расположены элементы, для которых Kik = Kjl = 1.

Таким образом, матрица смежности вершин результирующего графа принимает вид:

      x1y1 x1y2 x1y3 x2y1 x2y2 x2y3
    x1y1            
    x1y2            
A = x1y3            
    x2y1            
    x2y2            
    x2y3            

 

Нетрудно убедиться, что полученной матрице смежности вершин соответствует граф G1´G2, представленный на рис. 4.4

Операция произведения графов. Пусть G1(X,E1) и G2(Y,E2) - два графа. Произведением G1×G2 графов G1 и G2 называется граф с множеством вершин X´Y, а дуга из вершины (xi,yj) в вершину (xk,yl) существует тогда и только тогда, когда существуют дуги (xi,xk) Î E1 и (yj,yl) Î E2.

Выполнение операции произведения рассмотрим на примере графов, изображенных на рис. 4.5. Множество вершин Z результирующего графа определяется как декартово произведение множеств X´Y. Множество Z содержит следующие элементы: z1=(x1y1), z2=(x1y2), z3=(x1y3), z4=(x2y1), z5=(x2y2), z6=(x2y3).

Определим множество дуг результирующего графа. Для удобства рассмотрения составим таблицу, в первом столбце которой указываются дуги графа G1, во втором – дуги графа G2, а в третьем и четвертом – дуги результирующего графа.

 

G1 G2 (x1,y1)®(x2,y1) (za, zb)
(x1,x2) (y1,y1) (y1,y2) (y2,y3) (y3,y2) (x1,y1)®(x2,y1) (x1,y1)®(x2,y2) (x1,y2)®(x2,y3) (x1,y3)®(x2,y2) (z1,z4) (z1,z5) (z2,z6) (z3,z5)
(x2,x1) (y1,y1) (y1,y2) (y2,y3) (y3,y2) (x2,y1)®(x1,y1) (x2,y1)®(x1,y2) (x2,y2)®(x1,y3) (x2,y3)®(x1,y2) (z4,z1) (z4,z2) (z5,z3) (z6,z2)

 

Результирующий граф G1×G2 изображен на рис.4.5.

 

Операция произведения обладает следующими свойствами.

1. G1×G2 = G2×G1.

2. G1×(G2×G3) = (G1×G2)×G3.

Рассмотрим выполнение операции произведения графов в матричной форме.

Пусть G1(X,E1) и G2(Y,E2) – два графа, имеющие nx и ny вершин соответственно. Результирующий граф G1×G2 имеет nx×ny вершин, а его матрица смежности вершин - квадратная матрица размером (nx×ny)´ (nx ×ny). Обозначим через aab = a(ij)(kl) элемент матрицы смежности вершин, указывающий на наличие дуги (ребра), соединяющей вершину za=(xiyj) c zb=(xkyl). Этот элемент может быть вычислен при помощи матриц смежности вершин исходных графов следующим образом:

 

aab = a(ij)(kl) = a1,ik Ù a2,jl, (4.3)

 

де a1,ik, a1,ik – элементы матрицы смежности вершин графов G1 и G2 соответственно.

Пример 4.5. Выполнить операцию произведения на графах, приведенных на рис. 4.5.

Составим матрицы смежности вершин исходных графов.

 

      x1 x2       y1 y2 y3
    x1         y1      
A1 = x2     A2 = y2      
              y3      
                       

 

Построим матрицу A смежности вершин результирующего графа, каждый элемент которой вычисляется согласно соотношению (4.3).

      x1y1 x1y2 x1y3 x2y1 x2y2 x2y3
    x1y1 a1,11Ù a2,11 a1,11Ùa2,12 a1,11Ù a2,13 a1,12Ùa2,11 a1,12Ù a2,12 a1,12Ù a2,13
    x1y2 a1,11Ù a2,21 a1,11Ù a2,22 a1,11Ù a2,23 a1,12Ù a2,21 a1,12Ù a2,22 a1,12Ù a2,23
A = x1y3 a1,11Ù a2,21 a1,11Ù a2,22 a1,11Ù a2,23 a1,12Ù a2,31 a1,12Ù a2,32 a1,12Ù a2,33
    x2y1 a1,21Ù a2,11 a1,21Ù a2,12 a1,21Ù a2,13 a1,22Ù a2,11 a1,22Ù a2,12 a1,22Ù a2,13
    x2y2 a1,21Ù a2,21 a1,21Ù a2,22 a1,21Ù a2,23 a1,12Ù a2,21 a1,12Ù a2,22 A1,12Ù a2,23
    x2y3 a1,21Ù a2,31 a1,21Ù a2,32 a1,21Ù a2,33 a1,22Ù a2,31 a1,12Ù a2,32 A1,12Ù a2,33

Для удобства рассмотрения разделим матрицу A на четыре квадратные подматрицы. Заметим, что каждая подматрица может быть получена путем логического элементов матрицы умножения A2 на один из элементов a1,ij матрицы A1. С учетом этого матрицу A можно представить так:

      x1y1 x1y2 x1y3 x2y1 x2y2 x2y3
    x1y1   a1,11ÙA2   a1,12ÙA2
    x1y2
A = x1y3
    x2y1   a1,21ÙA2   a1,22ÙA2
    x2y2
    x2y3

 

Таким образом, матрица смежности вершин графа G1×G2 имеет вид:

 

      x1y1 x1y2 x1y3 x2y1 x2y2 x2y3
    x1y1            
    x1y2            
A = x1y3            
    x2y1            
    x2y2            
    x2y3            

 

Нетрудно убедиться, что полученной матрице смежности вершин соответствует граф G1×G2, представленный на рис. 4.5.

 

 

5. СВЯЗНЫЕ ГРАФЫ. КОМПОНЕНТА СВЯЗНОСТИ

 

Расcмотрим неориентированный граф G(X,E,F). Конечная последовательность ребер М = {e1, e2,..., ek} графа называется цепью (маршрутом) длины k, если существует такая последовательность вершин (x0, x1,..., хk), что F{ei} = (xi-1, xi), где i = 1, 2,..., k. Вершины x0 и xk называются соответственно начальной и конечной вершинами маршрута, остальные вершины называются внутренними. Маршрут m длины k может записываться как в виде последовательности ребер m = {e1, e2,..., ek}, так и в виде последовательности вершин m = {x0, x1,..., xk}.

Цепь m = {e1, e2,..., ek}, в которой все ребра различны, называется простой. Цепь m = {x0, x1,..., xk}, в которой все вершины различны, называется элементарной.

Пусть m = {e1, e2,..., ek} — цепь в графе G; для некоторой последовательности номеров i1, i2,..., ir, (где r ³1, 1£ i1<i2<... <ik) последовательность ребер (ei1, ei2,...,eir) называется подцепью цепи m; при этом говорят, что цепь (ei1, ei2,...,eir) выделена из цепи m = {e1, e2,..., ek}.

Если цепь m имеет начальную вершину, но не имеет конечной, или имеет конечную вершину, но не имеет начальной, то она называется односторонне бесконечной. Если цепь не имеет ни начальной, ни конечной вершины, то она называется двусторонне бесконечной, замкнутой цепью, или циклом. Цепь называется нетривиальной, если она содержит хотя бы одно ребро (дугу); для обеспечения общности рассуждений вводится понятие нуль – цепи, не содержащей никаких ребер (дуг). Цикл называется простым, если все его ребра различны, и элементарным, если все вершины, через которые он проходит, различны.

Цепи m и m| считаются равными, если они имеют одинаковую длину и состоят из одних и тех же ребер. В противном случае цепи m и m| считаются различными.

Пример 5.1. В неориентированном графе G, приведенном на рис. 5.1 цепь m1 = {e1, e2, e4, e8, e10} длиной 5 может быть задана как последовательностью ребер, так и последовательностью вершин m1 ={x1, x2, x3, x4, x8, x6}. В этой цепи вершина x1 является начальной, а вершина x6 — конечной. Последовательность ребер (e2, e4, e8) — подцепь, выделенная из цепи m1. Цепь m2 = {e1, e2, e4, e7, e5, e4, e7,e3,...} является односторонне бесконечной.

Цепь m3 = {e4, e8, e10,e9, e6,e7} является простой цепью, а m4 = {e2, e4, e8, e10} — элементарной. Циклом является замкнутая цепь m5 ={e2, e5, e7, e8, e11, e3}, а последовательность m6 = {e2, e4, e8, e11, e3} образует элементарный цикл.

 

Теорема 5.1. Пусть G = (X,E) - неориентированный граф, A(G) – матрица смежности его вершин. Тогда элемент cij матрицы C = An(G) равен числу различных цепей длины n, соединяющих вершины xi и xj.

Доказательство. Если aik – число ребер, соединяющих вершины xi и xk, akj – число ребер, соединяющих вершины xk и xj, то произведение aik× akj есть число различных маршрутов длины 2, соединяющих вершины xi и xj и проходящих через вершину xk. Тогда

,

 

где p – число вершин графа G, есть число всех маршрутов длины 2, соединяющих вершины xi и xj. С другой стороны, сij есть элемент матрицы A2(G), поэтому для n = 2 теорема доказана.

Воспользуемся индукцией по n и предположим, что теорема верна для m=n-1. Так как An(G) = A(G)×An-1(G), то приведенные выше рассуждения доказывают справедливость теоремы для m = n. Тем самым теорема доказана.

Следствие 5.1. В неориентированном графе G маршрут длиной n существует тогда и только тогда, когда An(G) ¹ 0.

Следствие 5.2. Если An(G)=0 для некоторого n >0, то в неориен­ти­ро­ванном графе G нет циклов.

Пусть G(X,E) — неориентированный граф. Две вершины xi и xj называются связными, если существует маршрут m из вершины xi в вершину xj. Если маршрут m проходит через вершину xk более одного раза, то можно, очевидно, удалить его циклический участок, и при этом оставшиеся ребра образуют маршрут , связывающий xi и xj. Отсюда следует, что связные вершины связаны элементарной цепью. Граф называется связным, если любая пара вершин связана, т.е. любые две вершины соединены цепью.

Пусть y - произвольная вершина неориентированного графа G = (X,E). Обо­значим через Xy множество всех вершин графа G, которые можно сое­динить с y цепями (вершину y также включаем в множество Xy). Пусть Gy — подграф графа G, множеством вершин которого является множество Xy, а множество ребер образуют все те ребра из E, концы которых принадлежат Xy. Построенный таким образом подграф Gy называется компонентой связности или связной компонентой графа G.

 

Теорема 5.2. Компоненты связности неориентированного графа G обладают следующими свойствами.

1. Gy ¹ 0 для любого y Î X.

2. Если Gy ¹ Gz, то Gy Ç Gz = Æ.

3. .

Доказательство. Так как y Î Xy, то первое свойство выполняется. Вто­рое свойство докажем от противного. Если Gy Ç Gz ¹ Æ, то Xy Ç Xz ¹ Æ. Тогда существует вершина x Î Xy Ç Xz, которую можно соединить цепями как с y, так и с z. Отсюда следует, что вершины y и z можно соединить цепью, поэтому Xy = Xz. В результате получаем Gy = Gz, что и доказывает второе свойство.

Третье свойство следует из определения компоненты связности графа.

 

Следствие 5.3. Неориентированный граф связен тогда и только тогда, когда он состоит из одной компоненты связности.

 

Условия, эквивалентные связности графа, сформулированы в следую­щем утверждении.

Теорема 5.3. Неориентированный граф G = (X,E) связен тогда и только тогда, когда множество вершин X нельзя разбить на два непустых непересекающихся подмножества X1 и X2, которые не соединены ни одним ребром.

Доказательство. Необходимость указанного условия доказывается следующим образом. Если X1 и X2 — указанное в теореме разбиение, то любая цепь, соединяющая вершины x Î X1 и y Î X2, должна содержать хотя бы одно ребро, соединяющее множества X1 и X2. Поскольку таких ребер нет, то вершины x и y не могут быть соединены цепью. Это противоречит связности графа G, поэтому указанное разбиение не существует.

Доказательство достаточности следующее. Пусть G не связен, и пусть Gy – его компонента связности со множеством вершин Xy. Тогда X ¹ Xy, множество X2 = X\Xy не пусто, X2 Ç Xy = Æ. Ясно, что X2 и Xy не соединены ни одним ребром. Это противоречит условию теоремы, поэтому граф G связен. Теорема доказана.

 

Следствие 5.4. Неориентированный граф G связен тогда и только тогда, когда не существует такой нумерации вершин графа G, при которой его матрица смежности вершин имеет вид

 

где A1 и A2 - квадратные матрицы.

 

Теорема 5.4. Пусть G – обыкновенный неориентированный граф с n вершинами и k компонентами связности. Тогда максимальное число ребер в графе G равно

.

Доказательство. Граф G имеет максимальное число ребер, если каждая компонента связности Gi, i = 1, 2,..., k имеет максимальное число ребер. Компонента связности Gi, имеющая максимальное число ребер, является полным графом. Число ребер полного графа с ni вершинами равно 0,5×ni×(ni - 1). Таким образом, максимальное число ребер графа G, компоненты связности Gi которого имеют по ni вершин, равно

Полученное число зависит от того, как распределены вершины графа G по его компонентам связности. Предположим, что существует связные ком­поненты G1 и G2 графа G, имеющие более чем по одной вершине, т. е. n1 > 1 и n2 > 1. Пусть n1 £ n2. Рассмотрим граф , получаемый из графа G заменой компонент G1 и G2 на полные графы с (n1-1) и (n2+1) вершинами соответственно. Граф имеет n вершин и k компонент связности, а число его ребер равно

Тогда

 

поэтому q’ > q. Итак, граф имеет больше ребер, чем граф G. Если и далее перестраивать граф указанным образом, то в результате получим граф, состоящий из k-1 изолированной вершины и одной полной компоненты связности с n - k + 1 вершиной. Этот граф имеет максимальное число ребер, равное 0,5×(n - k)×(n - k + 1). Теорема доказана.

 

Следствие 5.5. Если обыкновенный неориентированный граф G с n вершинами имеет больше, чем 0,5×(n - 1)×(n - 2) ребер, то он связен.

Доказательство. Из теоремы 5.3 следует, что 0,5×(n - 1)×(n - 2) — максимальное число ребер в обыкновенном графе с n вершинами и двумя компонентами связности. Если же в графе больше, чем 0,5×(n - 1)×(n - 2) ребер, то число компонент в нем либо k= 1, либо k ³ 3. Случай k ³ 3 противоречит условию, поэтому k = 1 и граф G связен.

 

Ориентированный граф G(X,E) называется сильно связным, если для любых его вершин x и y, x ¹ y, существуют пути m и , идущие соответственно из x в y и из y в x.

 

Рассмотрим теперь ориентированные графы. Пусть G(X,E,F) – орграф. Конечная последовательность дуг e1, e2, …, en графа G называется путем длиной n, или ориентированным маршрутом длины n, если существует такая последовательность вершин x0, x1, …, xn, что F(ei) = (xi-1,xi), где i = 1,2,…,. Путь m записывается в виде m = { e1, e2, …, en} или в виде m = {x0, x1, …, xn }. В этом случае говорят, что путь состоит из дуг e1, e2, …, en, выходит из вершины x0 и заходит в вершину xn. Путь m называется простым, если все его дуги различны, и элементарным, если все его вершины различны.

Пути m и m’ считаются равными, если они имеют одинаковую длину и состоят из одних и тех же дуг. В противном случае пути m и m’ считаются различными.

Следующие утверждения доказываются точно так же, как это сделано для неориентированных графов в начале этого параграфа.

 

Теорема 5.5. Пусть G = (X,E) –орграф, A(G) – матрица смежности его вершин. Тогда элемент cij матрицы C = An(G) равен числу различных путей длиной n, выходящих из вершины xi и заходящих в вершину xj.

 

Следствие 5.6. В орграфе G путь длиной n существует тогда и только тогда, когда An(G) ¹ 0.

 

Следствие 5.7. Если An(G)=0 для некоторого n >0, то в орграфе G нет циклов.

 

Орграф G(X,E) называется сильно связным, если для любых его вершин x и y, x¹y, существуют пути m и m’, идущие соответственно из x в y и из y в x.

 

Теорема 5.6. Орграф G(X,E) сильно связен тогда и только тогда, когда он имеет контур, проходящий через все вершины.

Доказательство. Пусть x и y – две вершины графа G, причем x ¹ y. По условию теоремы существует путь m1, идущий из вершины x в вершину y.

Пусть X1 – множество вершин пути m1. Если X1 = X, то достаточно взять путь , идущий из x в y и получим контур m1 È m°, проходящий через все вершины графа. Если же X1 ¹ X, то X\X1 ¹ Æ. Тогда для вершины z Î X\X1 строим путь m, идущий из y в z, и получаем путь m2 = m1 Èm. Пусть X2 – множество вершин пути m2. Тогда X2 ¹ X1, X2 É X1. Если продолжить этот процесс, то через конечное число шагов будет построен путь, содержащий все вершины графа, и, следовательно, искомый контур существует.

Пример сильно связного графа приведен на рис. 5.2.

 

6. ДЕРЕВЬЯ И ИХ СВОЙСТВА

 

В этом параграфе рассматривается частный вид графов, широко используемых, например, в теории электрических цепей, химии, вычислительной технике и в информатике.

Определение 6.1. Деревом называется связный граф, не содержащий цик­лов. Любой (в том числе несвязный) граф без циклов называется ацик­ли­ческим. Несвязный граф, каждая компонента связности которого является деревом, называется лесом. Можно сказать, что деревья являются компонентами леса. На рис. 6.1 изображены два дерева G 1, G 2 и лес G 3.

Рис. 6.1

 

Сформулируем основные свойства деревьев. Сделаем это в виде сово­куп­нос­ти утверждений, которые эквивалентны между собой (т.е. из любого утверждения следует любое другое) [].

Теорема 6.1. Пусть G (X, E) – неориентированный граф с p вершинами и q ребрами. Тогда следующие утверждения эквивалентны.

1°. G есть дерево.

2°. Любые две различные вершины x и y графа G соединены единственной простой цепью.

3°. G – связный граф, утрачивающий это свойство при удалении любого из его ребер.

4°. G – связный граф и p = q + 1.

5°. G – ациклический граф и p = q + 1.

6°. G – ациклический граф, причем если любые две его вершины x и y соединить ребром e, то в полученном графе будет ровно один простой цикл.

Для доказательства теоремы достаточно доказать следующую цепочку следствий: 1° Þ 2° Þ 3° Þ 4° Þ 5° Þ 6° Þ 1°, так как это означает, что из любого утверждения 1° – 6° выво­ди­тся любое другое.

 

1°Þ2°. Так как граф связен, то любые две его вершины можно сое­ди­нить простой цепью. Пусть m1 и m2 - две различные простые цепи, соединяю­щие вершины x и y. Если цепи m1 и m2 не имеют общих вершин, за исклю­чением вершин x и y, то есть простой цикл. Предположим, что цепи m1 и m2 имеют общие вершины, отличные от x и y. Пусть z – первая из таких вершин при движении от вершины x к вершине y и пусть m1(x, z) и m2(x, z) – части цепей m1 и m2, взятые от вершины x до вершины z. Тогда - простой цикл. Это противоречит тому, что граф ацикличен, и поэтому m1=m2, т.е. утверждение 2° доказано.

 

2°Þ3°. Граф G – связен, поскольку любые две его различные вершины x и y соединены простой цепью. Возьмем некоторое ребро графа e = (x, y). Согласно 2° простая цепь m={ e } между вершинами x и y единственна. Если ребро e удалить, то вершины x и y будет невозможно соединить простой цепью, и полученный граф будет несвязным. Утверждение 3° доказано.

 

3°Þ4°. По условию 3° граф связен. Соотношение p = q + 1 докажем по индукции. Если граф имеет две вершины и удовлетворяет 3°, то он выглядит так:

В этом случае p = 2, q = 1 и соотношение p = q + 1 выполняется. Предполо­жим теперь, что соотношение верно для всех графов, удовлетворяющих 3° и имеющих меньше, чем p вершин, и докажем его для графа G с p вершинами. Удалим из графа G произвольное ребро e. Тогда новый граф G ´ будет несвязным и будет состоять из двух связных компонент G 1 и G 2. По предположению индукции имеем

p 1 = q 1 + 1, p 2 = q 2 + 1,

где pi – число вершин компоненты Gi, qi – число ее ребер. Следовательно,

p = p 1 + p 2, q = q 1 + q 2 + 1,

поэтому p = q 1 + q 2 + 2 = q + 1, и свойство 4° доказано.

4°Þ5°. Предположим, что граф G, удовлетворяющий 4°, имеет простой цикл m длиной l ³ 1. Этот цикл содержит l вершин и l ребер. Для любой из p - l вер­шин, не принадлежащих циклу m, существует инцидентное ей ребро, ле­жа­щее на кратчайшей цепи (т.е. цепи минимальной длины), идущей от данной вершины к некоторой вершине цикла m. Все такие ребра попарно различны. Если вершины x 1 и x 2 инцидентны одному такому ребру e, то e = (x 1, x 2), и кратчайшая цепь m1 для вершины x 1 проходит через вершину x 2, а кратчайшая цепь m2 для вершины x 2 проходит через вершину x 1 (рис. 6.2). Это противоречит тому, что цепи m1 и m2 – кратчайшие. Общее число ребер q в графе G в этом случае не меньше, чем l + pl = p, т.е. q ³ p, что противоречит соотношению p = q + 1. Отсюда следует, что G – ациклический граф, и утверждение 5° доказано.

 

Рис. 6.2

5°Þ6°. Так как G – ациклический граф, то каждая его компонента связности Gi (i = 1, 2, …, k) является деревом. Для каждой компоненты Gi имеем в соответствии с 5° pi = qi + 1, откуда , т.е. p = q + k. С другой стороны, p = q + 1, поэтому k = 1, т.е. граф G связен. Таким образом, G – дерево. Тогда (см. 2°) любые две различные вершины x и y графа G соединены единственной простой цепью. Если добавить ребро между несмежными вершинами x и y, то оно образует с указанной цепью единственный простой цикл. Утверждение 6° доказано.

 

6°Þ1°. По условию 6° G – ациклический граф. Если граф G не является связным, то возьмем вершины x и y из различных компонент связности графа G и соединим их ребром e. Построенный граф является, как и граф G, ациклическим. Это противоречит свойству G, поэтому G – связный граф, и свойство 1° доказано. Таким образом, доказана и теорема 6.1.

 

Определение, аналогичное дереву, можно ввести и для орграфа.

Определение 6.2. Орграф G (X, E) называется прадеревом или ориентированным деревом, растущим из корня x 0, при следующих условиях:

1°. Неориентированный граф G', соответствующий графу G, является деревом.

2°. Единственная простая цепь между x 0 и любой другой вершиной x графа G' является путем в орграфе G, идущим из вершины x 0 в вершину x.

На рис. 6.3 изображено ориентированное дерево.

Рис. 6.3

В неориентированном графе G (X, E) вершина x называется концевой или висячей, если d(x) = 1, т.е. если этой вершине инцидентно единственное ребро e. Это ребро также называется концевым или висячим. С висячими вершинами связана следующая теорема.

 

Теорема 6.2. В любом дереве G (X, E) с p ³ 2 вершинами имеется не менее двух концевых вершин.

Доказательство. Пусть q – число ребер дерева G. В силу теоремы 6.1 p = q + 1. Кроме того, из теоремы 1.1 имеем

.

Таким образом, получаем

. (6.1)

Предположим, что x 0 – единственная концевая вершина в дереве G. Тогда d(x 0) = 1, d(x) ³ 2, если x ¹ x 0. Отсюда

. (6.2)

Неравенство (6.2) противоречит (6.1), поэтому либо концевых вершин нет, либо их по крайней мере две. Если концевых вершин в G нет, то d(x) ³ 2 для всех x Î X. Тогда

. (6.3)

Неравенство (6.3) тоже противоречит (6.1). Отсюда следует, что концевых вершин в G две или больше. Теорема доказана.

 

Важным является вопрос о том, сколько существует деревьев с заданным числом вершин. Для деревьев с помеченными вершинами (например пронумерованными) или для помеченных деревьев ответ на этот вопрос дает следующая теорема.

Теорема 6.3. (А. Кэли, 1897 г.). Число помеченных деревьев с p вершинами равно pp -2.

Доказательство. Пусть G (X, E) – дерево с p помеченными вершинами. Для простоты предположим, что вершины пронумерованы в произвольном порядке числами 1, 2, …, p. Рассмотрим способ, позволяющий однозначно закодировать дерево G.

В соответствии с теоремой 6.2 дерево G имеет концевые вершины. Пусть x 1 – первая концевая вершина в последовательности 1, 2, …, p и пусть e 1 = (x 1, y 1) – соответствующее концевое ребро. Удалим из дерева вершину x 1 и ребро e 1. Получим новое дерево G 1 с числом вершин p - 1. Найдем теперь пер­­вую концевую вершину x 2 дерева G 1 в последовательности вершин 1, 2, … …, p из множества {1, 2, …, p }\{ x 1}, далее возьмем концевое ребро e 2 = (x 2, y 2) и удалим из G 1 x 2 и e 2. Эту процедуру последовательно повторяем. Через (p - 2) шага остается дерево из двух вершин xp -1, yp -1 и одного ребра ep -1 = (xp -1, yp -1). Рассмотрим последовательность вершин

s(G) = { y 1, y 2, …, yp -2}.

Очевидно, что по данному дереву последовательность строится однозначно. Покажем теперь, что по данной последовательности вершин s (G) дерево G можно восстановить однозначно. В последовательности 1, 2, …, p существуют вершины, не принадлежащие s (G). Выберем первую из них x 1 и построим ребро e 1 = (x 1, y 1). Затем удалим x 1 из последовательности 1, 2, …, n и y 1 удалим из s(G). Аналогичным образом построим ребро e 2 = (x 2, y 2). Продолжая этот процесс, мы однозначно восстановим дерево G. Рассмотрим пример.

 

Построение кода Восстановление
s(G) s(G) и список вершин
(6,5,5,6) 2,3,4,5,6,7
(2,6)

(5,5,6) 3,4,5,6,7
(2,6,5)

(5,6) 4,5,6,7
(2,6,5,5)

(6) 5,6,7
(2,6,5,5,6)

 

Рассмотренный пример позволяет отметить следующие две особеннос­ти:

1° В списке s(G) вершины могут повторяться.

2°. При восстановлении дерева последнее ребро соединяет вершину yp -2 и оставшуюся в списке 1, 2, …, p вершину не равную yp -2.

Итак, существует взаимно однозначное соответствие между множеством помеченных деревьев с p вершинами и множеством последовательностей вершин s(G). Число таких последовательностей равно, очевидно, pp -2, что и требовалось доказать.

Отметим, что среди pp -2 помеченных деревьев с p вершинами могут быть и изоморфные.

 

Определение 6.3. Подграф G 1(X 1, E 1) неориентированного графа G (X, E) называется каркасом, или остовным деревом графа G, если G 1 – дерево и X = X 1.

 

Теорема 6.4. Граф G (X, E) тогда и только тогда обладает каркасом, когда он связен.

Доказательство. Необходимость этого очевидна. Докажем достаточность. Пусть G (X, E) – связный граф. Выясним, есть ли в графе G такое ребро, удаление которого не нарушает связности графа G. Если таких ребер нет, то граф есть дерево в соответствии с теоремой 1. Если же такое ребро, например e, существует, то выбросим его и придем к графу G 1(X, E \{ e }). Затем указанную процедуру проделываем с графом G 1 и т.д. Через конечное число шагов будет построен, очевидно, каркас графа G. Теорема доказана.

Доказательство теоремы дает алгоритм построения некоторого каркаса в связном графе. Однако связный граф может иметь несколько каркасов, поэтому естественно поставить задачу выбора каркаса, удовлетворяющего дополнительным условиям.

 

Определение 6.4. Графом с нагруженными ребрами (нагруженным графом) называется неориентированный граф G (X, E), каждому ребру e Î E которого поставлено в соответствие число m(e) ³ 0, называемое весом или длиной ребра e.

Аналогично можно определить нагруженный орграф.

Поставим задачу нахождения такого каркаса G 1(X, E 1) в нагруженном графе G (X, E), для которого сумма

минимальна. Каркас с таким свойством называется минимальным каркасом. В соответствии с теоремой 4 каждый нагруженный связный граф обладает минимальным каркасом. Эта задача возникает при проектировании линий связи и электропередач, дорог, трубопроводов и т.п., когда требуется соединить системой каналов связи заданные узлы так, чтобы любые два узла были связаны (возможно, через другие узлы), а общая длина каналов связи была минимальной; при этом узлы можно считать вершинами нагруженного графа, весам ребер которого соответствует длина возможного канала связи между соответствующими узлами. Тогда искомая сеть каналов будет минимальным каркасом этого графа.

 




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 11582; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.