1. Проблема вибору алгориму
2. Асимптотична складність алгоритму
3. Класи складності
4. Деякі підходи до розв'язку задач:
4.1. Перебір та його оптимізація
4.2. Перебір із поверненням
4.3. Евристичні розв'язки
Повний курс доступний на першому українському проекті масових відкритих онлайн курсів Prometheus:
http://edx.prometheus.org.ua/courses/KPI/Programming101/2015_T1/about
Визначений інтеграл та його геометричний змістFormula.co.uaМета уроку: сформулювати поняття криволінійної трапеції та визначеного інтеграла; домогтися засвоєння формули Ньютона-Лейбніца і властивостей визначеного інтеграла.
Моделювання на ЕОМ. Лекція №7. Теорія графів.Lesia SobolevskaТеореми теорії графів. Задача про сім мостів Кенігсберга. Алгоритм пошуку в глибину. Алгоритм пошуку в ширину. Алгоритм Крускала. Алгоритм Борувки. Алгоритм Прима
Визначений інтеграл та його геометричний змістFormula.co.uaМета уроку: сформулювати поняття криволінійної трапеції та визначеного інтеграла; домогтися засвоєння формули Ньютона-Лейбніца і властивостей визначеного інтеграла.
Моделювання на ЕОМ. Лекція №7. Теорія графів.Lesia SobolevskaТеореми теорії графів. Задача про сім мостів Кенігсберга. Алгоритм пошуку в глибину. Алгоритм пошуку в ширину. Алгоритм Крускала. Алгоритм Борувки. Алгоритм Прима
458549.pptx fhffujikgibhikfloflodlesdelsdekidjssuserfed972Презентація для супроводу уроку у 6 класі НУШ на тему «Як організми співіснують у середовищі. Як складати ланцюги живлення.» містить посилання на інтерактиву вправу для перевірки знань. Матеріал буде корисний для онлайн уроку та як доповнення до розповіді вчителя на уроці, зацікавить учнів при вивченні розділу «Пізнаємо взаємозв’язки у природі» озв’язки між живими організмами»).
«ЧАРІВНА СКРИНЬКА КАЗОК МИКОЛИ ЗІНЧУКА»: віртуальна книжкова виставка до 100-...Чернівецька обласна бібліотека для дітейВидатний історик, етнограф, фольклорист, "чорнороб культури", правдивий подвижник - це все без перебільшення сказано про Миколу Антоновича Зінчука.
У 2025 році виповнюється 100 років з дня народження видатного фольклориста, який за 86 років свого життя пішки обійшов сотні гірських сіл, побував у кожному регіоні України, зустрічався з тисячами людей, які розповідали йому казки. Ця титанічна праця вилилась у сорокотомне видання "Українських народних казок".
Зінчук Микола Антонович народився 7 березня
1925 році в селі Кошелівка Червоноармійського
району Житомирської області.
«Шевченкова весна під сонцем шани і любові»Бібліографи ОДБ ім. Т. Г. Шевченкавебмандрівка до 100-річчя заснування Шевченківського національного заповідника у Каневі
6. 4*N*M + M 4*N*log2N + M
4*N*M + M 4*N*log2N + M
4*N*M 4*N*log2N
M log2N
при M=6 ~ однакова кількість операцій
при M>6 2й варіант ефективніший
при M<6 1й варіант ефективніший
нехай N=64, тоді:
8. Обчислювальна складність —
поняття теорії алгоритмів,
що позначає функцію залежності
обсягу роботи алгоритму
від об'єму вхідних даних
f(n), де n – об'єм вхідних даних
9. 3
прочитати дані поточного об'єкту
прочитати дані "найкращого" об'єкту
порівняти
1
0 або M
в середньому М/2 порівнянь, для кожного
необхідно ще прочитати поле, тобто 2*М/2
(якщо 1-ша умова хибна, сюди не потрапимо)
~4
0 або 1
(якщо умови хибні, сюди не потрапимо)
N повторів
f(n) = (4 + M)*N + 5
графік
y = (4+M)*N+5
10. 3
прочитати дані поточного об'єкту
прочитати дані "найкращого" об'єкту
порівняти
1
0 або M
в середньому М/2 порівнянь, для кожного
необхідно ще прочитати поле, тобто 2*М/2
(якщо 1-ша умова хибна, сюди не потрапимо)
~4
0 або 1
(якщо умови хибні, сюди не потрапимо)
N повторів
f(n) = (4 + M)*N + 5f(n) = 3*N + 5 + M
графік y = 3*N+5+M
11. y = f(n) = (4+M)*N+5
значить: функція,
що залежить від n
f(n) O(n)ϵ
Асимптотична складність – поняття,
що позначає рівень зростання обсягу
роботи алгоритму з ростом об'єму
вхідних даних
– лінійна
21. Підбор паролю
abcdefghijklmnopqrstuvwxyz
26n
комбінацій
?????? (n=6)
266
= 308 915 776
= 308 916 секунд
= 5 148.6 хвилин
= 85.8 годин
= 3.6 днів
2610
= 141 167 095 653 376
= 141 167 095 653 секунд
= 2 352 784 927.5 хвилин
= 39 213 082 годин
= 1 633 878 днів
= 4 000 років
?????????? (n=10)
• перебір з використанням словників
• імітація форми входу
• використання особистих даних для
відновлення паролю
та ін.
22. Задача про 8 ферзів
8х8 = 64 поля
4 426 165 368 комбінацій
розстановки ферзів
23. Не намагайтеся повторити це вдома
Як мінімум,
з перебору
слід виключити
зовсім безглузді варіанти
див. example8_1.py
24. Перша оптимізація
оскільки кожний ферзь
"пробиває" до кінця
вертикалі та горизонталі,
їх можна одразу
розподілити по 1 на лінії
і перебирати
лише 1 координату
див. example8_3.py
25. Перебір з поверненням (backtracking)
якщо на будь-якому
етапі перебору хоч 1 фігура
займає погану позицію,
всі наступні варіанти,
які її включають, також
будуть завідомо погані
тому ефективніше
повернутися на крок назад
і переставити цю фігуру,
одразу відкинувши ціле
сімейство поганих варіантів
див. example8_4.py
26. Ще одна оптимізація
початкову позицію
перших 4 фігур взагалі
легко розрахувати вручну
(0, 1) або (0, 0)
(1, 3) (1, 2)
(2, 5) (2, 4)
(3, 7) (3, 6)
див. example8_5.py
27. Евристичний алгоритм (евристика) —
це алгоритм розв'язку задачі,
який не має точного обґрунтування,
але в більшості практичних випадків
забезпечує прийнятну відповідь
(за якістю та часом роботи).
29. • чи є задача типовою?
• чи існує для неї точний відомий розв'язок?
• чи можна виявити закономірності і побудувати еврістичний алгоритм?
• спробуйте розв'язати задачу вручну
• невже її можна розв'язати лише перебором?
• точно???
• ну хоча б перебором із поверненням
• а розуміння, вироблене під час розв'язку вручну,
допоможе зменшити кількість варіантів
30. • f(n) O(k)ϵ — константна складність
• f(n) O(n)ϵ — лінійна складність
• f(n) O(nϵ k
) — поліноміальна складність
• f(n) O(nϵ 2
) — квадратична складність (частковий випадок)
• f(n) O(kϵ n
) — лінійна складність
• f(n) O(logϵ kn) — логарифмічна складність
Складність алгоритму можна приблизно оцінити за кількістю циклів
Для вибору алгоритму порівнюють вищу межу або середню складність
31. Дякую за увагу!
Над випуском працювали:
• Павлюченко Нікіта Сергійович
• Панібрат Марія Олексіївна
НТУУ "КПІ", 2015