Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Graph.doc
Скачиваний:
7
Добавлен:
16.08.2019
Размер:
1.3 Mб
Скачать

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

Граф 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in, 1jn) у даному графі, й дорівнює 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in, 1jn) якої обчислюється таким чином:

cij = (ai1b1j)(ai2b2j)…(ainbnj).

Через АВ позначимо квадратну матрицю порядку n, елемент mij (1in, 1jn) якої обчислюється таким чином: mij = aijbij.

Розглянемо приклади. Нехай А= , В= . Обчислимо спочатку матрицю М=АВ. Маємо: m11=a11b11=01=1, m12=a12b12=11=1, m21=a21b21=01=1, m22=a22b22=10=1. Отже, M= . Тепер обчислимо матрицю С=АВ. Маємо: с11=(a11b11)(a12b21)=(01)(11)=01=1,

c12=(a11b12)(a12b22)=(01)(10)=00=0,

c21=(a21b11)(a22b21)=(01)(11)=01=1,

c22=(a21b12)(a22b22)=(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=ЕnAG(1)AG(2)…AG(n) (тут Еn – одинична матриця поряд-ку n). Тоді маршрут між i-ю та j-ю вершинами у графі G існує тоді й тільки тоді, коли елемент dij матриці D дорівнює одиниці.

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

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

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

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

З даного визначення випливає, що кожен граф має принаймні один підграф. (Дійсно, якщо G=(V,E) – граф, то, оскільки VV та EE, 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 існує маршрут у GvRu), транзитивним (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,…,vmuRw). Отже, R є відношенням еквівалентності на множині V. Тоді існує розбиття множини V на непорожні підмножини V1,…,Vn,…, що визначається відношенням R. Зауважимо, що це розбиття містить більше однієї множини (якби це було не так, то усі вершини графу G потрапили б в одну множину V1, а це означало б, що для будь-яких вершин u та v графу G існує маршрут між u та v, тобто граф G зв’язний). Для кожної множини Vi даного розбиття побудуємо граф Gi=(Vi,Ei), де Ei={(u,v)|u,vVi, (u,v)E}). Кожен такий граф Gi є підграфом графу G, адже ViV, EiЕ. Покажемо, що G=G1…Gn…. Для цього достатньо показати, що V=V1…Vn…, E=E1…En…. Доведемо першу рівність. Нехай uV. Тоді знайдеться деяка множина Vi розбиття множини V, що містить u. Отже, VV1…Vn…. Нехай uV1…Vn…. Тоді вершина u належить деякій множині Vi розбиття множини V, але, оскільки ViV, то uV. Таким чином, V=V1…Vn…. Доведемо другу рівність. Нехай (u,v)E. Це означає, що між u та v існує маршрут (довжини 1), а тоді u та v належать одному й тому самому класу розбиття Vi множини вершин V. За побудовою Ei, (u,v)Ei, й тоді (u,v)E1…En…. Таким чином, EE1…En…. Нехай тепер (u,v)E1…En…. Тоді (u,v) є елементом деякої множини Ei, але оскільки EiE, то (u,v)E, отже, E1È…ÈEnÈ….E. Таким чином, E=E1È…ÈEnÈ…. Отже, G=G1…Gn…. Оскільки V1,…,Vn,…– розбиття множини V, то при ij множини Vi та Vj не мають спільних елементів. Ми довели, що граф G подається у вигляді диз’юнктивного об’єднання своїх підграфів. Кожен з цих графів є зв’язним за побудовою. Залишилося показати, що кожен підграф Gi цього об’єднання є компонентом зв’язності G. Припустимо супротивне. Тоді у об’єднанні G1…Gn… існує хоча б один граф (позначимо його Gi), що не є максимальним зв’язним підграфом графу G. Це означає, що існує такий зв’язний підграф Gх=(Vx,Ex) графу G, що ViVx або EiEх. У випадку ViVx у графі G існує така вершина x, що xVx, хVi, x досяжна з будь-якої вершини множини Vi. Але за побудовою Vі вершина х має належати Vi. Отже, маємо суперечність. Таким чином, наше припущення про те, що ViVx, неправильне, а тоді Vi=Vx. Розглянемо випадок EiEх. З даного строгого включення випливає, що у G існує ребро (y,z) таке, що (y,z)Eх, а (y,z)Ei. Оскільки Vi=Vx, то y,zVi, й, за побудовою 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=G1G2, де G1=(V1,E1), G2=(V2,E2), причому V1V2=, V1, V2. Нехай uV1, vV2. Тоді, оскільки граф G зв’язний, між u та v існує нетривіальний маршрут, а, значить, й простий ланцюг. У цьому ланцюзі є ребро, один кінець якого належить V1, а інший – V2, але це неможливо, бо V1V2=. Отже, наше припущення неправильне, й зв’язний граф G не можна подати у вигляді диз’юнктивного об’єднання двох його підграфів.

() Нехай G=(V,E) – такий граф, який не можна подати у вигляді диз’юнктивного об’єднання двох його підграфів. Покажемо, що G зв’язний. Припустимо супротивне. Тоді у графі G є принаймні дві вершини (позначимо їх u та v), між якими немає маршруту. Визначимо такі підмножини множини V: Vu={w| існує маршрут між u та w у G}, Vv={w| існує маршрут між v та w у G}, Vx={w| wVu, wVv}. Множина Vu непорожня: вона містить принаймні вершину u й усі ті вершини, що досяжні з u (якщо такі вершини існують). Аналогічним чином побудована множина Vv також непорожня (vVv); множина Vx може бути порожньою. З означення множин Vu, Vv, Vx випливає, що VvVu=, VuVx=, Vv Vx=. Побудуємо графи G1=(Vv,E1), G2=(VuVx,E2), E1={(v1,v2)| v1,v2Vv, (v1,v2)E}, E2={(u1,u2)| u1,u2VuVx, (u1,u2)E}. Оскільки VvV, E1E, VuVxV, E2E, то G1, G2 – підграфи графу G. Покажемо, що G=G1G2. Для цього достатньо показати, що V=VvVuÈVx, E=E1E2. За побудовою множин Vv, Vu, Vx, VvÈVuÈVxV. Нехай wV. Для вершини w можливі такі випадки: 1) w досяжна з v, й тоді vVv; 2) w не досяжна з v, й тоді wVu або wVx. У кожному з цих випадків wVvVuÈVx. Отже, VVvÈVuÈVx. Таким чином, V=VvVuÈVx. Зауважимо, що множини Vv, Vu, Vx утворюють розбиття множини V. За побудовою множин E1, E2, маємо E1E2E. Нехай (y,z)E. Для вершини y можливі такі випадки: 1) yVv, 2) yVv. Якщо yVv, то zVv, адже z досяжна з y. Але тоді (y,z)E1. Якщо yVv, то yÎVu або yÎVх. Якщо yÎVu, то zVu, але тоді (y,z)E2. Якщо yÎVх, то z не може належати ні Vv, ні Vu, отже, zÎVх, але тоді (y,z)E2. Таким чином, (y,z)E1E2, отже, EE1E2. Ми довели, що E=E1E2. Оскільки Vv (VuÈVx)=, то граф G подано у вигляді диз’юнктивного об’єднання двох його підграфів. Отже, маємо суперечність, а це означає, що наше припущення про незв’язність G неправильне. Таким чином, G зв’язний. Теорему доведено.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]