Здавалка
Главная | Обратная связь

Маршрут, ланцюг, цикл у неорієнтованому графі



Маршрутом у графі G=(V,E) між вершинами u та v графу G називається послідовність вершин даного графу виду u1,…,un, де u1=u, un=v, (ui,ui+1E, 1£i£n-1, nÎN+ (тобто кожні дві сусідні вершини послідовності суміжні). Маршрутом у графі G=(V,E) називається послідовність вершин даного графу виду u1,…,un, де (ui,ui+1E, 1£i£n-1, nÎN+. Вершину маршруту, що не є першою чи останньою, назвемо внутрішньою вершиною. Якщо між вершинами u та v графу G існує маршрут u1,…,un, будемо говорити, що вершини u та v з’єднані (сполучені) маршрутом, або маршрут u1,…,un з’єднує вершини u та v, або вершина v досяжна з вершини u.

Маршрут u1,…,un у графі G називається циклічним (або замкнутим), якщо u1=un.

Довжиною маршруту u1,…,un у графі G будемо називати число n-1, тобто число, що на одиницю менше кількості елементів у послідовності u1,…,un. Маршрут, що складається з однієї вершини, називається тривіальним. Довжина тривіального маршруту дорівнює нулю.

Нехай, наприклад, задано граф G=({1,2,3,4,5},{(1,2),(2,3),(3,4),(4,5), (5,2),(5,3)}). Розглянемо таку послідовність вершин цього графу: 2,3,5,2,3. Перевіримо, чи суміжні кожні дві сусідні вершини цієї послідовності. Маємо: (2,3) – ребро графу G; (3,5), (5,2), (2,3) – також ребра графу G. Таким чином, послідовність вершин 2,3,5,2,3 є маршрутом між вершинами 2 та 3 у графі G. Довжина цього маршруту дорівнює чотирьом. Послідовність вершин графу G виду 2,5,4,3 також є маршрутом між вершинами 2 та 3 в G. Розглянемо іншу послідовність вершин даного графу: 1,3,5,4,2. Вона не є маршрутом у графі G, оскільки не кожні дві сусідні вершини цієї послідовності суміжні. Дійсно, вершини 1 та 3 – сусідні у даній послідовності, але вони не суміжні, оскільки у графі G немає ребра (1,3). Прикладом тривіального маршруту у графі G є послідовність 4. Приклади циклічних маршрутів у графі G: 1,2,3,2,1, а також 2,5,4,3,2.

Як видно з наведених прикладів, дві вершини графу можуть сполучатися кількома різними маршрутами. Зокрема, вершини 2 та 3 з’єднані маршрутом 2,3,5,2,3 та маршрутом 2,5,4,3.

Нехай G=(V,E) – граф. За кожним нетривіальним маршрутом виду u1,u2,u3…,un-2,un-1,un у графі G визначається послідовність ребер виду (u1,u2),(u2,u3),…,(un-2,un-1),(un-1,un), у якій кожні два сусідні ребра суміжні. Наприклад, за маршрутом a,b,c,d у графі ({a,b,c,d},{(a,b),(a,d),(b,b),(b,c), (c,d)}) визначається послідовність суміжних ребер виду (a,b),(b,c),(c,d).

Маршрут u1,…,un між вершинами u та v графу G називається ланцюгом між u та v, якщо у послідовності ребер, що визначається даним маршрутом, усі ребра попарно різні. Маршрут u1,…,un у графі G називається ланцюгом, якщо у послідовності ребер, що визначається даним маршрутом, усі ребра попарно різні. Ланцюг u1,…,un називається циклом, якщо u1=un й n>1. Ланцюг u1,…,un між вершинами u та v графу G називається простим, якщо усі його вершини, крім, можливо, першої та останньої, попарно різні. Ланцюг u1,…,un у графі G називається простим, якщо усі його вершини, крім, можливо, першої та останньої, попарно різні. Простий ланцюг u1,…,un називається простим циклом, якщо u1=un й n>1. Граф без циклів назвемо ациклічним.

Наприклад, у графі G=({1,2,3,4,5},{(1,2),(2,3),(3,4),(4,5),(5,2),(5,3)}) маршрут 2,3,4,5,3 є ланцюгом між вершинами 2 та 3. Для перевірки побудуємо послідовність ребер, що визначається цим маршрутом. Маємо: (2,3), (3,4), (4,5), (5,3). Бачимо, що у цій послідовності усі ребра попарно різні. Даний ланцюг не є циклом, оскільки перша та остання вершини у ньому різні. Не є він також й простим ланцюгом (отже, не є простим циклом), адже вершина 3 входить у нього як внутрішня та як остання вершина. Розглянемо інший маршрут між вершинами 2 та 3 у графі G, а саме 2,5,4,3. Він є простим ланцюгом, оскільки, по-перше, у послідовності ребер (2,5), (5,4), (4,3), що визначається цим маршрутом, усі ребра попарно різні (тобто даний маршрут є ланцюгом), а, по-друге, вершини не повторюються. Маршрут 3,5,4,3 у графі G є циклом, а також простим циклом. Перевіримо це. Спочатку покажемо, що даний маршрут є циклом. Побудуємо послідовність ребер, що визначається цим маршрутом: (3,5),(5,4),(4,3). Бачимо, що усі ребра у послідовності попарно різні. Отже, даний маршрут є ланцюгом. Оскільки перша та остання вершини цього ланцюга однакові, він є циклом. Усі вершини цього циклу, крім першої та останньої, як бачимо, попарно різні. Таким чином, даний цикл є простим. Оскільки граф G має цикл, то він не є ациклічним. Прикладом ациклічного графу є граф ({1,2,3},{(3,1),(2,1)}).

Сформулюємо кілька тверджень, що безпосередньо випливають з наведених вище означень.

Твердження 1. Якщо у графі G існує маршрут між вершинами u та v, то у G існує маршрут між вершинами v та u.

Доведення. Нехай u1,…,un – деякий маршрут між вершинами u та v у графі G. Розглянемо послідовність виду un,…,u1, що утворюється, якщо записати вершини даного маршруту у зворотному порядку. Кожні дві сусідні вершини у цій послідовності суміжні, оскільки ті вершини, що були сусідніми у початковій послідовності (а, отже, й суміжними), залишаються сусідніми й у новій послідовності. Оскільки u1=u, а un=v, то нова послідовність un,…,u1 – маршрут між вершинами v та u у графі G. Твердження доведено.

Твердження 2. Нехай у графі G існує маршрут між вершинами u та v. Тоді у G існує простий ланцюг між вершинами u та v.

Доведення. Нехай u1,…,un – деякий маршрут між вершинами u та v у графі G. Можливі два випадки: 1) даний маршрут є простим ланцюгом, 2) даний маршрут не є простим ланцюгом. У першому випадку сформульоване твердження правильне. Розглянемо другий випадок. Якщо цей маршрут не є простим ланцюгом, то існує принаймні одна вершина (назвемо її w), яка входить у послідовність u1,…,un хоча б двічі, причому не лише як перша та остання. Тоді знайдуться такі числа i та j (1£i£n, 1£j£n), що ui =w, uj=w, причому принаймні одне з цих чисел більше 1 та менше n, й, крім того, між ui та uj немає входжень вершини w. Можливі такі три випадки: а) i=1, 1<j<n, б) 1<i<n, 1<j<n, в) 1<i<n, j=n. У випадку а) маємо: w=uj=u1=u, отже, якщо з послідовності u1,…,un вилучити підпослідовність u1,…,uj-1, то послідовність, що залишиться (тобто uj,…,un), буде маршрутом між вершинами u та v, але матиме менше входжень вершини w. У випадку б) маємо: вершини w та ui+1 суміжні (адже w=ui) й вершини w та uj+1 також суміжні (адже w=uj), отже, якщо з послідовності u1,…,un вилучити підпослідовність ui+1,…,uj, то послідовність, що залишиться (тобто u1,…,ui,uj+1…,un), буде маршрутом між вершинами u та v, але матиме менше входжень вершини w. У випадку в) маємо: w=ui=un=v, отже, якщо з послідовності u1,…,un вилучити підпослідовність ui+1,…,un, то послідовність, що залишиться (тобто u1,…,ui), буде маршрутом між вершинами u та v (адже w=ui=un=v), але матиме менше входжень вершини w. Оскільки початкова послідовність u1,…,un скінченна, то виконавши описані вище перетворення скінченну кількість разів, матимемо маршрут між вершинами u та v, у якому усі вершини, крім, можливо, першої та останньої, попарно різні, тобто простий ланцюг між вершинами u та v. Твердження доведено.

