Програмування штучного інтелекту для ігор

Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 6.121.02.E.054
Кількість кредитів: 8.00
Кафедра: Програмне забезпечення
Лектор: Сергій Іванов
Семестр: 6 семестр
Форма навчання: денна
Мета вивчення дисципліни: Системи штучного інтелекту широко використовуються для автоматизації вирішення важливих задач у таких предметних областях, як медицина, геологія, фінанси, промисловості, науці, та багатьох інших. Ринок програмного забезпечення на основі технологій штучного інтелекту (ШІ) з використанням методів машинного навчання розвивається дуже динамічно і оцінюється у мільйони доларів. За допомогою цих технологій успішно вирішуються важко формалізовані задачі, для яких не існує точних методів. Тому вивчення задач, методів та технологій ШІ та машинного навчання є актуальним для навчальної дисципліни ”Штучний інтелект та методи машинного навчання “ Мета вивчення - освоїти основи методології та технологічних рішень з розробки ІС для розв’язування актуальних задач у складі: 1. задач комп’ютерного зору 2. задач машинного навчання та задач розпізнавання образів; 3. задач використання популярних фреймворків для вирішення проблем машинного навчання. Методологiя включає: вивчення моделей знань для експертних задач, методів і алгоритмів побудови систем штучного інтелекту, баз знань для експертних систем, вивчення інструментальних засобів для машинного навчання і проектування систем ШІ.
Завдання: Вміння проектувати ігровий процес, виконувати візуалізацію, зокрема з використанням віртуальної реальності, забезпечувати анімацію, звук, фізику та інші аспекти гри. Здатність застосовувати методи штучного інтелекту й машинного навчання для створення спеціалізованого програмного забезпечення мультимедіа та ігор
Результати навчання: Вміти використовувати технології штучного інтелекту для програмування інтелектуалізації ігрових процесів
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Попередні навчальні дисципліни: Основи програмування Супутні і наступні навчальні дисципліни: Віртуальна реальність, Засоби програмування КГ, Проектування та розробка ігор
Короткий зміст навчальної програми: Курс «Штучний інтелект та методи машинного навчання» охоплює основні методи і засоби штучного інтелекту та машинного навчання. Подано моделі знань для задач ШІ і принципи побудови систем ШІ зокрема з використанням нейронних мереж та згорткових нейронних мереж. Подано приклади розв’язання різноманітних задач машинного навчання та комп’ютерного зору з використанням основних бібліотек мови Python та популярних фреймворків для ШІ таких як TensorFlow та Keras. Подано основні поняття комп’ютерного бачення та машинного навчання, такі як збір даних, моделювання, класифікація та регресія, а також показано обробку графічних даних та оцінювання якості моделей в методах машинного навчання.
Опис: Тема 1. Класифікація задач і систем ШІ. Основні терміни і поняття ШІ. Класифікація задач і систем ШІ. Предметні області застосування СШІ. Тема 2. Комп’ютерне бачення. Огляд OpenCV, операції з зображенням, обробка зображень, лінійна фільтрація зображень. Тема 3. Перетворення зображень. Афінне перетворення, перетворення перспективи. Пошук по шаблону. Тема 4. Знаходження візуальних ознак. Знаходження візуальних ознак для об’єктів на зображенні, їх опис і знаходження відповідності. Знаходження границь. Тема 5. Основні задачі машинного навчання. Використання мови Python для машинного навчання. Основні задачі машинного навчання. Використання мови Python для машинного навчання. Тема 6. Нейронні мережі. Огляд і структура нейронних мереж. Неглибокі нейронні мережі. Глибокі нейронні мережі. Популярні фреймворки: TensorFlow, Keras. Тема 7. Згорткові нейронні мережі. Структура згорткових нейронних мереж, область застосування. Поняття transfer learning (передача навчання), база даних ImageNet. Популярні програмні рішення на прикладі YOLO. Тема 8. Оцінювання і підвищення якості моделі в методах машинного навчання. Оцінювання і підвищення якості моделі в методах машинного навчання.
Методи та критерії оцінювання: Діагностика знань студентів проводиться за допомогою усного опитування та оцінювання звітів на лабораторних заняттях, опитування на практичних заняттях, тестування у ВНС.
Критерії оцінювання результатів навчання: Порядок і критерії виставляння балів та оцінок: 1. Якщо захист лабораторної роботи відбувається невчасно, з кожним відтермінованим тижнем захисту бали за роботу зменшуються на 1. 2. Бали поточного контролю підраховуються до початку екзаменаційної сесії. 3. Студент, який виконав менше 50% робіт поточного контролю, вважається неатестованим. Для нього пропонується повторне вивчення дисципліни. 4. Студент, який виконав більше 50% робіт поточного контролю, але не всі 100%, вважається недопущеним до екзамену та має можливість довиконати роботи поточного контролю і скласти іспит на комісії.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Рейнард Клетте Комп’ютерний зір. Теорія і алгоритми. - ДМК Прес 2. Стюарт Рассел. Пітер Норвіг. Штучний інтелект, сучасний підхід. – Діалектика. Київ. 3. Орельэн Жирон Прикладне машинне навчання з допомогою Skikit-Learn, Keras і TensorFlow – O’REALLY 4. Я. Гудфелоу. І. Бенджио. Глибинне навчання – ДМК Прес. 5. Маттес Е. Пришвидшений курс Python. – Львів : ВСЛ, 2021. 6. Селіверстов Р., Мельничин А. Основи програмування мовою Python: навч. посібник. – Львів : ЛНУ імені Івана Франка, 2020. 7. Wentworth P., Elkner J., Downey A., Meyers C. How to Think Like a Computer Scientist: Learning with Python 3. – Green Tea Press, 2018. 8. Python Tricks: The Book. — Dan Bader, 2017. 9. Sweigart A. Automate the Boring Stuff with Python: Practical Programming for Total Beginners. – No Starch Press, 2014. 10. McKinney W. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 2nd Edition. – O’Reilly Media, 2018. 11. OpenCV documentation –[ Eлектронний ресурс].- Режим доступу: https://docs.opencv.org/3.4.7/ 12. The Python Tutorial. –[Eлектронний ресурс].- Режим доступу: https://docs.python.org/3/tutorial/index.html 13. Lutz M. Learning Python, 5th Edition. – O’Reilly Media, 2013. 14. Lambert K. A. Fundamentals of Python: First Programs, 2nd Edition. – Cengage, 2019. 15. NumPy. – [Eлектронний ресурс].- Режим доступу: http://numpy.org .
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).