Автор работы: Пользователь скрыл имя, 17 Февраля 2013 в 22:04, дипломная работа
Метою нашого дослідження було ознайомитися з історією виникнення теорії графів, дати основні означення та теореми графів та показати їх роль для сучасної науки і техніки.
ВСТУП 4
РОЗДІЛ 1. ЗАГАЛЬНІ ВІДОМОСТІ ПРО ТЕОРІЮ ГРАФІВ 8
1.1. Що таке граф? 8
1.1.1. Задача про кенігсберзькі мости 9
1.1.2. Основні поняття теорії графів 12
1.2. Основні способи задання графів 19
1.2.1. Задання графа за допомогою матриці інцидентності та списку ребер 19
1.2.2. Задання графа за допомогою матриці суміжності 22
1.3. Ізоморфізм графів 24
1.4. Планарність графів 28
1.4.1. Застосування теореми Ейлера до деяких завдань 31
1.4.2. Критерії планарності 34
1.5. Одна задача про плоскі графи 38
1.6. Ейлерові графи 41
1.7. Маршрути та зв′язність у графах 46
1.8. Дерева та ліси 53
РОЗДІЛ 2. ОРІЄНТОВАНІ ГРАФИ ТА РОЗФАРБУВАННЯ ГРАФІВ 57
2.1. Орієнтовані графи 57
2.1.1. Модель орграфа 57
2.1.2. Маршрути в орграфах 60
2.1.3. Турніри 63
2.2. Розфарбування графів 65
2.2.1. Хроматичне число графа 65
2.2.2. Гіпотеза чотирьох фарб та теорема про п’ять фарб для 67
планарних графів 67
РОЗДІЛ 3. ЗАСТОСУВАННЯ ТЕОРІЇ ГРАФІВ В ОКРЕМИХ ГАЛУЗЯХ НАУКИ 71
3.1. Фізика 71
3.2. Хімія 77
3. 3. Біологія і психологія 80
3.4. Інформатика 81
3.4.1. Програмування 82
3.4.2. Графи як об’єкти обробки інформації 83
3.5. Математика 88
РОЗДІЛ 4. ГРАФИ В ШКІЛЬНОМУ КУРСІ МАТЕМАТИКИ 97
4.1. Аналіз навчальних програм з теми дослідження 97
4.1.1. Програма спеціального курсу «Прикладна математика для учнів 8-11 класів з поглибленим вивченням математики» 97
4.1.2. факультативна програма з математики «Економіка в задачах математики» 98
4.1.3. Програма розвитку творчого мислення учнів (Шахи, інтелектуальні ігри. Основи математичної логіки. Інтегрований курс навчання.) 98
4.2. Факультативне заняття з теорії графів для учнів 11 класу на тему: «Граф. Розв’язування задач за допомогою графа» 99
ВИСНОВКИ 106
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 108
ДОДАТКИ 111
Маршрутом у графі G = (V, E) називається послідовність вершин і ребер (v0, e1,v1, …, vn-1, en, vn), де v0, …, vn — вершини, ei = (vi-1, vi), 1 ≤ i ≤ n, — ребра. Ребра ei та ei+1 (1 ≤ i ≤ n-1) є сусідніми ребрами маршруту й мають принаймні одну спільну вершину. Вказаний маршрут з’єднує вершини v0 і vn, або веде з v0 у vn. Цей маршрут можна позначити (v0, v1, …, vn-1, vn), не вказуючи ребер. Число n називається довжиною маршруту. Для систематичності міркувань вводиться тривіальний, або нуль-маршрут — маршрут, що складається з єдиної вершини й має довжину 0. Інші маршрути вважаються нетривіальними.
Маршрут називається ланцюгом, якщо всі його ребра попарно різні, і простим ланцюгом, якщо всі його вершини попарно різні.
Якщо v0 = vn, то маршрут називається замкненим, або циклічним. Його останнє та перше ребро вважаються сусідніми. Нетривіальний замкнений ланцюг називається циклом. Цикл (v0, v1, …, vn-1, vn) називається простим, якщо його вершини v1, …, vn-1, vn попарно різні. Відмітимо, що кожний простий цикл є циклом, а довжина будь-якого нетривіального замкненого маршруту (v0, v1, …, vn-1, vn), де v0 = vn, з попарно різними ребрами не менше 3, оскільки треба вийти з вершини та повернутися в неї, але по різних ребрах. Отже, цикл і простий цикл повинні проходити принаймні через три вершини [32, c.171].
Зауважимо, що за принципом Діріхле довжина довільного простого циклу в графі завжди не більше числа вершин n, а простого ланцюга — менше n. Якщо Z1 = (v0, v1, …, vi-1, vi) і Z2 = (vi, vi+1, …, vn) — маршрути, то під Z1·Z2 будемо розуміти маршрут (v0, v1, …, vi-1, vi, vi+1, …, vn), а під Z1-1 — маршрут (vi, vi-1, …,v1, v0).
Рис.1.35.
На рис.1.35. маршрути (v1, v5, v4, v1), (v2, v3, v5, v2) та (v6, v8, v9, v7, v6) є простими циклами, (v5, v2, v3, v5, v4, v1, v5) — циклом, але не простим, (v1, v5, v6, v7, v8, v9) – простим ланцюгом, (v7, v6, v8, v7, v9) – ланцюгом , але не простим, а (v8, v6, v7, v8, v7, v9) не є ланцюгом [36, c.26].
Через Cn позначається граф, утворений одним простим циклом з n вершин, Pn – простим ланцюгом з n вершин. Граф C3 часто називається трикутником. Це цикл і простий цикл з найменшою кількістю вершин.
Граф, що не має циклів, називається ациклічним.
Граф, довільні дві вершини якого можуть бути з’єднані деяким маршрутом (є зв’язаними), називається зв’язним. Інакше граф називається незв’язним.
Максимальний за відношенням ⊆ зв’язний підграф графа називається компонентою зв’язності (чи зв’язною компонентою). На рис.1.36. наведено приклад графа з двома компонентами зв’язності K3 і K2.
Рис.1.36.
Відношення зв’язності на множині вершин графа G = (V, E) є еківалентністю; позначимо її R. vRw має місце тоді й тільки тоді, коли вершини v і w є зв’язаними в графі. За еквалентністю R побудуємо фактор-множину V/R = {V1, V2, …, Vn}, яка є розбиттям множини вершин. Неважко переконатися, що підграфи G(Vi), 1 ≤ i ≤ n, є компонентами зв’язності графа G (максимальними зв’язними підграфами), а сам граф можна подати як пряму суму його зв’язних компонент G = ∑G(Vi). Отже, одержуємо наступну теорему.
Теорема 1.20. Кожний граф можна однозначно подати як пряму суму зв’язних компонент.
Ця теорема дозволяє зводити більшість задач, пов’язаних із графами, до випадку зв’язних графів.
Питання зв’язності графа виникає у багатьох практичних задачах, наприклад, коли граф подає схему руху транспорту, і треба визначити, чи можна проїхати з одного пункту в інший.
Розглянемо деякі властивості маршрутів.
Теорема 1.21. Будь-який маршрут, що веде з вершини v у вершину w (v ≠ w), містить простий ланцюг, що веде з v в w.
Доведення: Нехай є маршрут Z = (v0, e1, v1, …, en, vn), де v0 = v, vn = w. Побудуємо за ним простий ланцюг, що веде з v у w. Якщо всі вершини маршруту Z різні, то він є простим ланцюгом. Інакше, нехай vi = vj при деяких i та j, 0 ≤ i < j ≤ n. Вилучивши частину маршруту Z між vi та vj, одержимо маршрут (v0, e1, v1, …, ei, vi, ej+1, vj+1, …, en, vn), довжина якого менше довжини Z. Умова v ≠ w гарантує, що i ≠ 0 або j ≠ n, тому новий маршрут з’єднує v і w. Якщо він не є простим ланцюгом, то застосуємо до нього таке саме скорочення. Кількість вершин графа та початковий маршрут Z скінченні, і на кожному кроці зменшується довжина маршруту, тому на деякому скінченному кроці буде одержано маршрут, що з’єднує вершини v та w і має попарно різні вершини, тобто є простим ланцюгом [34, c.57].
Доведено
Висновок 1.21.1. Будь-який найкоротший маршрут, що веде з вершини v у вершину w (v ≠ w), є простим ланцюгом.
Висновок 1.21.2. Довільний цикл містить простий цикл.
Теорема 3. Нехай G′ — це граф, який одержано після вилучення зі зв’язного графа G = (V, E) деякого ребра e∈E. Тоді:
а) граф G′ зв’язний, якщо ребро e належить циклу в графі G;
б) граф G′ незв’язний, і має тільки дві компоненти зв’язності, якщо ребро e не входить у жодний цикл у графі G.
Доведення: а) Нехай ребро e належить циклу Z = (w1, w2, …, wn), де wn = w1. Без обмеження загальності можна вважати, що e = (w1, w2). Через Z′ позначимо маршрут (w2, …, wn). Z є циклом, тому Z′ не містить ребра e й є маршрутом в графі G′.
Доведемо, що дві довільні різні вершини v і w графа G′ зв’язані. Очевидно, що вони зв’язані в G. Можливі два випадки: маршрут від v до w у G містив ребро e або не містив. Якщо не містив, то маршрут від v до w у G′ збігається з маршрутом у G. Якщо маршрут у G містив e, то він мав вигляд (v, …, w1, w2, …, w) чи (v, …, w2, w1, …, w). Замінимо в ньому ребро (w1, w2) маршрутом (Z′)-1 чи Z′, відповідно, і одержимо маршрут у G′. Отже, довільні дві вершини графа G′ зв’язані, тобто він зв’язний.
б) Припустимо, що ребро e = (v, w), v ≠ w, не належить жодному циклу графа G, але при його вилученні вершини v та w зв’язані між собою в графі G′ = G-e. Тоді в графі G′ існує маршрут M = (v, v2, …, vn, w). Без обмеження загальності можна вважати, що M є простим ланцюгом, який не містить ребра e. Тоді в графі G існує маршрут M·(v, w), який не містить однакових ребер, а тому є циклом, і до того ж містить ребро e. Отримана суперечність доводить хибність припущення. Отже, вершини v та w незв’язані в графі G′, тому G′ - незв′язний граф.
Доведемо, що він має рівно дві компоненти зв’язності. Розглянемо дві непорожні підмножини V1 = {v}∪{x | існує маршрут з v в x, що не містить ребра e} та V2 = {w}∪{x | існує маршрут з w в x, що не містить ребра e}. Доведемо, що вони утворюють розбиття множини вершин графа G. Оскільки вершини v та w є незв’язними в графі G′, то множини V1 і V2 не перетинаються.
Доведемо, що кожна вершина графа належить одній з множин V1 або V2. Розглянемо довільну вершину u графа G, відмінну від v та w. Оскільки граф G є зв’язним, у ньому є маршрут (v0, e1, v1, e2, v2, …, en, vn), де v0 = u, vn = v. Якщо він не містить e, то вершина u належить підмножині V1. Нехай i, 1 ≤ i ≤ n, є таким, що маршрут (v0, e1, v1, e2, v2, …, ei, vi) не містить ребра e, іei+1 = e. Тоді vi – це v або w, тобто для вершини u існує маршрут, що не містить ребра e й веде в v або w. Звідси кожна вершина графа належить одній з множин V1 та V2, тобто V1∪V2 = V.
В графі G′ кожні дві вершини з V1 зв’язані між собою, як і кожні дві вершини з V2. У G′ вершини v та w незв’язані, тому підграфи G(V1) та G(V2) є двома компонентами зв’язності графа G′, тобто G′ = G(V )∪G(V ) [24, c.137-138].
Доведено
Теорема 1.22. Нехай G – зв’язний граф, що має не менше ніж три вершини.
Наступні твердження еквівалентні:
2) довільні дві вершини графа G належать деякому спільному простому циклу;
3) довільна вершина і довільне ребро графа G належать деякому спільному простому циклу;
4) довільні два ребра графа G належать деякому спільному простому циклу;
5) для довільних двох вершин і довільного ребра графа G існує простий ланцюг, що з’єднує ці вершини і містить дане ребро;
6) для довільних трьох різних вершин графа G існує простий ланцюг, що з’єднує дві з них і проходить через третю;
7) для довільних трьох різних вершин графа G існує простий ланцюг, що з’єднує дві з них і не проходить через третю.
Теорема 1.23. В довільному графі з n вершинами, k компонентами зв’язності і кількістю ребер m задовольняються нерівності n−k ≤ m ≤ (n-k)(n-k+1)/2, причому ці оцінки є досяжними.
Доведення: Нижню оцінку m ≥ n-k доведемо індукцією за кількістю ребер у графі G.
Якщо m = 0, то n = k, n-k = 0 і m ≥ n-k, тобто нерівність виконується.
Припустимо, що для всіх графів з кількістю ребер m ≤ t (t ≥ 0) нерівність m ≥ n-k виконується. Розглянемо граф G з n вершинами, k компонентами зв’язності, у якому t+1 ребро. Вилучимо з графа G довільне ребро. Згідно з теоремою 3 одержимо граф G', у якому k чи k+1 компонента зв’язності. За припущенням індукції, у цих випадках t ≥ n-k та t ≥ n-(k+1), звідки t+1 ≥ n-(k+1)+1 = n-k. Отже, нерівність для графа G також виконується, і за принципом індукції твердження доведено. Нижня оцінка досягається, наприклад, на будь-якому графі, що є прямою сумою k простих ланцюгів.
Доведемо верхню оцінку m ≤ (n-k)(n-k+1)/2. Розглянемо довільний граф G, що має n вершин, k компонент зв’язності та максимально можливу кількість ребер m. Тоді всі його зв’язні компоненти є повними графами. Нехай у графі є дві повні компоненти зв’язності, що містять t і s вершин, причому t ≥ s ≥ 2. Разом ці дві компоненти мають (t(t-1)+s(s-1))/2 ребер. Кількість ребер у двох повних компонентах зв’язності з t+1 та s-1 вершинами дорівнює
((t+1)t+(s-1)(s-2))/2 = (t(t-1)+s(s-1))/2+(t-s+1) > (t(t-1)+s(s-1))/2.
Звідси найбільша кількість ребер можлива в графі, який має k-1 ізольовану точку (тривіальну компоненту зв’язності) та одну повну (n-k+1) – вершину компоненту, кількість ребер у якій дорівнює (n-k)(n-k+1)/2.
Доведено
Висновок 1.23.1. Якщо в графі з n вершинами кількість ребер більше ніж (n-1)(n-2)/2, то граф зв’язний.
Доведення: Якщо граф має k компонент зв’язності та m ребер, то m ≤ (n-k)(n-k+1)/2, звідки (n-1)(n-2) ≤ (n-k)(n-k+1), що можливо лише при k = 1, тобто граф зв’язний.
Доведено
Висновок 1.23.2. Якщо m < n-1, то граф з n вершинами та m ребрами незв’язний.
Доведення: Зв’язний граф має одну компоненту зв’язності і за теоремою 5 m ≥ n-1, що уперечить умові. Тому граф не є зв’язним.
Доведено
Висновок 1.23.3. Якщо граф з n вершинами незв’язний, то кількість його ребер не більше, ніж (n-1)(n-2)/2.
Доведення: Це твердження є протилежним до висновку 1.23.1.
Доведено
Ациклічний зв’язний граф називається деревом. Кістяковим деревом граф називається такий його суграф (підграф, що містить всі вершини графа), що деревом. Ациклічний граф називається лісом. Відповідно, кістяковим лісом граф називається пряма сума кістякових дерев усіх компонент зв’язності графа Кістяковий ліс зв’язного графа складається з єдиного дерева. Приклад дерева показаний на рис.1.37.
Рис.1.37.
Кістякові дерева з’явилися в роботах Кірхгофа, який у 1847 р. розробив теорію дерев для визначення сили струму в кожному провіднику та кожному контурі електричної схеми. Пізніше, в 1857 р. Келі розглядав дерева як модель насичених вуглеводнів та розв’язав задачі перерахування дерев.
Дерева (головним чином, кореневі орієнтовані з навантаженими вузлами та дугами) широко використовуються в обробці інформації. Досить назвати такі, як пошук та сортування, трансляція, стискання даних та штучний інтелект [20, c. 54].
Теорема 1.24. Для довільного графа T = (V, E) з n вершинами і m ребрами наступн твердження рівносильні:
1) T – дерево (ациклічний зв’язний граф);
2) T – зв’язний граф і m = n−1;
3)Т – ациклічний граф і m = n−1.
Доведення: (1)⇒(2) За означенням дерева достатньо довести, що m = n−1. Зробимо це індукцією за кількістю вершин n. При n = 1 та n = 2 деревами є K1 і K2, в яких m = n−1. Нехай твердження виконується для всіх дерев з кількістю вершин не більше t (t ≥ 2). Розглянемо довільне дерево з t+1 вершиною й вилучимо з нього довільне ребро. Граф ациклічний, тому за теоремою 5(1.6) одержимо граф з двома компонентами зв’язності. Кількості вершин t1 і t2 у цих компонентах не більше t, тому для них виконується припущення індуції, тобто загальна кількість ребер в одержаному графі дорівнює (t1-1) + (t2-1), причому t1+t2 = t+1. З урахуванням вилученого ребра загальна їх кількість у дереві з t+1 вершиною дорівнює (t1-1) + (t2-1) + 1 = t. Отже, за індукцією твердження доведено.