Твердження 3. Нехай у графі G існує цикл. Тоді у G існує простий цикл.

Доведення. Нехай u1,…,un – деякий цикл у графі G. Можливі два ви-падки: 1) даний цикл простий, 2) даний цикл не є простим. У першому ви-падку сформульоване твердження правильне. Розглянемо другий випадок. Якщо даний цикл не простий, то послідовність ребер (u1,u2),…,(un-1,un), що визначається послідовністю u1,…,un, містить принаймні два однакові ребра, скажімо (ui,ui+1) та (uj,uj+1), i<j. Оскільки ребро неорієнтованого графу – це неупорядкована пара вершин, то з рівності ребер (ui,ui+1)=(uj,uj+1) випливають рівності ui=uj, ui+1=uj+1 або рівності ui=uj+1, ui+1=uj. Нехай ui=uj, ui+1=uj+1. Тоді вершини ui та uj+1 суміжні. Вилучивши з послідовності u1,…,un підпослідовність ui+1,…,uj, маємо послідовність u1,…ui,uj+1,…,un, яка є циклом у графі G (адже вершини ui,uj+1 суміжні), але такий цикл має менше пар однакових ребер, ніж початковий цикл. Нехай тепер ui=uj+1, ui+1=uj. Вилучимо з послідовності u1,…,un підпослідовність ui+1,…,uj+1; маємо послідовність u1,…ui,uj+2,…,un, яка є циклом у графі G. У даному випадку також зменшується кількість попарно однакових ребер порівняно з початковим циклом. Отже, виконавши описані перетворення скінченну кількість разів, матимемо цикл у графі G, що не містить попарно однакових ребер, тобто простий цикл. Твердження доведено.

