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
Мета уроку: сформулювати поняття криволінійної трапеції та визначеного інтеграла; домогтися засвоєння формули Ньютона-Лейбніца і властивостей визначеного інтеграла.
Теореми теорії графів. Задача про сім мостів Кенігсберга. Алгоритм пошуку в глибину. Алгоритм пошуку в ширину. Алгоритм Крускала. Алгоритм Борувки. Алгоритм Прима
Визначений інтеграл та його геометричний змістFormula.co.ua
Мета уроку: сформулювати поняття криволінійної трапеції та визначеного інтеграла; домогтися засвоєння формули Ньютона-Лейбніца і властивостей визначеного інтеграла.
Теореми теорії графів. Задача про сім мостів Кенігсберга. Алгоритм пошуку в глибину. Алгоритм пошуку в ширину. Алгоритм Крускала. Алгоритм Борувки. Алгоритм Прима
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...tetiana1958
29 травня 2024 року на кафедрі зоології, ентомології, фітопатології, інтегрованого захисту і карантину рослин ім. Б.М. Литвинова факультету агрономії та захисту рослин Державного біотехнологічного університету було проведено відкриту лекцію на тему «Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випробувань пестицидів: шлях до підвищення якості та надійності досліджень» від кандидата біологічних наук, виконавчого директора ГК Bionorma, директора Інституту агробіології Ірини Бровко.
Участь у заході взяли понад 70 студентів та аспірантів спеціальностей 202, 201 та 203, а також викладачі факультету та фахівці із виробництва. Тема лекції є надзвичайно актуальною для сільського господарства України і викликала жваве обговорення слухачів та багато запитань до лектора.
Дякуємо пані Ірині за приділений час, надзвичайно цікавий матеріал та особистий внесок у побудову сучасного захисту рослин у нашій країні!
Практика студентів на складі одягу H&M у Польщіtetiana1958
Пропонуємо студентам Державного біотехнологічного університету активно поринути у аспекти логістики складу одягу H&M.
Метою практики є не тільки отримання теоретичних знань, а й їх застосування практично.
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