Raw

2. Методичні вказівки

Цей розділ самодостатній: у ньому зібрано всю теорію, потрібну для теми — графи та їхні матриці суміжності, розфарбування вершин і ребер — разом із прийомами, якими розв’язують задачі з 3task.md. Ширший виклад — у Лекції 7.

2.1 Граф та його елементи

Граф G=(V,E)G = (V, E) — це множина вершин VV і множина ребер EE, де кожне ребро сполучає дві вершини. Види ребер, які трапляються в цій роботі:

  • неорієнтоване ребро {u,v}\{u, v\} не має напряму; орієнтоване ребро (дуга) (u,v)(u, v) спрямоване від uu до vv;
  • петля — ребро, що з’єднує вершину саму з собою;
  • кратні (паралельні) ребра сполучають ту саму пару вершин. Граф, що допускає петлі та кратні ребра, називають мультиграфом; граф без них — простим.

Дві вершини, з’єднані ребром, називають суміжними; вершину й ребро, що її містить, — інцидентними.

2.2 Степені вершин

Степінь deg(v)\deg(v) — це кількість «кінців ребер» при вершині vv; петля дає до степеня 22. У неорієнтованому графі за лемою про рукостискання

vVdeg(v)=2E,\sum_{v \in V} \deg(v) = 2\,|E|,

бо кожне ребро додає по одиниці до степенів двох своїх кінців.

В орграфі розрізняють напівстепінь виходу deg+(v)\deg^{+}(v) (кількість дуг, що виходять з vv) і напівстепінь заходу deg(v)\deg^{-}(v) (кількість дуг, що входять у vv); кожна петля додає по одиниці до обох. Завжди vdeg+(v)=vdeg(v)=E\sum_v \deg^{+}(v) = \sum_v \deg^{-}(v) = |E|.

Найбільший степінь у графі позначають Δ(G)\Delta(G). Множину попарно суміжних вершин називають клікою, а розмір найбільшої кліки — ω(G)\omega(G). Трикутник — це кліка розміру 33.

2.3 Матриця суміжності

Занумеруймо вершини v1,,vnv_1, \dots, v_n. Матриця суміжності A=[aij]A = [a_{ij}] — це таблиця n×nn \times n, у якій

aij=(кількість ребер/дуг між vi та vj).a_{ij} = \bigl(\text{кількість ребер/дуг між } v_i \text{ та } v_j\bigr).

За матрицею одразу видно чотири речі:

  • Орієнтований чи неорієнтований? Для неорієнтованого графа матриця симетрична (aij=ajia_{ij} = a_{ji}): те, що над головною діагоналлю, дзеркально повторюється під нею. Якщо AA несиметрична, граф орієнтований.
  • Петлі сидять на діагоналі: aiia_{ii} — кількість петель при viv_i (тут кожну петлю рахуємо на діагоналі один раз — див. main.md).
  • Кратні ребра проявляються як елементи, більші за 11: aij=3a_{ij} = 3 означає три ребра між viv_i та vjv_j.
  • Степені. Для неорієнтованого графа сума ii-го рядка дорівнює deg(vi)\deg(v_i), але діагональний елемент треба додати ще раз (петлю в сумі рядка враховано один раз, а в степені вона має рахуватися двічі): deg(vi)=(сума рядка i)+aii\deg(v_i) = \bigl(\text{сума рядка } i\bigr) + a_{ii}. Для орграфа сума рядка дає deg+(vi)\deg^{+}(v_i), а сума стовпцяdeg(vi)\deg^{-}(v_i).

2.4 Побудова графа за матрицею

  1. Розмістіть nn вершин зручно (по колу чи по кутах квадрата — так ребра менше перетинаються).
  2. Визначте тип графа за симетрією AA: симетрична — неорієнтований, ні — орієнтований.
  3. Позадіагональні елементи. Для кожного aija_{ij} (у неорієнтованому графі досить брати i<ji < j) проведіть aija_{ij} ребер між viv_i та vjv_j — одну лінію або кілька паралельних, якщо елемент більший за 11. Для орграфа проведіть стрілку vivjv_i \to v_j у кількості aija_{ij} та окрему стрілку vjviv_j \to v_i у кількості ajia_{ji}.
  4. Діагональні елементи. Домалюйте aiia_{ii} петель при viv_i.
  5. Перевірте, зчитавши степені назад із рядків (і стовпців — для орграфа).