Зауважимо, що коли між вершинами u та v у деякому графі існує нетривіальний маршрут, то множина маршрутів між цими вершинами нескінченна, але множина маршрутів певної заданої наперед довжини між даними двома вершинами графу скінченна. Для обчислення кількості маршрутів заданої довжини k між вершинами графу скінченного порядку використовується матриця, що є результатом піднесення матриці суміжності цього графу до k-го степеня.

Теорема 1. Нехай G=(V,E) – граф порядку n, V={v1,…,vn}, AG – матриця суміжності графу G, vi,vj – вершини G. Тоді кількість маршрутів довжини k між вершинами vi та vj у графі G дорівнює числу, що знаходиться на перетині i-го рядка та j-го стовпчика k-го степеня матриці AG.

Доведення здійснюється індукцією за числом k (kÎN+).

Позначимо k-й степінь матриці AG через AGk, а число, що знаходиться на перетині i-го рядка та j-го стовпчика матриці AGk – через aij(k). Розглянемо випадок k=1. Треба перевірити, чи дорівнює число aij(1) кількості маршрутів довжини 1 між i-ю та j-ю вершинами у графі G. Зауважимо, що AG1=AG, отже, aij(1)=aij. За означенням матриці суміжності, aij=1, якщо i-а й j-а вершини графу G суміжні, а aij=0, якщо ці вершини не суміжні. Але суміжність i-ї та j-ї вершин означає, що між ними існує маршрут довжини 1 у графі G, а несуміжність цих вершин означає, що маршруту довжини 1 між ними немає. Таким чином, для k=1 твердження теореми правильне.

Припустимо тепер, що твердження теореми правильне для довільного цілого додатного числа m, й покажемо, що тоді це твердження правильне й для числа m+1, тобто покажемо, що кількість маршрутів довжини m+1 між вершинами vi та vj у графі G дорівнює числу, що знаходиться на перетині i-го рядка та j-го стовпчика (m+1)-го степеня матриці AG. За правилом обчислення матриці AGm+1 маємо: AGm+1=AGm´AG. Тоді aij(m+1)= air(m)´arj(1). Розглянемо окремий доданок цієї суми, тобто число air(m) ´ arj(1). За припущенням індукції air(m) є кількістю маршрутів довжини m між i-ю та r-ю вершинами у графі G. Оскільки arj(1)=arj, то arj(1) приймає значення 1 або 0. Якщо arj(1)=1, то це означає, що вершини r-а й j-а суміжні, й тоді кожен маршрут довжини m між i-ю та r-ю вершинами у графі G можна продовжити до такого маршруту довжини m+1 між i-ю та j-ю вершинами у графі G, що r-а вершина є у цьому маршруті перед-останньою. Кількість таких маршрутів дорівнює air(m)´arj(1)=air(m)´1=air(m). Якщо arj(1)=0, то вершини r-а й j-а несуміжні, а це означає, що жоден маршрут між i-ю та r-ю вершинами у графі G не можна продовжити до такого маршруту довжини m+1 між i-ю та j-ю вершинами у графі G, що r-а вершина є у цьому маршруті передостанньою, а air(m)´arj(1)=air(m)´0=0. Кількість маршрутів довжини m+1 між i-ю та j-ю вершинами у графі G матимемо, якщо знатимемо для кожного числа r (1£r£n) кількість таких маршрутів довжини m+1 між i-ю та j-ю вершинами у графі G, що r-а вершина є у кожному з цих маршрутів передостанньою, а потім обчислимо air(m) ´ arj(1), тобто aij(m+1). Отже, число aij(m+1) є кількістю маршрутів довжини m+1 між i-ю та j-ю вершинами у графі G. Теорему доведено.

