1. Лекції №8. Теорія графів.
Для спеціальності 151 “Автоматизація та комп’ютерно-
інтегровані технології”
КНУБА, 2016
Соболевська Л.Г. sobolevska@atp.in.ua +38 066 251 89 80
2. Задача про кліку відноситься до класу NP-
повних задач в області теорії графів. Вперше
вона була сформульована в 1972 році
Річардом Карпом.
NP - nondeterministic polynomial.
NP-повна задача (NP-complete) — в теорії
алгоритмів та теорії складності це задача,
що належить до класу NP та всі задачі з
класу NP можна звести до неї за
поліноміальний час.
4. Клікою в неорієнтованому
графі називається
підмножина вершин, кожні
дві з яких з'єднані ребром
графа.
Кліка – це повний підграф
початкового графа.
Розмір кліки – число вершин
в ній.
Два варіанта задачі:
• задача розпізнавання – потрібно
визначити, чи існує в заданому
графі G кліка розміру k,
• обчислювальна задача –знайти в
заданому графі G кліку
максимального розміру.
1 2
7
4
3
65
5. Як і для інших NP-повних задач,
ефективного алгоритму для пошуку кліки
заданого розміру на даний момент не
знайдено.
Повний перебір всіх можливих підграфів
розміру k з перевіркою того, чи є хоча б
один з них повним, - неефективний,
оскільки повне число таких підграфов в
графі з V вершинами дорівнює
біноміальному коефіцієнту
!!
!
kvk
v
k
v
6.
7. При розфарбовуванні елементам графа
ставляться у відповідність мітки з
урахуванням певних обмежень
Мітки традиційно називаються
"кольорами".
Розфарбування:
• Вершин
• Ребер
• Областей планарного графа
8.
9.
10.
11. Намагаючись розфарбувати карту округів Англії, Францис
Гутрі сформулював проблему чотирьох фарб, зазначивши,
що чотирьох кольорів досить, щоб розфарбувати карту так,
щоб будь-які два суміжних регіону мали різні кольори.
Артур Келі підняв цю проблему на зустрічі Лондонського
математичного співтовариства в 1878 році.
У тому ж році Тейт було запропоновано перше рішення
цього завдання.
У 1880 році Альфред Кемпе опублікував документ, в якому
стверджувалося, що йому вдалося встановити результат.
У 1890 році Хівуд, що відзначив, аргументи, наведені Кемпе
були невірними.
Теорема чотирьох фарб була остаточно доведена в 1977 році
вченими Кеннетом Аппелем і Вольфгангом Хакеном. Доказ
теореми чотирьох кольорів є одним з перших доказів, в яких
був використаний комп'ютер.
12. З'ясувати, чи можна будь-яку
розташовану на сфері карту
розфарбувати чотирма фарбами так, щоб
будь-які дві області, що мають спільну
ділянку межі, були розфарбовані в різні
кольори.
=
Показати, що хроматичне число плоского
графа не перевищує 4.
13. Розфарбування графів почало вивчатися
як алгоритмічна проблема з 1970-х років:
• визначення хроматичного числа - одна з 21 NP-
повних задач Карпа з 1972 року.
• приблизно в той же час були розроблені
різноманітні алгоритми.
З 1981 року розфарбування графа
застосовується для розподілу регістрів в
компіляторах.
14.
15. Мультиграфи Шеннона – це мультиграфи
з трьома вершинами, для яких
виконується одна з умов:
• всі три вершини з'єднані однаковою кількістю
ребер;
• теж саме, але додане ще одне ребро.
16. Математичний апарат для моделювання
динамічних дискретних систем
Описані в дисертації Карла Петрі
"Kommunikation mit Automaten« в 1962
році.
17. Елементи:
• множина позицій P (схематично позначаються
кружками),
• множина переходів T (позначаються рисками),
• вхідна функція I,
• вихідна функція O.
Орієнтовані дуги з'єднують позиції і переходи,
при цьому деякі дуги спрямовані від позицій до
переходів, а інші - від переходів до позицій.
Маркування μ - привласнення фішок позиціям
мережі Петрі. Фішки використовуються для
визначення виконання мережі Петрі.
24. Виконанням мережі Петрі керує кількість і
розподіл фішок в мережі.
Фішки знаходяться в позиціях і керують
виконанням переходів мережі.
Мережа Петрі виконується за допомогою
запуску переходів.
Перехід може запускатися тільки в тому
випадку, коли він дозволений.
Перехід називається дозволеним, якщо
кожна з його вхідних позицій має число
фішок, що принаймні дорівнює кількості
дуг з позиції в перехід.
25. Часова мережа Петрі - така мережа, де переходи мають вагу, що
визначає тривалість спрацьовування (затримку).
Стохастична мережа Петрі - мережа, в якій затримки є випадковими
величинами.
Функціональна мережа Петрі - мережа, в якій затримки визначаються
як функції деяких аргументів, наприклад, кількості міток в будь-яких
позиціях, стану деяких переходів.
Кольорова мережа Петрі - мережа, в якій мітки можуть бути різних
типів, які охоплюють квітами, тип мітки може бути використаний як
аргумент у функціональних мережах.
Інгібіторна мережа Петрі - мережа, в якій можливі інгібіторні, тобто
пригнічуючі, дуги, які забороняють спрацьовування переходу, якщо у
вхідній позиції, пов'язаній з переходом інгібіторною дугою, знаходиться
мітка.
Ієрархічна мережа Петрі - мережа, яка містить немиттєві переходи, в
які вкладені інші, можливо, також ієрархічні, мережі. Спрацьовування
такого переходу характеризує виконання повного життєвого циклу
вкладеної мережі.
WF-мережі Петрі - підклас мереж Петрі, званий також мережами
потоків робіт. Формалізм WF-мереж введений Віл ван дер Аальстом (Wil
van der Aalst) для моделювання потоків робіт в workflow-системах.
26. Мережа Петрі називається мережею потоків робіт (WF-мережею),
якщо виконуються наступні умови:
• існує тільки одна вихідна позиція i, така що відсутні переходи входять до i;
• існує тільки одна кінцева позиція o, така що відсутні переходи виходять з o;
• кожен вузол даної мережі розташований на шляху від i до о.
WF-мережі використовуються для перевірки графів потоків робіт
на наявність таких структурних конфліктів, як "тупики" і
"недоліки синхронізації". Структурні конфлікти відсутні, якщо
WF-мережа є бездефектною.
Властивість бездефектності, відповідає таким вимогам:
• кінцева позиція o досяжна при будь-якій послідовності переходів від позиції i;
• WF-мережа не містить зайвих позицій (які ніколи не будуть виконані);
• при досягненні кінцевої позиції даної мережі не повинно залишатися фішок в
проміжних позиціях.
Властивість бездефектності відповідає двом властивостям мереж
Петрі - жвавості і обмеженості.
27. Основні властивості мережі Петрі:
обмеженість - властивість мережі, число міток якої в
будь-якій позиції мережі не може перевищити деякого
значення K;
безпека - окремий випадок обмеженості, K = 1;
збереженість - є сталість завантаження ресурсів, коли ΣAi
Ni постійна. Де Ni - число маркерів в i-тій позиції, Ai -
ваговий коефіцієнт;
досяжність - можливість переходу мережі з одного
заданого стану (що характеризується розподілом міток) в
інше;
жвавість - можливість спрацьовування будь-якого
переходу при функціонуванні об'єкта, що моделюється.
28.
29. Gantt chart, календарний графік - це
популярний тип стовпчастих діаграм
(гістограм), який використовується для
ілюстрації плану, графіка робіт з якого-
небудь проекту.
Є одним з методів планування проектів.
Використовується в додатках з управління
проектами.
Перший формат діаграми був розроблений
Генрі Л. Гантта в 1910 році.
30. Ключовим поняттям діаграми Гантта є «віха» - мітка значимого
моменту в ході виконання робіт, спільний кордон двох або більше
завдань.
Віхи:
• дозволяють наочно відобразити необхідність синхронізації, послідовності у
виконанні різних робіт.
• не є календарними датами.
• Зрушення віхи призводить до зрушення всього проекту.
Недоліки:
• не є, графіком робіт;
• не відображує значущості або ресурсоємності робіт;
• не відображує сутності робіт (області дії);
• для великих проектів діаграма Гантта стає надмірно великою і втрачає будь-
яку наочність.
У даний час діаграма Гантта є стандартом де-факто в теорії і
практиці управління проектами для відображення структури
переліку робіт за проектом.
31.
32. техніка оцінки та аналізу програм
(проектів), яка використовується при
управлінні проектами.
PERT забезпечує:
• оцінку і аналіз часу виконання, трудовитрат і
потреби в інших ресурсах проекту, на основі
відповідних характеристик і залежностей.
• аналіз та оцінки часу, який потрібен для
виконання кожної окремої задачі, а також
мінімально необхідного часу для виконання
всього проекту.
33.
34. Найпопулярнішою частиною PERT є Метод
критичного шляху, який спирається на
побудову мережевого графіка (мережевої
діаграми PERT).
Техніка PERT була розроблена в 1958 році
консалтинговою фірмою «Буз, Ален і
Гамільтон» спільно з корпорацією «Локхід»
на замовлення Підрозділу спеціальних
проектів ВМС США в складі Міністерства
Оборони США для проекту створення
ракетної системи «Polaris».
35. PERT подія (PERT event): точка, що відзначає початок або
закінчення однієї або більше активностей (завдань, робіт,
заходів). Вона не вимагає часу або ресурсів. У разі, якщо вона
відноситься до однієї або більше завдань, подія не «наступає»
(не відбувається) до моменту, поки всі активності, що
призводять до події, не будуть завершені.
Попередня подія (predecessor event): подія, яка безпосередньо
передує деякій іншій події, без інших проміжних подій. Подія
може мати кілька попередніх подій і може бути попередником
для кількох подій.
Подальша подія (successor event): подія, яка безпосередньо
випливає з деякої іншої події, без інших проміжних подій.
Подія може мати кілька наступних подій і може бути
послідовником кількох подій.
36. PERT активність (PERT activity): реальне виконання завдання,
яке вимагає час і ресурсів. Наприклад, працівників (робочої
сили), матеріалів, простору (приміщень), техніки
(обладнання). Може сприйматися як переміщення від однієї
події до іншої, що вимагає часу, трудовитрат і ресурсів.
Активність PERT не може бути виконана, поки не сталися
попередні події.
Оптимістичний час (optimistic time) (O): мінімально
можливий час виконання завдання, в припущенні, що все
відбувається найкращим чином.
Песимістичний час (pessimistic time) (P): максимально
можливий час потрібний для виконання завдання, в
припущенні, що все відбувається найгіршим чином
(виключаючи великі катастрофи).
37. Найбільш ймовірний час (most likely time) (M): оцінка часу,
потрібного для виконання завдання, в припущенні, що все
відбувається як завжди.
Очікуваний час (expected time) (TE): найкраща оцінка часу,
необхідного для виконання завдання, з огляду на, що речі не
завжди відбуваються як зазвичай. (Очікуване середнє час
виконання завдання, якщо вона буде повторюватися
багаторазово).
TE = (O + 4M + P) / 6
Прослизання або провисання: міра додаткового часу і
ресурсів, доступних для виконання роботи. Час, на який
виконання завдання може бути зрушене без затримки будь-
яких подальших завдань (вільне прослизання) або всього
проекту (загальне прослизання). Позитивне провисання
показує випередження розкладу, негативне провисання
показує відставання і нульове провисання показує
відповідність розкладу.
38. Критичний шлях (critical path): Найдовший маршрут від
початкової до фінального події. Він визначає загальний
календарний час, необхідний для проекту і, таким чином,
будь-які затримки на критичному шляху затримують
досягнення фінальної події.
Критична активність (critical activity): Активність, загальне
прослизання якої дорівнює нулю. Активність з нульовим
прослизанням не обов'язково повинна перебувати на
критичному шляху.
Швидкий прохід (fast tracking): метод стиснення розкладу
проекту, змінює логіку мережі шляхом накладання одної на
одну фаз, які в звичайній ситуації виконувалися б
послідовно (наприклад, накладання фаз проектування і
будівництва), або для паралельного виконання
запланованих операцій.
39. інструмент планування розкладу та управління термінами
проекту.
В основі методу лежить визначення найбільш тривалої
послідовності завдань від початку проекту до його
закінчення з урахуванням їх взаємозв'язку.
Завдання, що лежать на критичному шляху (критичні
завдання), мають нульовий резерв часу виконання, і, в разі
зміни їх тривалості, змінюються терміни всього проекту.
Критичні завдання вимагають більш ретельного контролю,
зокрема, своєчасного виявлення проблем та ризиків, що
впливають на терміни їх виконання і, отже, на терміни
виконання проекту в цілому.
В процесі виконання проекту критичний шлях проекту
може змінюватися, так як при зміні тривалості завдань деякі
з них можуть виявитися на критичному шляху.
40.
41. — граф, який відображає роботи проекту, зв'язки між ними, стан проекту.
— це динамічна модель виробничого процесу, що відображає
технологічну залежність і послідовність виконання комплексу робіт, що
погоджує їх завершення в часі з урахуванням витрат ресурсів і вартості
робіт з виділенням при цьому вузьких (критичних) місць.
Може будуватися в 2-х варіантах:
а) вершини графа відображають стан деякого об'єкта (наприклад,
будівництва), а дуги — роботи, що ведуться на цьому об'єкті. Кожній дузі
зіставляється час, за який здійснюється робота і/або число робітників, які
здійснюють роботу. Часто мережевий графік будується так, що
розташування вершин по горизонталі відповідає часу досягнення стану,
відповідного заданої вершині.
б) вершини графа відбивають роботи, а зв'язки між ними — залежності
між роботами.
42. робота, події, шлях.
Робота відображає трудовий процес, в якому беруть участь люди,
машини, механізми, матеріальні ресурси (проектування споруди,
поставки обладнання, кладка стін, рішення задач на ЕОМ і т.і.)
Або процес очікування (твердіння бетону, сушка штукатурки і т.і.
).
Кожна робота мережевого графіка має конкретний зміст.
Робота як трудовий процес вимагає витрат часу і ресурсів, а як
очікування - тільки часу. Для правильного і наочного
відображення порядку робіт при побудові мережі
використовують зображувані штриховими лініями додаткові
дуги, звані фіктивними роботами або зв'язками. Вони не
вимагають ні часу, ні ресурсів, а лише вказують, що початок
однієї роботи залежить від закінчення іншої.
43. Дійсна робота в прямому сенсі слова
(наприклад — підготовка траси змагань), що
вимагає витрат праці, матеріальних ресурсів і
часу;
Очікування — робота не вимагає витрат праці і
матеріальних ресурсів, але займає деякий час;
Фіктивна робота (Залежність) — зв'язок між
двома або більше подіями, що не вимагає витрат
праці, матеріальних ресурсів і часу, але вказує, що
можливість початку однієї операції безпосередньо
залежить від виконання іншої. Тривалість такої
роботи = 0.
44. Початкова подія — початок виконання комплексу
робіт;
Завершальна подія — кінцева подія, що означає
досягнення кінцевої мети комплексу робіт;
Проміжна подія, як результат однієї або декількох
робіт, що представляють можливість почати одну
або кілька безпосередньо наступних робіт.
Тривалість проміжного події в часі завжди = 0.
Подія визначає стан, а не процес.
45. Будь-яка послідовність робіт в мережевому
графіку, в якому кінцева подія кожної роботи цієї
послідовності збігається з початковою подією
наступної за нею роботи, називається шляхом.
Шляхи в мережевому графіку можуть бути 3 видів:
• Повний шлях — початок якого збігається з вихідною
подією мережі, а кінець — з завершальною, називається
повним шляхом;
• Шлях, що передує події — шлях від вихідної події мережі
до даної події;
• Шлях, наступний за подією — шлях, що з'єднує подію з
завершальною подією;
• Шлях між подіями — шлях, що з'єднує будь-які дві події, з
яких жодна не є вихідною або завершальною подією
мережевого графіка.