2.5 Розфарбування вершин і хроматичне число χ\chi

Правильне розфарбування вершин приписує кожній вершині колір так, щоб суміжні вершини мали різні кольори. Хроматичне число χ(G)\chi(G) — найменша кількість кольорів, якої вистачає для правильного розфарбування. (Петля робить правильне розфарбування неможливим, а кратні ребра на χ\chi не впливають — тому χ\chi залежить лише від простого графа, що лежить в основі.)

Значення χ\chi затиснуте між двома оцінками:

  • Нижня оцінка — кліка. У кліці з kk вершин усі kk вершин попарно суміжні, тож потребують kk різних кольорів:  χ(G)ω(G)\ \chi(G) \ge \omega(G). Зокрема, один трикутник уже змушує χ3\chi \ge 3.
  • Верхня оцінка — жадібний алгоритм. Фарбуючи вершини по черзі, кожна має не більше за Δ\Delta уже пофарбованих сусідів, тож серед Δ+1\Delta + 1 кольорів завжди знайдеться вільний:  χ(G)Δ(G)+1\ \chi(G) \le \Delta(G) + 1. (На практиці фарбують «найважчі» вершини — з найбільшим степенем — першими.)

Опорні значення: χ=1\chi = 1 тоді й лише тоді, коли ребер немає; χ(Kn)=n\chi(K_n) = n для повного графа; і χ(G)2\chi(G) \le 2 тоді й лише тоді, коли GG двочастковий, тобто не має циклів непарної довжини. Звідси парний цикл має χ=2\chi = 2, а непарнийχ=3\chi = 3.

Як довести, що χ(G)=k\chi(G) = k. Треба обґрунтувати дві речі: (1) навести правильне розфарбування у kk кольорів (отже, χk\chi \le k); (2) вказати причину, чому меншого не досягти, — зазвичай кліку розміру kk (отже, χk\chi \ge k). Коли обидві оцінки збігаються, значення знайдено.

2.6 Розфарбування ребер і хроматичний клас (індекс) χ\chi'