Розглянемо приклад. Знайдемо кількість маршрутів довжини три у графі G=({a,b,c,d},{(a,b),(a,c),(b,b),(b,c),(b,d),(c,d)}) між вершинами b та c. Граф G має порядок 4, отже, ми можемо занумерувати його вершини чис-лами 1, 2, 3, 4 й позначити їх таким чином: v1=a, v2=b, v3=с, v4=d. З урахуванням уведених позначень початкову задачу можна сформулювати так: знайти кількість маршрутів довжини три у графі G між 2-ю та 3-ю вер-шинами. За теоремою 1, шукана кількість маршрутів – це елемент а23(3) матриці АG3G – матриця суміжності графу G). Маємо: а23(3)=(а21(2)´а13(1))+ +(а22(2)´а23(1))+(а23(2)´а33(1))+(а24(2)´а43(1))=(а21(2)´а13)+(а22(2)´а23)+(а23(2)´а33)+ +(а24(2)´а43). (Нагадаємо, що aij – елемент матриці АG й aij(1)=aij, i,jÎ{1,2,3,4}). Знайдемо елементи а13, а23, а33, а43 матриці АG. Маємо: а13=1, оскільки вершини v1 та v3 суміжні (дійсно, v1=a, v3=c, а у графі є ребро (a,c)), a23=1, оскільки суміжні вершини v2 та v3, тобто вершини b та c (бачимо, що у графі G є ребро (b,c)), а33=0, адже v3=с, а граф G не має петлі (с,с), а43=1, оскільки вершини d та c суміжні (v4=d, v3=c, граф G має ребро (c,d)). Таким чином, а23(3)=(а21(2)´1)+(а22(2)´1)+(а23(2)´0)+(а24(2)´1)= =а21(2)+а22(2)+а24(2). Нам залишилося знайти а21(2), а22(2), а24(2). Маємо:

а21(2)=(а21(1)´а11(1))+(а22(1)´а21(1))+(а23(1)´а31(1))+(а24(1)´а41(1))=а21´а11 + а22´а21 + + а23´а31 + а24´а41 = 1´0 + 1´1 + 1´1 + 1´0 = 2;

а22(2)=(а21(1)´а12(1))+(а22(1)´а22(1))+(а23(1)´а32(1))+(а24(1)´а42(1))=а21´а12 + а22´а22 + + а23´а32 + а24´а42 = 1´1 + 1´1 + 1´1 + 1´1 = 4;

а24(2)=(а21(1)´а14(1))+(а22(1)´а24(1))+(а23(1)´а34(1))+(а24(1)´а44(1))=а21´а14 + а22´а24 + + а23´а34 + а24´а44 =1´0 + 1´1 + 1´1 + 1´0 = 2.

Таким чином, а23(3)=2+4+2=8. Отже, існує 8 маршрутів довжини три у графі G між вершинами b та c.

 

Зв’язність графу

Граф G=(V,E) називається зв’язним, якщо для будь-якої пари вершин u та v графу G існує маршрут між u та v у графі G.

Зауваження. З даного означення випливає, що для перевірки зв’язності графу достатньо переконатися у тому, що для будь-яких різних вершин u та v у цьому графі існує маршрут між u та v (адже для будь-якої пари однакових вершин маршрут завжди існує: це тривіальний маршрут). До того ж, коли знайдено маршрут між вершинами u та v у графі G, то, як випливає з твердження 1, існує й маршрут між вершинами v та u у цьому графі.

Розглянемо приклади. Нехай задано граф G0=({1,2,3,4},{(1,2),(2,3), (2,4)}). Перевіримо, чи є він зв’язним. Згідно із наведеним вище зауваженням потрібно розглянути такі пари вершин графу G0: 1 й 2, 1 й 3, 1 й 4, 2 й 3, 2 й 4, 3 й 4 – та перевірити, чи сполучені якимось маршрутом у графі G0 вершини кожної пари. Між вершинами 1 та 2 існує маршрут 1,2 (граф G0 має ребро (1,2)), між вершинами 1 та 3 існує маршрут 1,2,3 (граф G0 має ребра (1,2) та (2,3)), між вершинами 1 та 4 є маршрут 1,2,4 (граф G0 має ребра (1,2) та (2,4)) між вершинами 2 та 3 існує маршрут 2,3 (граф G0 має ребро (2,3)) між вершинами 2 та 4 існує маршрут 2,4 (граф G0 має ребро (2,4)), між вершинами 3 та 4 існує маршрут 3,2,4 (граф G0 має ребра (2,3) та (2,4)). Таким чином, граф G0 зв’язний.

Граф G1=({1,2,3,4},{(1,2),(1,3)}) не є зв’язним, адже не для кожної пари його вершин існує маршрут, що сполучає ці вершини. Зокрема, не існує маршруту між вершинами 1 й 4, оскільки вершина 4 ізольована (адже її степінь дорівнює нулю), тому не існує жодного нетривіального маршруту у графі G1, що містить вершину 4, а, значить, й маршруту між вершинами 1 та 4.

