Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лк-4_ДМ_Харак.дерев_Остови_2014.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

3. Остови графа

Визначення. Остовом або каркасом графа називається підграф без циклів, що містить всі вершини і максимально велике число ребер.

Якщо – зв’язний, то остов є дерево, якщо містить компонент зв’язності, то остов (каркас) складається з дерев.

Два остови у вважаються різними, якщо вони відрізняються хоча б одним ребром, тобто як графи. Для того щоб мав більше одного остова, необхідно і достатньо існування хоча б одного циклу в .

Задача визначення числа всіх остовів графа і їх фактичного конструювання є важливою для застосувань. Зрозуміло, її достатньо розв’язати для зв’язного . Для повного графа без петель та кратних ребер перелічення остовів є перелічення всіх позначених дерев з вершинами, так що число остовів дорівнює . У загальному випадку число остовів одержав Кірхгоф у 1847 р.

Визначення. Матрицею Кірхгофа графа без петель та кратних ребер називається – матриця з елементами

Сума елементів у кожному рядку (і кожному стовпці) матриці дорівнює нулю. У будь-якої квадратичної матриці з такою властивістю рядків і стовпців, а не тільки у матриці Кірхгофа , алгебраїчні доповнення всіх елементів рівні між собою: .

У матриці ж величина дорівнює числу остовних дерев.

Теорема 3. (Кірхгоф) Число остовних дерев у зв’язному графі без петель та кратних ребер з вершинами( ) дорівнює алгебраїчному доповненню будь-якого елемента матриці Кіргхгофа .

Наслідок. Справедлива формула Келі для числа позначених дерев з вершинами .

Доведення. Всі позначені дерева з вершинами утворюють в точності множину остовних дерев повного графа . За теоремою 3 їх число дорівнює алгебраїчному доповненню елемента матриці Кірхгофа

розміру .

Визначник порядку зручно перетворити, замінивши спочатку перший рядок сумою всіх рядків, а потім, додаючи одержаний рядок з одиниць до рядків з номерами .

4. Алгоритм пошуку у глибину

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

Наведемо так званий алгоритм «пошуку у глибину», що переглядає по одному разу всі ребра графа G і звичайно всі його вершини. Зауважимо, що пошук у глибину (скорочено ПГ) – не єдиний метод перегляду всіх вершин і ребер графа G . Наприклад, часто використовується перегляд графа «пошуком у ширину», при якому у кожній черговій вершині переглядаються всі інцидентні їй ребра без виключення і всі їх кінцеві вершини (тобто «оточення» вершин X).

Якісний опис алгоритму пошуку в глибину

В процессі пошуку в глибину вершинам графа G послідовно привласнюються нові номери (ПГ-номери) від 1 до n, а ребра одержують позначки двох класів: «пряме ребро» і «зворотне ребро». Пошук починається з довільної вершини , якій привласнюється ПГ-номер 1: ПГ . Далі обирається будь-яке інцидентне до ребро позначається позначкою «пряме ребро» і вершині привласнюється ПГ-номер 2. Наступний (третій) крок пошуку починається у вершині , в якій ПГ , і підкоряється рекурентній процедурі, яку ми опишемо для довільного кроку . Припустимо, -й крок віконаний і деяка вершина одержала ПГ-номер ПГ .

Можливі дві ситуації:

1. У вершині існує інцидентне непозначене ребро . Якщо вершина вже має ПГ-номер, то ребро одержує позначку «зворотне», і продовжується пошук непозначеного ребра, що інцидентне вершині . Якщо ж вершина не має раніше привласненого ПГ-номеру, то їй провласнюється черговий ПГ-номер ПГ , ребро одержує позначку «пряме», і пошук переміщується у вершину .

2. Всі ребра, що інцидентні вершині , позначені на попередніх кроках. Тоді пошук повертається у вершину , що має попередній ПГ-номер ПГ .

Пошук у глибину закінчується, коли всі ребра графа виявляються позначеними.

Позначимо множина прямих ребер, множина зворотних ребер. Із процедури пошуку в глибину виходить твердження.

Твердження. Якщо – зв’язний граф, то підграф є остовне дерево в G , а підграф є додатковим до дерева T . А дерево T є орієнтованим кореневим з коренем .

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

Тому що , то кількість ребер у повинна дорівнювати .

Крок 1. Нехай , .

Крок 2. , обираємо інцідентне ребро , , , ребро – пряме.

Крок 3. , інцідентне непозначене ребро . , не має ПГ-позначки, отже , ребро – пряме, , .

Крок 4. , інцідентне непозначене ребро . , не має ПГ-позначки, отже , ребро – пряме, , .

Крок 5. , інцідентне непозначене ребро . , не має ПГ-позначки, отже , ребро – пряме, , .

Крок 6. , – непозначене ребро. , має ПГ-номер, отже ребро – зворотнє. – непозначене ребро. , має ПГ-номер, отже ребро – зворотнє. не має непозначених ребер, .

Крок 7. , не має непозначених ребер, .

Крок 8. , – непозначене ребро. , не має ПГ-позначки, отже , ребро – пряме, , алгоритм завершено.

– остовне дерево (кістяк) графу.