Image

Ефективність застосування алгоритмів для пошуку оптимізованого рішення

Навчальний заклад: Сумський заклад загальної середньої освіти І-ІІІ ступенів №10 Сумської міської ради

Автор: Почома Кирил Олегович

Відділення: Інформаційні технології

Секція: Програмна інженерія

Область: Сумська

Опис:

«Програма = Алгоритм + Структура даних». Ця формула дуже точно відображає той факт, що для розробки ефективної програми важливим являється як вибір (або розробка) ефективного алгоритму, так і вибір структури даних, до яких такий алгоритм буде застосовано. Кожна із таких складових частин програми не може бути виключена, оскільки правильний підбір структур даних є надзвичайно важливим для ефективного функціонування відповідних алгоритмів, а вибір ефективних алгоритмів у свою чергу дозволяє оптимізувати використання машинного часу та пам’яті. Таким чином одним із ключових понять програмування являється поняття алгоритмізації, оскільки, як було сказано вище, жодна програма не може бути написана без попередньої розробки алгоритму. Тому вивчення структур даних і алгоритмів, які є фундаментом сучасної методології розробки програм, оволодіння методами розробки алгоритмів та їх аналізу є одним із основних завдань фахівця з комп’ютерних наук та інформаційних технологій. Адже він повинен вміти орієнтуватись в існуючих алгоритмах, розуміти їх та аналізувати, видозмінювати відповідно до нових сфер використання. Ці знання дозволяють не лише створювати нові програми, але й є основою універсального мисленнєвого апарату, який необхідний у довільній сфері діяльності. Тому тема даного дослідження є актуальною. Мета дослідження - формування теоретичних знань та практичних умінь з аналізу та проєктування алгоритмів, що необхідно для побудови нових ефективних програм обробки інформації та застосування інформаційних технологій у науковій діяльності та у інших сферах діяльності. Завдання дослідження: 1. Дослідити теоретичні, методичні і алгоритмічні основи сучасних інформаційних технологій, загальні принципи побудови ефективних алгоритмів. 2. Дослідити сучасні методи дослідження та аналізу алгоритмів, способи та механізми реалізації ефективних алгоритмів у конкретних застосуваннях. 3. Створити програмне забезпечення, що проводить аналіз даних для здійснення неінформативного, інформативного та локального пошуку; проектування і аналіз алгоритмів для вирішення NP-складних задач; пошуку в умовах протидії, ігри з повною інформацією; пошуку в умовах протидії, ігри з елементом випадковості, ігри з неповною інформацією. 4. Аналізувати та вибирати обчислювальні методи розв'язання задач проєктування інформаційних систем за критеріями мінімізації обчислювальних витрат, стійкості, складності тощо.