Граф G2=({1,2,3,4},{(1,2),(4,3)}) також незв’язний, оскільки у ньому немає маршруту між вершинами 2 та 3. З твердження 2 випливає, що якщо у графі немає простого ланцюга між вершинами u та v цього графу, то між u та v не існує й маршруту. Покажемо, що у G2 немає простого ланцюга між вершинами 2 та 3. Для цього досить побудувати усі прості ланцюги у графі G2, що починаються вершиною 2, й переконатися у тому, що серед них немає простого ланцюга, що завершується вершиною 3. Побудову будемо виконувати таким чином. Спочатку візьмемо простий ланцюг, що починається вершиною 2 й має найменшу можливу довжину. Це є ланцюг виду 2 (він має довжину 0). Потім розглянемо усі можливості продовжити цей ланцюг до простого ланцюга довжини 1. Це можна зробити, знайшовши усі вершини графу G2, що суміжні з вершиною 2. Така вершина у даному графі лише одна (це вершина 1), отже, поки можна побудувати єдиний простий ланцюг (а саме ланцюг 2,1), що починається вершиною 2. Продовжити даний ланцюг до простого ланцюга більшої довжини ми не можемо, адже вершина 1 суміжна лише з вершиною 2, але послідовність 2,1,2 не є простим ланцюгом. Отже, ми побудували усі прості ланцюги у графі G2, які починаються вершиною 2, й бачимо, що простого ланцюга між вершинами 2 та 3 у графі G2 немає. Таким чином, показано, що граф G2 незв’язний.

Нехай G – граф порядку n. Матрицею досяжності графу G (позначається DG) називається квадратна матриця порядку n над множиною {0,1}, елемент dij якої дорівнює 1, якщо існує маршрут між i-ю та j-ю вершинами (1£i£n, 1£j£n) у даному графі, й дорівнює 0 у протилежному випадку, тобто коли жодного маршруту між цими вершинами у графі G немає.

Зауважимо, що з твердження 1 випливає симетричність матриці досяжності графу відносно головної діагоналі.

Побудуємо матриці досяжності графів G0, G1, G2, що розглядалися вище. Позначимо ці матриці D0, D1, D2 відповідно. Оскільки ми вже з’ясували, що граф G0 є зв’язним, то його матриця досяжності D0 містить лише одиниці; вона зображена на рис.4,а. У графі G1 є ізольована вершина (вершина 4), тому елементи у четвертому рядку й четвертому стовпчику матриці досяжності D1 цього графу дорівнюють нулю, крім діагонального елементу d44. Оскільки вершини 1,2 суміжні, вершини 1,3 суміжні, а між вершинами 2 та 3 у графі G1 існує маршрут 2,1,3, то решта елементів матриці D1 – це одиниці. Матриця D1 зображена на рис.4,б. У графі G2 немає маршруту між такими парами вершин: 1,3; 1,4; 2,3; 2,4. Отже, лише елементи d13, d31, d14, d41, d23, d32, d24, d42 матриці досяжності D2 графу G2 дорівнюватимуть нулю, а решта елементів – одиниці. Матриця D2 зображена на рис.4,в.

 

а) б) в)
    Рис. 4  

 

Щойно ми будували матриці досяжності графів, безпосередньо перевіряючи для пар різних вершин графу наявність маршруту між ними. Але існує інший спосіб побудови матриці досяжності графу скінченного порядку. Цей спосіб ґрунтується на використанні матриці суміжності графу та двох бінарних операцій на множині {0,1} (позначаються Ù, Ú). Операція Ù визначається такими співвідношеннями: 0Ù0=0Ù1=1Ù0=0, 1Ù1=1. Операція Ú визначається співвідношеннями виду: 0Ú0=0, 1Ú0=0Ú1=1Ú1=1.

Визначимо тепер бінарні операції Ù, Ú (кон’юнкції та диз’юнкції) на множині квадратних матриць порядку n над множиною {0,1}. Нехай А, В такі матриці. Через АÙВ позначимо квадратну матрицю порядку n, елемент cij (1£i£n, 1£j£n) якої обчислюється таким чином:

cij = (ai1Ùb1j)Ú(ai2Ùb2j)Ú…Ú(ainÙbnj).

Через АÚВ позначимо квадратну матрицю порядку n, елемент mij (1£i£n, 1£j£n) якої обчислюється таким чином: mij = aijÚbij.

Розглянемо приклади. Нехай А= , В= . Обчислимо спочатку матрицю М=АÚВ. Маємо: m11=a11Úb11=0Ú1=1, m12=a12Úb12=1Ú1=1, m21=a21Úb21=0Ú1=1, m22=a22Úb22=1Ú0=1. Отже, M= . Тепер обчислимо матрицю С=АÙВ. Маємо: с11=(a11Ùb11)Ú(a12Ùb21)=(0Ù1)Ú(1Ù1)=0Ú1=1,

c12=(a11Ùb12)Ú(a12Ùb22)=(0Ù1)Ú(1Ù0)=0Ú0=0,

c21=(a21Ùb11)Ú(a22Ùb21)=(0Ù1)Ú(1Ù1)=0Ú1=1,

c22=(a21Ùb12)Ú(a22Ùb22)=(0Ù1)Ú(1Ù0)=0Ú0=0.

Таким чином, С= .

Нехай G – граф порядку n, AG – матриця суміжності графу G. Визначимо матрицю AG(k) таким чином:

Твердження 4. Нехай G – граф порядку n. Маршрут довжини k (k³1) між i-ю та j-ю вершинами графу G існує тоді й тільки тоді, коли елемент aij(k) матриці AG(k) дорівнює одиниці.

