Дисертації (ІПІ)
Постійне посилання зібрання
У зібранні розміщено дисертації, які захищені працівниками кафедри.
Переглянути
Перегляд Дисертації (ІПІ) за Автор "Баклан, Ігор Всеволодович"
Зараз показуємо 1 - 1 з 1
Результатів на сторінці
Налаштування сортування
Документ Відкритий доступ Мова програмування та програмні засоби опису агентних моделей розповсюдження інфекційних захворювань(КПІ ім. Ігоря Сікорського, 2023) Сарнацький, Владислав Віталійович; Баклан, Ігор ВсеволодовичСарнацький В.В. Мова програмування та програмні засоби опису агентних моделей розповсюдження інфекційних захворювань. – Кваліфікаційна наукова праця на правах рукопису. Дисертація на здобуття наукового ступеня доктора філософії за спеціальністю 121 – Інженерія програмного забезпечення та 12 – Інформаційні технології. – Національний Технічний Університет України «Київський Політехнічний Інститут імені Ігоря Сікорського», Київ, 2023. Дисертаційна робота присвячена розробці інструментального забезпечення для ефективного моделювання процесів розповсюдження інфекційних захворювань. Висвітлено основні напрями та тенденції розвитку сфери епідеміологічного моделювання у цілому та зокрема процесу розробки агентних епідеміологічних моделей. Були виявлені переваги та недоліки запропонованих дослідницькою спільнотою рішень та, зокрема, обсяг, гнучкість та швидкодія програмних засобів моделювання. Серед програмних засобів моделювання не було помічено представників, що поєднують у собі доступний інтерфейс з високою швидкодією та гнучкістю опису моделей. Був зроблений висновок, що розробка предметно-орієнтованої мови програмування для опису агентних моделей та графічного середовища розробки та аналізу нададуть доступний інтерфейс опису моделі у поєднанні зі значною гнучкістю та швидкодією. Виконана побудова загального математичного апарату епідеміологічної моделі агентного типу. У рамках математичної моделі була сформульована основна складність агентного епідеміологічного моделювання, а саме урахування контактів під час обчислення розподілу майбутнього стану захворювання. Запропоновано три алгоритми обчислення цього розподілу, проаналізована їх алгоритмічна складність. Також, для одного з них – алгоритму з групуванням було виконане дослідження оптимальної його імплементації. З огляду на розроблену математичну модель було дано визначення формальної граматики предметно-орієнтованої мови опису агентної епідеміологічної моделі CTrace. Мова надає вбудований високорівневий інтерфейс для задання основних сутностей заданої загальної епідеміологічної моделі, а також відношень між ними. Мова підтримує задання ймовірнісних розподілів різного типу та основні операції між ними що значно спрощує задання соціодемографічної параметризації моделей. Виконана побудова транслятора розробленої формальної мови опису агентної епідеміологічної моделі. Розроблений транслятор є компілятором із конфігурованою проміжною мовою. Такою мовою може бути Python, який своєю чергою транслюється у мову машинних інструкцій під час процесу JIT-компіляції, або будь-яка мова загального призначення, що має інтерфейс до побудови Pythonмодулів. Такою мовою була обрана мова Rust. Основним аспектом алгоритму трансляції є мінімізація кількості виділень пам’яті у процесі виконання результівної програми. Для цього, компілятор обраховує загальний обсяг пам’яті, необхідний для роботи моделі, і використовує буфер відповідного розміру для організації усіх обчислень. Розроблене середовище розробки та аналізу агентних епідеміологічних моделей з використанням мови CTrace – CTraceEnv. Розроблене середовище надає базовий функціонал необхідний для підтримки процесу опису моделей мовою CTrace, що включає підсвітку синтаксису вихідного коду, вбудований транслятор тощо. Серед функціоналу аналізу представлені елементи керування роботою моделі, значень її глобальних параметрів, інтерфейс перегляду динаміки розповсюдження досліджуваного інфекційного захворювання, а також функціонал експорту результатів для подальшого аналізу сторонніми спеціалізованими інструментами. Проведений аналіз розробленої мови опису агентних епідеміологічних моделей з боку доцільності її використання, обсягу сценаріїв, що можуть бути змодельовані, ефективності розробки та використання Виконана практична апробація розробленого інструментарію для ефективного моделювання розповсюдження інфекційних захворювань. У її рамках, було дано визначення агентної епідеміологічної моделі розповсюдження коронавірусу SARS-CoV-2 серед населення Польщі у період з початку вересня 2020 року до кінця листопада 2020 року, що була відкалібрована з використанням публічно доступних епідеміологічних даних. Результівна модель описує динаміку зміни кількості інфікованих людей з коефіцієнтом детермінації рівним 0.9319, що свідчить про здатність розробленого підходу описувати процеси розповсюдження інфекційних захворювань. Проведений аналіз впливу соціодемографічної гетерогенності середовища моделювання на якість карантинних стратегій побудованих на його основі. Відповідний експеримент полягав у реалізації алгоритму пошуку карантинних стратегій для заданої агентної епідеміологічної моделі країни Європейського Союзу. Соціодемографічна параметризація моделі побудована з використанням статистичного моделювання на основі відкритих історичних даних, з відкритої бази статистичних даних Eurostat. Знайдені алгоритмом стратегії були порівняні із тривіальними, що показало більшу їх ефективність та використані у процесі перехресного порівняння. Для цього, стратегія, отримана з моделі країни тестування була порівняна з іншими. В обох випадках критерієм порівняння виступала сумарна винагорода за дії агента, що використовує відповідну стратегію у середовищі моделювання, сформульованим як Марківський процес вирішення. Аналіз показав, що для покращення їх якості соціодемографічні показники мають бути ураховані, що, своєю чергою, показує необхідність наявності їх задання у будь-якому інструменті епідеміологічного моделювання. Це свідчить про доцільність тої уваги, що була приділена процесу їх задання при розробці мови CTrace. Окремо був проведений якісний аналіз спектра сценаріїв, що можуть бути змодельовані з використанням мови CTrace. Показано моделювання таких аспектів агентного епідеміологічного моделювання як: динамічні параметри моделі та її сутностей, географія середовища, погодні умови, векторні захворювання. Аналіз ефективності розробки епідеміологічних моделей мовою CTrace показав значне скорочення обсягу вихідного коду програми у порівнянні з моделями імплементованими мовами програмування загального призначення. В якості цих моделей, був використаний лістинг програмного коду проміжною мовою, що генерується транслятором. Скорочення обсягу програмного коду становило від 14 до 34 разів для мови Python та від 16 до 45 разів для мови Rust. Це скорочення може свідчити про зменшення кількості людино-годин необхідних для їх розробки, а також збільшену швидкість ітерування. Окрім цього, зменшення обсягу вихідного коду призводить до зменшення кількості помилок, що, своєю чергою, зменшує час опису моделей. Дано визначення метрики функціональності інструменту епідеміологічного моделювання, що дозволяє оцінити обсяг сценаріїв та функцій доступних користувачу. Дано визначення метрики ефективності моделі, що дозволяє виконувати порівняння різних моделей та інструментів моделювання з точки зору їх обчислювальної ефективності. Ця метрика є інваріантною до кількості агентів, тривалості симуляції, її гранульованості та кількості одночасно залучених до обчислення моделі ядер центрального процесору. Аналіз швидкодії результівних моделей, заданих мовою CTrace, ставив дві мети: обґрунтувати доцільність використання мови Python як проміжної мови трансляції, а також порівняти їх швидкодію з наявними моделями. Показано, що використання мови Python з бібліотекою для JIT-компіляції Numba дозволяє отримати швидкодію моделей, порівняну з отриманою у разі використання мови Rust, ефективність якої порівняна з C/C++. При цьому, гнучкість мови Python дозволяє відносно просто вносити корективи у процес трансляції. Експерименти з використанням різних тестових середовищ показали, що існуючі епідеміологічні моделі не виграють у швидкодії у розроблених мовою CTrace еквівалентів. З результатів порівняння розробленого середовища CTraceEnv з аналогами за визначеними метриками ефективності та функціональності можна зробити висновок що обсяг функцій агентного епідеміологічного моделювання наданий CTraceEnv є значно більшим за аналоги й приблизно відповідає середовищу NetLogo, надаючи при цьому ефективність результівних моделей, що не програє аналогам.