Правильне розфарбування ребер фарбує ребра так, щоб ребра зі спільною вершиною мали різні кольори; найменша кількість кольорів — це хроматичний клас (його ще називають хроматичним індексом) χ(G)\chi'(G). Рівносильно: кожен клас одного кольору є паруванням (набором ребер без спільних кінців).

  • Нижня оцінка — найзавантаженіша вершина. Δ\Delta ребер при вершині максимального степеня попарно сходяться в ній, тож усі потребують різних кольорів:  χ(G)Δ(G)\ \chi'(G) \ge \Delta(G).
  • Теорема Візінга. Для простого графа  χ(G){Δ, Δ+1}\ \chi'(G) \in \{\Delta,\ \Delta+1\}. Графи з нижнім значенням χ=Δ\chi' = \Delta належать до класу I, а ті, що потребують Δ+1\Delta + 1, — до класу II. (Для мультиграфа верхня межа може зрости: χΔ+μ\chi' \le \Delta + \mu, де μ\mu — найбільша кратність ребра.)
  • Лічильна оцінка. Клас одного кольору — це парування, у ньому не більше за n/2\lfloor n/2 \rfloor ребер; тому  χ(G)E/n/2\ \chi'(G) \ge \lceil |E| / \lfloor n/2 \rfloor \rceil. Саме вона піднімає щільний малий мультиграф вище за Δ\Delta.

Як довести, що χ(G)=k\chi'(G) = k. Так само двома кроками: навести правильне розфарбування ребер у kk кольорів і вказати причину, чому меншого не буває (оцінка Δ\Delta або лічильна оцінка).

2.7 Демонстраційний приклад

Увага. Дані нижче — демонстраційні й не збігаються з жодним варіантом із 3task.md. Приклад показує лише техніку, а не розв’язок вашого варіанта.

(а) Неорієнтований граф за матрицею

Розгляньмо симетричну матрицю (рядки й стовпці — P,Q,R,SP, Q, R, S):

PP QQ RR SS
PP 0 2 1 0
QQ 2 1 0 1
RR 1 0 0 1
SS 0 1 1 0

Матриця симетрична, отже граф неорієнтований. На діагоналі aQQ=1a_{QQ} = 1 — це петля при QQ. Елемент aPQ=2a_{PQ} = 2 дає два паралельні ребра P ⁣= ⁣QP \!=\! Q; поодинокі 11 дають ребра PRPR, QSQS, RSRS. Степені (сума рядка плюс діагональний елемент ще раз):

degP=3+0=3,degQ=4+1=5,degR=2+0=2,degS=2+0=2.\deg P = 3 + 0 = 3,\quad \deg Q = 4 + 1 = 5,\quad \deg R = 2 + 0 = 2,\quad \deg S = 2 + 0 = 2.

Неорієнтований мультиграф за матрицею: подвійне ребро P=Q, петля при Q, ребра PR, QS, RS

(б) Орієнтований граф за матрицею

Тепер несиметрична матриця (рядки — початок дуги, стовпці — кінець; вершини P,Q,RP, Q, R):

PP QQ RR
PP 1 2 0
QQ 0 0 1
RR 1 1 0

Матриця несиметрична (aPQ=2aQP=0a_{PQ} = 2 \ne a_{QP} = 0), отже граф орієнтований. aPP=1a_{PP} = 1петля при PP. Дуги: P ⁣ ⁣PP \!\to\! P (петля), P ⁣ ⁣QP \!\to\! Q (подвійна), Q ⁣ ⁣RQ \!\to\! R, R ⁣ ⁣PR \!\to\! P, R ⁣ ⁣QR \!\to\! Q. Напівстепені виходу (суми рядків) і заходу (суми стовпців):

deg+ ⁣:P=3, Q=1, R=2;deg ⁣:P=2, Q=3, R=1.\deg^{+}\!: P{=}3,\ Q{=}1,\ R{=}2; \qquad \deg^{-}\!: P{=}2,\ Q{=}3,\ R{=}1.

Орієнтований граф за матрицею: петля при P, подвійна дуга P→Q, дуги Q→R, R→P, R→Q

(в) Хроматичне число χ\chi та хроматичний клас χ\chi'

Візьмімо простий граф GG на вершинах a,b,c,d,ea, b, c, d, e з ребрами ab,ac,bc,cd,ce,deab, ac, bc, cd, ce, de — два трикутники abcabc і cdecde зі спільною вершиною cc («метелик»). Максимальний степінь Δ=4\Delta = 4 (у вершині cc).

Хроматичне число. Трикутник abcabc — це кліка розміру 33, тому χ3\chi \ge 3. З іншого боку, розфарбування у три кольори існує: a,da, d \to колір 1; b,eb, e \to колір 2; cc \to колір 3 (кожен клас — незалежна множина, суміжні вершини відрізняються). Отже, χ3\chi \le 3, і разом χ(G)=3\boxed{\chi(G) = 3}.

Хроматичний клас. Чотири ребра при вершині cc попарно сходяться в ній, тож χΔ=4\chi' \ge \Delta = 4. Правильне розфарбування ребер у чотири кольори існує: ac1ac \to 1, bc2bc \to 2, cd3cd \to 3, ce4ce \to 4, а тоді ab3ab \to 3 і de1de \to 1 (перевірте: у кожній вершині всі інцидентні ребра різного кольору). Отже, χ4\chi' \le 4, і разом χ(G)=4\boxed{\chi'(G) = 4}; оскільки χ=Δ\chi' = \Delta, граф належить до класу I за Візінгом.

Розфарбування графа-«метелика»: ліворуч вершини у 3 кольори (χ=3), праворуч ребра у 4 кольори (χ'=4)

2.8 Робочий чек-лист

  • Матриця \to граф: перевірте симетрію (орієнтований чи ні); розмістіть вершини; проведіть позадіагональні ребра (паралельні лінії / стрілки для елементів >1> 1); домалюйте діагональні петлі; звірте степені із сумами рядків (і стовпців).
  • Хроматичне число χ\chi: знайдіть найбільшу кліку для нижньої оцінки; пофарбуйте жадібно (найважчі вершини першими) для верхньої; коли оцінки збіглися — значення знайдено. Трикутник уже дає χ3\chi \ge 3; відсутність непарного циклу — χ2\chi \le 2.
  • Хроматичний клас χ\chi': почніть із Δ\Delta; спробуйте побудувати розфарбування ребер у Δ\Delta кольорів (клас I). Якщо це неможливо — за Візінгом зростає до Δ+1\Delta + 1 (клас II) або, для щільного мультиграфа, до лічильної межі E/n/2\lceil |E| / \lfloor n/2 \rfloor \rceil — так і зазначте.

Practical/Practical4/2method.md · 15.4 KB · updated 2026-08-04 14:35