Доведення аналогічне доведенню теореми 1.

Твердження 5. Нехай G – граф порядку n, матриця D визначена та-ким чином: D=ЕnÚAG(1)ÚAG(2)Ú…ÚAG(n) (тут Еn – одинична матриця поряд-ку n). Тоді маршрут між i-ю та j-ю вершинами у графі G існує тоді й тільки тоді, коли елемент dij матриці D дорівнює одиниці.

Доведення. (Þ) Нехай між i-ю та j-ю вершинами (1£i£n, 1£j£n) у графі G існує маршрут. Якщо i=j, то dij=1, оскільки у матриці Еn eij=1Ûi=j. Нехай i¹j. Тоді, згідно з твердженням 2, між цими вершинами у G існує простий ланцюг. Оскільки граф G має n вершин, то довжина будь-якого простого ланцюга у G (отже, й простого ланцюга між i-ю та j-ю вершинами графу G) не перевищує n. Тоді, за твердженням 4, існує таке ціле число k (1£k£n), що елемент aij(k) матриці AG(k) дорівнює одиниці. Отже, й dij=1.

(Ü) Нехай dij=1 (1£i£n, 1£j£n). Покажемо, що між i-ю та j-ю верши-нами у графі G існує маршрут. Зауважимо, що при i=j між i-ю та j-ю вер-шинами у графі G існує тривіальний маршрут. Нехай i¹j. З умови dij=1 та з означення матриці D випливає, що для деякого цілого k (1£k£n) елемент aij(k) матриці AG(k) дорівнює одиниці. А це означає, що між i-ю та j-ю вершинами у графі G існує маршрут довжини k, а, значить, дійсно існує маршрут між цими вершинами у G. Твердження доведено.

Наслідок. Матриця D збігається з матрицею досяжності графу G.

Граф H=(V1,E1) називається підграфом графу G=(V,E), якщо V1ÍV, E1ÍE. Граф H=(V1,E1) називається власним підграфом графу G=(V,E), якщо виконується одна з умов: 1) V1ÌV, E1ÍE, 2) V1ÍV, E1ÌE, 3) V1ÌV, E1ÌE.

З даного визначення випливає, що кожен граф має принаймні один підграф. (Дійсно, якщо G=(V,E) – граф, то, оскільки VÍV та EÍE, G є підграф G.) Якщо граф G має не один підграф, то усі підграфи графу G, крім самого G, є його власними підграфами. (Дійсно, для підграфу H=(V1,E1) графу G=(V,E), що не є його власним підграфом, має виконуватися умова V=V1, E=E1, але тоді H=G.)

Підграф H=(V1,E1) графу G=(V,E) називається кістяковим підграфом G, якщо V1=V.

Розглянемо приклади. Граф G1=({1,2,4},{(1,2)}) є підграфом графу G=({1,2,3,4},{(1,2),(1,3),(2,3),(3,4)}), оскільки множина вершин {1,2,4} графу G1 є підмножиною множини вершин {1,2,3,4} графу G, а множина ребер графу G1 є підмножиною множини ребер графу G (дійсно, {(1,2)}Í{(1,2),(1,3),(2,3),(3,4)}). Граф G2=({1,2,3,4},{(1,2),(1,3),(3,4)}) та-кож є підграфом графу G. Дійсно, для множин вершин графів G2 та G маємо: {1,2,3,4}={1,2,3,4}, отже, {1,2,3,4}Í{1,2,3,4}; для множин ребер графів G2 та G маємо: {(1,2),(1,3),(3,4)}Í{(1,2),(1,3),(2,3),(3,4)}. Графи G1 та G2 є власними підграфами графу G. Граф G2 є кістяковим підграфом графу G, а граф G1 – ні. Граф G3=({0,1,2,3},{(1,2),(1,3),(2,3)}) не є підгра-фом графу G, оскільки множина його вершин містить вершину 0, якої немає у множині вершин графу G, а тому не включається у множину вершин графу G.

Максимальним зв’язним підграфом графу G називається такий його зв’язний підграф, який не є власним підграфом жодного зв’язного підграфу графу G. Максимальний зв’язний підграф графу G будемо називати компонентом зв’язності графу G.

