lek_06.ppt
- Количество слайдов: 58
Основні положення теорії графів Лекція з курсу «Структури даних» Час – 2 год
План • • • Ізоморфізм графів Степінь вершини графа Поняття підграфа. Цикли на графі Цикломатичне число графа Представлення графів в ПК
Теорія графів дає простий, доступний і потужний інструмент побудови моделей і рішення інженерних задач. В даний час існує багато проблем, де потрібно побудувати складні системи з допомогою певного упорядкування їх елементів. Сюди відносяться планування промислового виробництва, задачі теорії мережевого планування та управління (МПУ), тактичні і логічні завдання, проблеми побудови систем зв'язку та дослідження процесів передачі інформації, вибір оптимальних маршрутів і потоків в мережах, методи побудови електричних мереж, завдання ідентифікації в органічній хімії і способи побудови перемикальних схем. Такими ж є велике коло економічних завдань, проблеми вибору структури соціальних груп, ігрові завдання і головоломки, тощо. Таким чином, область можливих застосувань теорії графів дуже широка.
Граф (мережа) G=(V, E) складається з скінченної непорожньої множини m вершин (m≥ 1) і скінченної множини n невпорядкованих пар елементів (u, v) (n ≥ 0), званих ребрами. Рис. 1. Графова структура Дві вершини u і v є суміжними, якщо в графі G існує ребро (u, v); інакше u і v незалежні. Про ребро (u, v) також кажуть, що воно інцидентне вершинам u і v.
Основні визначення: Граф називається виродженим, якщо у нього немає ребер. Граф називається зв'язним, якщо для будь яких двох вершин існує шлях, що з'єднує ці вершини. Підграф називається кістяковим (остовним) підграфом, якщо множина його вершин збігається з множиною вершин вихідного графа. Гранню графа, зображеного на деякій поверхні, називається частина поверхні, обмежена ребрами графа. Порожнім називається граф без ребер;
Повним називається граф, в якому кожні дві вершини суміжні (рис. 2). Рис. 2. Повний граф Граф називається повним, якщо кожні дві його різні вершини з'єднані одним і тільки одним ребром.
Міст точка зчленування графа, видалення якої (і всіх інцидентних їй ребер) збільшує число компонентів зв'язності. Наприклад, якщо мережа поставлена у відповідність комунікаційним лініям (транспортні мережі, лінії електропередачі, телефонні лінії і т. п. ), то видалення моста з мережі відповідає розриву комунікацій Рис. 3. Висяча v 1 та ізольована v 5 вершини. Ребро, що з'єднує вершину саму з собою, називається петлею.
Якщо мережа складається з скінченної множини багатьох вершин і множини впорядкованих пар [u, v] різних вершин, то така мережа називається орієнтованою (орграфом) (на рис. 4 V(G 3) = {u, v, w, x, y, z} і E (G 3) = {[u, v], [v, w], [у, х], [v, x], [x, w], [w, z], [z, v]}).
(на рис. 4 V(G 3) = {u, v, w, x, y, z} і E (G 3) = {[u, v], [v, w], [у, х], [v, x], [x, w], [w, z], [z, v]}) Рис. 4. Орграф При роботі з орієнтованою мережею G=(V, E) елементи V зазвичай називають вузлами, а елементи Е дугами. Якщо [u, v] дуга орієнтованої мережі, то ми говоримо, що u лівий сусід v, а v правий сусід u.
У більшості застосувань можна без втрати смислу замінити ненаправлену дугу на двонаправлену, а двонаправлену на дві односпрямовані дуги, наприклад так, як показано на рисунку. Рис. 5. Дуги графа.
Зважена мережа це така мережа, ребрам або дугам якої поставлені у відповідність дійсні числа або величини, що приймають дійсні значення (рис. 6). При зображенні мережі вага або вагові коефіцієнти не обов'язково повинні відповідати масштабу зображення. Рис. 6. Зважена мережа. Якщо дві вершини з'єднуються більш ніж одним ребром, то такі ребра називаються кратними, або мультиребрами. Граф з кратними ребрами називають мультиграфом, граф із кратними ребрами і петлями псевдографом.
1. Ізоморфізм графів
Два графи називають ізоморфними, якщо існує взаємно однозначна відповідність між їх вершинами, а саме: число ребер, що з'єднують будь які дві вершини одного графа дорівнює числу ребер, що з'єднують відповідні вершини іншого графа. Три графа ізоморфні (рис. 7) при відповідності: A↔P; B↔R; C↔T; D↔Q; E↔S; F↔U. Рис. 7. Ізоморфні графи
Поняття ізоморфізму для графів має наочне тлумачення. Уявімо ребра графів еластичними нитками, що зв'язують вузли вершини. Тоді ізоморфізм можна представити як переміщення вузлів і розтягнення ниток. Покажемо, що наступні два графа на рис. 8 ізоморфні.
Рис. 8. Ізоморфні графи Справді, відображення a ↔ e, b ↔ f, c ↔ g, d ↔ h, що є ізоморфізмом, легко уявити як модифікацію першого графа, що пересуває вершину d в центр малюнка.
2. Степінь вершини графа
Степінь вершини v, що позначається як dv або deg(v), дорівнює числу ребер, інцидентних вибраній вершині, тобто dv = deg (v) = |N(v)|. Таким чином, якщо вершини в G 1 (рис. 9) розташувати в порядку w, v, x, z, u, y, t, то їх відповідні степені дорівнюють 4, 4, 2, 2, 1, 1, 0, т. е. dw=4, dv = 4, dx = 2 і т. д. При визначенні степеня вершини графа петля враховується двічі.
Рис. 9. Вихідний граф На рис. 9 вершини u і y тупикові, а вершина t ізольована. Вершина v називається тупиковою вершиною, якщо deg(v)=1; якщо ж deg(v)=0, то говорять, що v ізольована вершина.
Граф називається K зв'язним, якщо кожна його вершина пов'язана з K інши ми вершинами; при цьому говорять про слабо і сильнозв’язні графи (рис. 10). Рис. 10. Незв’язний граф Іноді зв'язність визначають як характеристику не кожної, а однієї (довільної) вершини. Тоді з'являються визначення типу: граф називається K-зв'язним, якщо хоча б одна його вершина пов'язана з K іншими вершинами.
У ряді випадків зв'язність визначають як екстремальне значення кількісної характеристики. Наприклад, граф є K зв'язним, якщо в графі існує хоча б одна вершина, пов'язана з K суміжними вершинами і не існує жодної вершини, пов'язаної з більш ніж K суміжними вершинами (рис. 11). Рис. 11. Зв'язність вершин графа
Регулярні графи, у яких степінь кожної вершини однаковий (рис. 12). Рис. 12. Регулярні графи: а — степеня 3; б — степеня 2
Введемо на розгляд поняття – інваріант мережі. Інваріантом мережі G називається параметр, що має одне і те ж значення для всіх мереж, ізоморфних G. Серед найбільш очевидних інваріантів відзначимо наступні: • число вершин; • число ребер; • число компонентів; • послідовність степенів, тобто список степенів вершин в порядку спадання значень.
Наприклад, для двох п’ятивершинних мереж на рис. 13 всі чотири з перерахованих вище інваріантів збігаються, але ці мережі не ізоморфні. Рис. 13. Приклад неізоморфних мереж
Дводольний граф. Граф називається дводольним, якщо множину його вершин можна розбити на дві непересічних підмножини V 1 і V 2 так, що кожне ребро графа G з'єднує будь яку вершину з V 1 з якою небудь вершиною з V 2. Такі графи позначають G(V 1, V 2). Дводольний граф можна визначити в термінах розмальовки його вершин двома кольорами (наприклад, синім та червоним). При цьому граф називають дводольним, якщо кожну його вершину можна зафарбувати червоним або синім кольором так, щоб будь яке ребро мало один кінець червоний, інший синій (мал. 14).
Рис. 14. Дводольні графи В дводольному графі зовсім не обов'язково, щоб кожна вершина з V 1 з'єднувалася з кожною вершиною з V 2.
Плоский граф. Плоским графом називають граф, зображений на площині так, що жодні його два ребра геометрично не перетинаються ніде, окрім інцидентної їм обом вершини. Граф, ізоморфний плоскому графу, називають планарним. Всі три графа (рис. 15) планарних, але лише другий і третій плоскі. Рис. 15. Планарні графи
Триангульований граф. Плоский граф називається максимально плоским, якщо неможливо додати до нього жодного ребра так, щоб отриманий граф був плоским. Кожна грань в плоскому поданні максимально плоского графа має три вершини. Максимально плоский граф називається ще триангульованим (рис. 16). Операція доповнення нових ребер, в результаті якої в плоскому поданні кожна грань має рівно три вершини, називається триангуляцією графа. Рис. 16. Плоский (а) і триангульований (б) графи
3. Поняття підграфа. Цикли на графі
Маршрут на графі G=(V, E) з вершини u 1 у вершину un - це скінченна послідовність вершин W=u 1, u 2, . . . , un таких, що (ui, ui+2) E(G) для кожного i, 1 ≤ i ≤ n-1. Маршрут W замкнутий, якщо u 1=un, інакше маршрут W відкритий. Маршрут називається шляхом, якщо жодна вершина (і, отже, жодне з ребер) не з'являється в W більше одного разу (рис. 18). На рис. 8. 18 uvxwywzvwvu є маршрут; запис uvxwz – шлях, а vxwzv – цикл. Рис. 18. Маршрути й цикли
Ланцюг незамкнутий маршрут (шлях), в якому всі ребра (дуги) попарно різні. Цикл замкнутий ланцюг (в неорієнтованому графі). Контур замкнутий шлях (в орієнтованому графі). Простий шлях (ланцюг), в якому жодна дуга (ребро) не зустрічається двічі. Простий цикл (контур), в якому всі вершини попарно різні. Зв'язний граф без циклів є деревом. Слово «дерево» в теорії графів означає граф, в якому немає циклів, тобто в якому не можна з деякої вершини пройти по декількох різних ребрах і повернутися в ту ж вершину. Генеалогічне дерево буде деревом і в сенсі теорії графів, якщо в цьому сімействі не було шлюбів між родичами. Дерева особливо часто виникають на практиці при зображенні різних ієрархій. На рис. 19 показано біблійне генеалогічне дерево.
Рис. 19. Генеалогічне дерево Граф є деревом тоді й тільки тоді, коли кожна пара різних вершин з'єднується одним і тільки одним ланцюгом.
Якщо всі вершини графа G належать дереву T, то вважається, що дерево покриває граф G, тобто маємо покриваюче дерево. Рис. 20. Граф (а) і його покриваюче дерево.
Графи є досить зручним засобом опису та оптимізації алгоритмів обчислення. Як приклад розглянемо обчислення квадратного полінома ax 2+bx+c за схемою Горнера (рис. 21).
Побудуємо граф, який зображає відношення подільності на множині {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Принцип такий: якщо від одного числа до іншого є ланцюг, що веде вгору, тоді друге число ділиться на перше (рис. 22). Рис. 22. Граф, який зображає відношення подільності на множині
Ейлерів цикл. Цикл називається ейлеровим, якщо він прохо дить через всі ребра і при цьому тільки по одному разу. Граф, що містить ейлерів цикл, називається ейлеровим графом. Завдання 1. Через місто Калінінград протікає річка Прегель, що омиває острів. На річці є сім мостів (рис. 23). Чи може пішохід обійти всі мости, пройшовши по кожному лише один раз?
Розв’язок. Ейлерів цикл в графі існує тоді і тільки тоді, коли граф зв'язний і всі його вершини мають парні степені. У графі, що має більше двох вершин з непарним степенем, такого обходу не існує. Завдання 2. Накреслити малюнок, не відриваючи олівець від паперу і не проходячи лінію двічі (рис. 24). Цифрами показаний один з варіантів побудови ейлерового циклу Рис. 24. Графи, які містять цикли: а ейлерів цикл; б неейлерів цикл Критерій наявності ейлерового циклу в графі: зв'язний граф є ейлеровим тоді і тільки тоді, коли ступені всіх його вершин парні числа
Гамільтонів цикл. У 1859 р. У. Гамільтон придумав гру «Навколо світня подорож» , що полягає у знаходженні такого шляху, що проходить через усі вершини (міста, пункти призначення) графа, зображеного на рис. 25, щоб відвідати кожну вершину одноразово і повернутися у вихідну. Шляхи, що мають таку властивість, називаються гамільтоновими циклами. Рис. 25. Гра «Навколосвітня подорож»
Наприклад, на даному графі є гамільтонів цикл: 1 2 3 4 5 6 1.
5. Цикломатичне число графа
Цикломатичним числом графа називається число, рівне збільшеній на одиницю різниці між кількістю ребер і кількістю вершин графа: γ = n-m +1, де n кількість ребер; m кількість вершин. Цикломатичне число графа показує, скільки ребер треба видалити з графа, щоб в ньому не залишилося жодного циклу.
Завдання 1. Дано граф, у якого m=6, n=9 (рис. 27). Визначити, скільки ребер на графі потрібно видалити, щоб в ньому не залишилося жодного циклу. Рис. 27. Вихідний граф.
Розв’язання. Для заданого графа цикломатичне число γ=9 6+1=4. Це означає, що якщо на графі видалити 4 ребра, то в ньому не залишиться жодного циклу. Тоді остовний підграф буде мати вигляд, показаний на рис. 28. Рис. 28. Остовний підграф
6. Представлення графів в ПК
Питання?
Дякую за увагу!!!