Нехай, наприклад, H=({a,b,c,d},{(a,d),(a,c)}); діаграма графу H подана на рис.5,a. Компонентами зв’язності H є такі його підграфи: H1=({a,c,d},{(a,d),(a,c)}), H2=({b},Æ) (рис.5,б,в). Обґрунтуємо це тверджен-ня. Для цього побудуємо усі зв’язні підграфи графу H та покажемо, що ні H1, ні H2 не є власним підграфом жодного з побудованих підграфів. Отже, зв’язними підграфами графу H (крім H1 та H2) є такі графи: H3=({a},Æ), H4=({c},Æ), H5=({d},Æ), H6=({a,d},{(a,d)}), H7=({a,c},{(a,c)}). Бачимо, що граф H1 не є підграфом (а, значить, й власним підграфом) жодного з графів H2, H3, H4, H5, H6, H7, оскільки множина вершин {a,c,d} не є підмножиною множини вершин жодного з цих графів. Граф H2 також не є підграфом (а, значить, й власним підграфом) жодного з графів H1, H3, H4, H5, H6, H7, бо множина вершин {b} не є підмножиною множини вершин жодного з цих графів. Таким чином, H1 та H2 – компоненти зв’язності графу H. Покажемо тепер, що інших компонентів зв’язності граф H не має. Для цього достатньо переконатися у тому, що кожен зв’язний підграф H, крім, звичайно, H1 та H2, є власним підграфом деякого зв’язного підграфу графу H. Таку перевірку потрібно здійснити для графів H3, H4, H5, H6, H7. Бачимо, що граф H3 є власним підграфом зв’язного графу H6, тому що для множин вершин та множин ребер цих графів маємо відповідно: {a}Ì{a,d}, ÆÌ{(a,d)}; аналогічним чином переконуємося, що H5 є власним підграфом H6, а H4, H6 та H7 – власними підграфами H1. Отже, граф H не має компонентів зв’язності, відмінних від H1 та H2.

 

а) б) в)
    Рис. 5  

 

Зауважимо, що єдиним компонентом зв’язності будь-якого зв’язного графу G є сам граф G, оскільки будь-який зв’язний підграф графу G, відмінний від G, є власним підграфом графу G (тобто не є максимальним зв’язним підграфом графу G).

Теорема 2. Будь-який незв’язний граф єдиним чином подається у вигляді диз’юнктивного об’єднання усіх своїх компонентів зв’язності.

Доведення. Нехай G=(V,E) – незв’язний граф. Розглянемо бінарне відношення R на множині вершин V графу G:

uRv Û існує маршрут між u та v у графі G.

Дане відношення є рефлексивним (uRu для будь-якої вершини u графу G, оскільки існує тривіальний маршрут між u та u у G), симетричним (uRv Þ між u та v існує маршрут у графі G Þ між v та u існує маршрут у G Þ vRu), транзитивним (uRv,vRw Þ між u та v існує маршрут у G, скажімо, u1,…,uk, де u=u1, v=uk; між v та w існує маршрут у G, скажімо, v1,…,vm, де v=v1, w=vm Þ між u та w існує маршрут у G, а саме u1,…uk-1,v1,…,vm Þ uRw). Отже, R є відношенням еквівалентності на множині V. Тоді існує розбиття множини V на непорожні підмножини V1,…,Vn,…, що визначається відношенням R. Зауважимо, що це розбиття містить більше однієї множини (якби це було не так, то усі вершини графу G потрапили б в одну множину V1, а це означало б, що для будь-яких вершин u та v графу G існує маршрут між u та v, тобто граф G зв’язний). Для кожної множини Vi даного розбиття побудуємо граф Gi=(Vi,Ei), де Ei={(u,v)|u,vÎVi, (u,vE}). Кожен такий граф Gi є підграфом графу G, адже ViÍV, EiÍЕ. Покажемо, що G=G1È…ÈGnÈ…. Для цього достатньо показати, що V=V1È…ÈVnÈ…, E=E1È…ÈEnÈ…. Доведемо першу рівність. Нехай uÎV. Тоді знайдеться деяка множина Vi розбиття множини V, що містить u. Отже, VÍV1È…ÈVnÈ…. Нехай uÎV1È…ÈVnÈ…. Тоді вершина u належить деякій множині Vi розбиття множини V, але, оскільки ViÍV, то uÎV. Таким чином, V=V1È…ÈVnÈ…. Доведемо другу рівність. Нехай (u,vE. Це означає, що між u та v існує маршрут (довжини 1), а тоді u та v належать одному й тому самому класу розбиття Vi множини вершин V. За побудовою Ei, (u,vEi, й тоді (u,vE1È…ÈEnÈ…. Таким чином, EÍE1È…ÈEnÈ…. Нехай тепер (u,vE1È…ÈEnÈ…. Тоді (u,v) є елементом деякої множини Ei, але оскільки EiÍE, то (u,vE, отже, E1È…ÈEnÈ….ÍE. Таким чином, E=E1È…ÈEnÈ…. Отже, G=G1È…ÈGnÈ…. Оскільки V1,…,Vn,…– розбиття множини V, то при i¹j множини Vi та Vj не мають спільних елементів. Ми довели, що граф G подається у вигляді диз’юнктивного об’єднання своїх підграфів. Кожен з цих графів є зв’язним за побудовою. Залишилося показати, що кожен підграф Gi цього об’єднання є компонентом зв’язності G. Припустимо супротивне. Тоді у об’єднанні G1È…ÈGnÈ… існує хоча б один граф (позначимо його Gi), що не є максимальним зв’язним підграфом графу G. Це означає, що існує такий зв’язний підграф Gх=(Vx,Ex) графу G, що ViÌVx або EiÌEх. У випадку ViÌVx у графі G існує така вершина x, що xÎVx, хÏVi, x досяжна з будь-якої вершини множини Vi. Але за побудовою Vі вершина х має належати Vi. Отже, маємо суперечність. Таким чином, наше припущення про те, що ViÌVx, неправильне, а тоді Vi=Vx. Розглянемо випадок EiÌEх. З даного строгого включення випливає, що у G існує ребро (y,z) таке, що (y,zEх, а (y,zEi. Оскільки Vi=Vx, то y,zÎVi, й, за побудовою Gi, ребро (y,z) має належати Ei. Отже, Ei=Eх. Таким чином, Gi=Gх. Тоді Gi – максимальний зв’язний підграф графу G. Оскільки відношення R визначається графом G однозначно (це видно з побудови R), розбиття V1,…,Vn,…, а також й компоненти зв’язності Gi,…,Gn… визначаються однозначно, то G дійсно єдиним чином подається у вигляді диз’юнктивного об’єднання усіх своїх компонентів зв’язності. Теорему доведено.

Теорема 3. Граф G=(V,E) зв’язний тоді й тільки тоді, коли G не можна подати у вигляді диз’юнктивного об’єднання двох його підграфів.

Доведення. (Þ) Нехай граф G зв’язний. Припустимо, що існує подання G у вигляді диз’юнктивного об’єднання двох його підграфів, тобто G=G1ÈG2, де G1=(V1,E1), G2=(V2,E2), причому V1ÇV2=Æ, V1¹Æ, V2¹Æ. Нехай uÎV1, vÎV2. Тоді, оскільки граф G зв’язний, між u та v існує нетривіальний маршрут, а, значить, й простий ланцюг. У цьому ланцюзі є ребро, один кінець якого належить V1, а інший – V2, але це неможливо, бо V1ÇV2=Æ. Отже, наше припущення неправильне, й зв’язний граф G не можна подати у вигляді диз’юнктивного об’єднання двох його підграфів.

(Ü) Нехай G=(V,E) – такий граф, який не можна подати у вигляді диз’юнктивного об’єднання двох його підграфів. Покажемо, що G зв’язний. Припустимо супротивне. Тоді у графі G є принаймні дві вершини (позначимо їх u та v), між якими немає маршруту. Визначимо такі підмножини множини V: Vu={w| існує маршрут між u та w у G}, Vv={w| існує маршрут між v та w у G}, Vx={w| wÏVu, wÏVv}. Множина Vu непорожня: вона містить принаймні вершину u й усі ті вершини, що досяжні з u (якщо такі вершини існують). Аналогічним чином побудована множина Vv також непорожня (vÎVv); множина Vx може бути порожньою. З означення множин Vu, Vv, Vx випливає, що Vv Ç Vu=Æ, VuÇVx=Æ, Vv Ç Vx=Æ. Побудуємо графи G1=(Vv,E1), G2=(VuÈVx,E2), E1={(v1,v2)| v1,v2ÎVv, (v1,v2E}, E2={(u1,u2)| u1,u2ÎVuÈVx, (u1,u2E}. Оскільки VvÍV, E1ÍE, VuÈVxÍV, E2ÍE, то G1, G2 – підграфи графу G. Покажемо, що G=G1ÈG2. Для цього достатньо показати, що V=VvÈVuÈVx, E=E1ÈE2. За побудовою множин Vv, Vu, Vx, VvÈVuÈVxÍV. Нехай wÎV. Для вершини w можливі такі випадки: 1) w досяжна з v, й тоді vÎVv; 2) w не досяжна з v, й тоді wÎVu або wÎVx. У кожному з цих випадків wÎVvÈVuÈVx. Отже, VÍVvÈVuÈVx. Таким чином, V=VvÈVuÈVx. Зауважимо, що множини Vv, Vu, Vx утворюють розбиття множини V. За побудовою множин E1, E2, маємо E1ÈE2ÍE. Нехай (y,zE. Для вершини y можливі такі випадки: 1) yÎVv, 2) yÏVv. Якщо yÎVv, то zÎVv, адже z досяжна з y. Але тоді (y,zE1. Якщо yÏVv, то yÎVu або yÎVх. Якщо yÎVu, то zÎVu, але тоді (y,zE2. Якщо yÎVх, то z не може належати ні Vv, ні Vu, отже, zÎVх, але тоді (y,zE2. Таким чином, (y,zE1ÈE2, отже, EÍE1ÈE2. Ми довели, що E=E1ÈE2. Оскільки Vv Ç(VuÈVx)=Æ, то граф G подано у вигляді диз’юнктивного об’єднання двох його підграфів. Отже, маємо суперечність, а це означає, що наше припущення про незв’язність G неправильне. Таким чином, G зв’язний. Теорему доведено.

 

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.