Бездетный Николай Артёмович

Институт компьютерных наук и технологий

Факультет интеллектуальных систем и программирования

Кафедра Программная инженерия им. Л. П. Фельдмана

Специальность Программная инженерия

Разработка модели и симуляция распространения эпидемии вируса с использованием игрового движка Unity

Научный руководитель: зав. каф., д.т.н., доцент Зори Сергей Анатольевич

Реферат

Содержание

Введение

Вирусы – это частицы, микропаразиты, функционирующие на границе живых организмов и химических соединений. Имеют способность создания кристаллических структур, что характерно для неживой материи, а с другой стороны, могут размножаться и разносить болезни. Попадая в клетки слизистых оболочек человека, они начинают размножаться и разрушают клетки организма, что приводит к образованию воспалительных процессов и, как следствие, приводят к проблемной симптоматике [1].

Примерами известных вирусных заболеваний человека могут служить простуда, грипп, ветряная оспа и простой герпес. Многие серьёзные болезни, например, лихорадка Эбола, СПИД, птичий грипп и пневмония тоже вызываются вирусами.

Эпидемиология является частью медицинской науки, изучающей передачу и контроль вирусных инфекций среди людей. Она используется, чтобы приостановить распространение инфекции в популяции во время вспышки вирусного заболевания. Предпринимаются контрольные меры, которые основаны на знании того, как распространяется вирус. Если вспышка приводит к высокому числу случаев заболевания в популяции или регионе, то она называется эпидемией. Если вспышки имеют широкое распространение, то говорят о пандемии [2].

Тема данной работы, связанная с разработкой компьютерной симуляции и изучением современных технологий ее реализации, является актуальной, так как проблема вирусной заболеваемости и возникновение эпидемий требует оперативного решения и активно исследуется во всем мире, в том числе – и с использованием математического аппарата и компьютеров.

Математическое компьютерное моделирование используется для исследования механизмов распространения болезни. Такие модели позволяют прогнозировать и оценивать динамики передачи заболеваний. Это позволяет анализировать и контролировать ситуацию, связанную с распространением вируса, а также предугадывать серьёзные последствия и принимать соответствующие меры по их устранению.

За основу базовой модели процесса симуляции выбрана SIR-модель [3]. Усовершенствование этой компьютерной модели направлено на повышение информативности и наглядности процесса симуляции за счет внедрения трехмерной визуальной составляющей симуляции и регулируемых параметров, влияющих на модель, что впоследствии также позволяет гибко получать конечные результаты при помощи варьировании структур, алгоритмов и параметров модели.

В качестве инструментов для разработки симуляции выбраны – мощный кроссплатформенный движок Unity, современный объектно-ориентированный язык программирования C#, а также пакет для создания трехмерной компьютерной графики – Blender.

В плане развития на будущее возможно усовершенствование представленной модели (введение дополнительных параметров, увеличение точности поведения и т.п.).

1. Анализ предметной области

1.1 Основные понятия

Моделирование – это процесс представления модели, который включает ее построение и работу. Эта модель похожа на реальную систему, которая помогает аналитику прогнозировать влияние изменений в системе. Другими словами, моделирование создает модель, которая представляет систему, включающую их свойства. Это акт построения модели [4].

Имитация системы – это работа модели с точки зрения времени или пространства, которая помогает анализировать производительность существующей или предлагаемой системы. Другими словами, симуляция – это процесс использования модели для изучения производительности системы. Это акт использования модели для моделирования [4].

Объект – это сущность, существующая в реальном мире для изучения поведения модели. Базовая модель – это гипотетическое объяснение свойств объекта и его поведения, которое действует во всей модели.

Экспериментальный фрейм используется для изучения системы в реальном мире, такой как экспериментальные условия, аспекты, цели и т. д. Базовый экспериментальный фрейм состоит из двух наборов переменных – входных переменных фрейма и выходных переменных фрейма, которые соответствуют системе или модели. Входная переменная Frame отвечает за сопоставление входов, примененных к системе или модели. Выходная переменная Frame отвечает за сопоставление выходных значений с системой или моделью.

Проверка – это процесс сравнения двух или более элементов для обеспечения их точности. Проверка может быть выполнена путем сравнения согласованности программы моделирования и сосредоточенной модели для обеспечения их производительности.

Валидация – это процесс сравнения двух результатов. Проверка выполняется путем сравнения измерений эксперимента с результатами моделирования в контексте экспериментального фрейма. Модель недействительна, если результаты не совпадают.

Визуализация – это любой способ создания изображений, диаграмм или анимаций для коммуникационного сообщения. Визуализация с помощью образов была эффективным способом коммуникационного обмена как абстрактными, так и конкретными идейными сущностями с самого начала истории человечества.

1.2 Процесс моделирования

Процесс моделирования включает три элемента:

  • субъект (исследователь);
  • объект исследования;
  • модель, определяющую (отражающую) отношения познающего субъекта и познаваемого объекта.

Первый этап построения модели предполагает наличие некоторых знаний об объекте-оригинале. Познавательные возможности модели обуславливаются тем, что модель отображает (воспроизводит, имитирует) какие-либо существенные черты объекта-оригинала. Вопрос о необходимой и достаточной мере сходства оригинала и модели требует конкретного анализа. Очевидно, модель утрачивает свой смысл как в случае тождества с оригиналом (тогда она перестаёт быть моделью), так и в случае чрезмерного во всех существенных отношениях отличия от оригинала. Таким образом, изучение одних сторон моделируемого объекта осуществляется ценой отказа от исследования других сторон. Поэтому любая модель замещает оригинал лишь в строго ограниченном смысле. Из этого следует, что для одного объекта может быть построено несколько специализированных моделей, концентрирующих внимание на определённых сторонах исследуемого объекта или же характеризующих объект с разной степенью детализации.

На втором этапе модель выступает как самостоятельный объект исследования. Одной из форм такого исследования является проведение модельных экспериментов, при которых сознательно изменяются условия функционирования модели и систематизируются данные о её поведении. Конечным результатом этого этапа является множество (совокупность) знаний о модели.

На третьем этапе осуществляется перенос знаний с модели на оригинал – формирование множества знаний. Одновременно происходит переход с языка модели на язык оригинала. Процесс переноса знаний проводится по определённым правилам. Знания о модели должны быть скорректированы с учётом тех свойств объекта-оригинала, которые не нашли отражения или были изменены при построении модели.

Четвёртый этап – практическая проверка получаемых с помощью моделей знаний и их использование для построения обобщающей теории объекта, его преобразования или управления им.

Моделирование – циклический процесс. Это означает, что за первым четырёхэтапным циклом может последовать второй, третий и т. д. При этом знания об исследуемом объекте расширяются и уточняются, а исходная модель постепенно совершенствуется. Недостатки, обнаруженные после первого цикла моделирования, обусловленные малым знанием объекта или ошибками в построении модели, можно исправить в последующих циклах [5].

Сейчас трудно указать область человеческой деятельности, где не применялось бы моделирование. Разработаны, например, модели производства автомобилей, выращивания пшеницы, функционирования отдельных органов человека, последствий атомной войны. В перспективе для каждой системы могут быть созданы свои модели, перед реализацией каждого технического или организационного проекта должно проводиться моделирование.

1.3 Концепции и классификация

В силу многозначности понятия модель в науке и технике не существует единой классификации видов моделирования: классификацию можно проводить по характеру моделей, по характеру моделируемых объектов, по сферам приложения моделирования (в технике, физических науках, кибернетике и т. д.) [5].

В настоящее время по технологии моделирования и области применения выделяют такие основные виды моделирования:

  • Информационное моделирование;
  • Компьютерное моделирование;
  • Математическое моделирование;
  • Биологическое моделирование;
  • Молекулярное моделирование;
  • Логическое моделирование;
  • Педагогическое моделирование;
  • Психологическое моделирование;
  • Статистическое моделирование;
  • Структурное моделирование;
  • Физическое моделирование;
  • Экономико-математическое моделирование;
  • Эволюционное моделирование;
  • Натурное моделирование.
1.4 Обзор существующих методов, технологий, моделей и средств
1.4.1 Математическое моделирование

Математические методы для изучения заболеваний были впервые применены в 1760 году Даниэлем Бернулли. С их помощью, он оценивал эффективность различных способов прививки против оспы. В 1840 году Уильям Фарр описал данные по смертности от оспы в Великобритании, кривой нормального распределения. Позже, данный метод был развит Джоном Браунли, который опубликовал в 1906 году статью Статистический подход к иммунной защите: теория эпидемий [6], где он сравнивал ряды эпидемиологических данных на основе распределения Пирсона. Два других учёных того времени, Хамер и Росс, применив одними из первых математическое описание распространения болезней, смогли решить задачи по выяснению механизмов регулярного возобновления эпидемии кори и установлению взаимосвязи между численностью комаров и возникновением малярии [7].

Одной из наиболее ценных работ, посвященных моделированию эпидемии, является работа У.Кермака (W.O.Kermack) и А.МакКендрика (A.G.McKendrick) A Contribution to the MathematicalTheory of Epidemics. Концепция Kermack-McKendrick – это гипотеза о распространении инфекционных заболеваний среди населения. В 1927 году они разместили свою теорию в статье [8], которая стала источником SIR-модели. В этой модели различают три группы популяции: здоровые или восприимчивые (от англ. susceptible) индивидуумы, способные заразиться при контакте с инфицированными (от англ. infected), а также выздоровевшие, которые перестали распространять болезнь (от англ. recovered). Эта модель не потеряла своей актуальности до сих пор и хорошо подходит для моделирования.

В книге Mathematical Models in Biology [9] детально обсуждается модель SIR, а также её дополнения и модификации: SI, SIS, SIRS. Особенность этих моделей заключаются в том, что человек после болезни может повторно войти в группу восприимчивых лиц и быть снова инфицирован. Другая модификация SEIR, показывает модель, где человек может быть заражён, но находится на стадии инкубационного периода.

Herbert W. Hethcote, в своей статье [10], проанализировал множество математических моделей распространения инфекционных заболеваний среди популяции и применил их к конкретным заболеваниям. Отдельное внимание уделяется модели MSEIR, которая учитывает рождаемость и смертность. В ней население разделено на 5 групп: с пассивным иммунитетом, чувствительные, латентные, инфицированные и невосприимчивые.

В 2020 году в Базельском университете команда Ричарда Нейерома модифицировала модель SEIR с учётом специфики новой пандемии коронавируса. Доработанная модель включает концепцию так называемого эпидемического перехода. Другими словами, симуляция ведёт себя совсем по-разному в зависимости от переменной Ro. Каждый инфицированный человек может заразить несколько здоровых. Ro показывает среднее количество людей, которое один инфицированный может заразить в период своей болезни. Если Ro меньше единицы, эпидемия постепенно стихает, а если больше – экспоненциально растёт. Как работает Ro, зависит от конкретного вируса, процента населения, у которого вырабатывается иммунитет к вирусу, а также от мер, которые принимает население для сдерживания эпидемии [11].

В качестве наглядного примера математической модели в непрерывном времени можно привести классическую модель Кермака-Маккендрика. Для начала определяются переменные и параметры модели.

Таблица 1 – Переменные и параметры модели

Символ

Значение

S(t)

численность восприимчивых индивидов в момент времени t

I(t)

численность инфицированных индивидов в момент времени t

R(t)

численность переболевших индивидов в момент времени t

B

коэффициент интенсивности контактов индивидов с последующим инфицированием

v

коэффициент интенсивности выздоровления инфицированных индивидов

Популяция считается фиксированной, т.к. сумма численностей всех групп даёт постоянное значение N. Далее модель может быть выражена обыкновенными дифференциальными уравнениями:

formula1

(1)

formula2

(2)

formula3

(3)

Начальные условия в момент времени t = 0

formula4

(4)

Правая часть уравнения (1) описывает уменьшение популяции восприимчивых индивидуумов за счет заражения инфицированными индивидуумами восприимчивых. Первое слагаемое правой части уравнения (2) описывает увеличение популяции инфицированных индивидуумов, за счет заражения восприимчивых; второе слагаемое правой части уравнения (2) описывает уменьшение популяции инфицированных индивидуумов за счет выздоровления или смерти индивидуумов. Правая часть уравнения (3) описывает увеличение популяции невосприимчивых индивидуумом за счет выздоровления или смерти инфицированных [12]. Такой переход можно описать в виде схемы (рис 1.).

pic1

Рисунок 1 – Общая схема перехода индивидуума из класса в класс (анимация: 11 кадров, 10 циклов повторения, 89 килобайт)

Стоит отметить, что правые части уравнений (1), (2), (3) в сумме дают ноль, так что общий размер популяции остается неизменным. Это важное свойство данной модели. Для его сохранения, в класс невосприимчивых попадают и выздоровевшие индивидуумы и умершие. Это логичный прием, так как в обоих этих случаях индивидуум не может заразить остальную популяцию [12]. Параметр интенсивности инфицирования восприимчивых, называемый также силой инфекции, имеет следующий вид:

formula5

(5)

1.4.2 Компьютерное моделирование

Касаемо сегодняшней ситуации в мире, то в интернете можно найти различные математические модели, основанные как на вышеупомянутых методах, так и на кардинально новых принципах и методиках. Но зачастую, авторы берут уже существующий метод или модель и начинают развивать её по своему усмотрению. Например, за основу своей модели берут 3 группы людей из SIR-модели и вычисляют ситуацию, не при помощи уравнений и математики, а визуально моделируют и программируют поведение людей и процесс распространения вируса среди них. Такая интерпретация модели в интерактивные системы более проста для восприятия. Они наглядно показывают всю возможную опасность и помогают лучше понимать, что может произойти. А при помощи ввода различных мгновенно регулируемых параметров и факторов описывают как можно влиять и управлять ситуацией. То есть происходит процесс прогнозирования и контроля последствий.

Один из таких примеров – симуляция из статьи [13] журналиста Гарри Стивенса в The Washington Post Почему такие вспышки, как коронавирус, распространяются по нарастающей, и как ослабить их рост. Основа данной модели состоит в том, что визуально показывается замкнутое пространство, по которому в случайном направлении могут перемещаться небольшие шарики. То есть представлена абстракция города с населением. Каждый шарик имеет цвет в зависимости от его текущего состояния – голубой – здоровый, коричневый – больной и розовый – выздоровевший. При этом моделирование заражения происходит как в реальной жизни: при контакте здорового шарика с больным, первый может заразится, а затем через некоторое время выздороветь (рис. 2).

pic2

Рисунок 2 – Визуальное представление модели

При помощи ввода различных факторов и условий, которые меняли поведение шариков или вводили ограничения, автор показал 4 модели, описанные при помощи графиков. В каждом из них описаны варианты возможного распространения вируса в зависимости от предпринятых мер (рис. 3). Следует заметить, что в данной модели отсутствует такой показатель, как смертность, которая может быть результатом заражения.

pic3

Рисунок 3 – Варианты возможного развития модели

Другая статья [14] рассказывает о первокурсниках ФКН, которые создали похожую симуляцию распространения коронавируса. В симуляции можно проследить, как соблюдение режима самоизоляции и правил гигиены жителями города влияет на динамику заболеваемости, отражаемой на графиках. В ней присутствуют 4 регулируемых параметра, которые влияют на поведение людей, а динамика эпидемии отображается на графиках. Основой модели является минималистическая карта города, где шарики уже ходят, не в случайном направлении, а по улицам, от одного дома к другому. То есть у них определен заданный маршрут (рис. 4).

pic4

Рисунок 4 – Визуальное представление модели, приближенной к реальному поведению

Также стоит отметить, что на карте присутствуют специальные здания. Синим цветом обозначены постройки моделирующие общественные места, где обычно присутствует большое количество людей. По сравнению с прошлой рассматриваемой абстрактной моделью, данная модель уже более приближенна к реальности и симулирует естественное поведение человека.

1.5 Анализ основных достоинств и недостатков

Главным плюсом, каждой из рассмотренных методик, является то, что независимо от сложности и реализации модели, мы получаем какой-то набор данных, которые впоследствии можно обработать, например, спроецировать на графиках или спрогнозировать поведение ситуации и методов её решения. Отдельно можно выделить визуальные модели, которые по точности не уступают математическим, а по наглядности лучше раскрывают и показывают всю ситуацию.

Однако, как указывалось выше, основным минусом некоторых рассмотренных моделей и методик является отсутствие наглядной реализации, визуальной симуляции реальной жизни.

Моделирование ситуации при помощи математики (моделей на основе уравнений, формул) может не учитывать большое количество внешних факторов, что иногда приводит к ошибочным результатам и неправильному решению по урегулированию ситуации. Что касается визуального моделирования (симуляции), то здесь существующие модели либо приводятся к абстрактному минимуму (город – замкнутый контур, население города – круги, которые двигаются в разных направлениях и т.п.), либо им не хватает факторов и условий, которые повторяют реальную жизнь.

В качестве решения данной проблемы предлагается выполнить, на основе выбранной и модернизированной с точки зрения ее адекватности модели, наглядную визуальную симуляцию в трёхмерном пространстве с использованием движка Unity и языка программирования C#. Это позволит моделировать и визуально имитировать ситуацию распространения эпидемии вируса с учетом многих изменяемых факторов.

2. Постановка задачи проектирования

Цель работы – разработка модели распространения эпидемии вируса и ее визуальная симуляция с использованием движка Unity. Для достижения поставленной цели необходимо решить следующие задачи:

  1. Анализ актуальных моделей распространения эпидемии вируса, выявление их достоинств и недостатков;
  2. Проанализировать реальные факторы для приближения моделей к большей адекватности;
  3. С учетом выполненного анализа разработать базовую многофакторную модель распространения эпидемии вируса с повышенной адекватностью к реальности;
  4. Выполнить проверку разработанной модели на основе реальных статистических данных;
  5. Разработать стратегию визуальной симуляции распространения эпидемии вируса на основе предложенной модели и средств ее реализации на базе игрового движка Unity;
  6. Выполнить проектирование приложения и его программных модулей для моделирования и визуальной симуляции распространения эпидемии вируса и реализовать его прототип;
  7. Выполнить анализ симуляций и сравнение с реальными данными, определить характеристики и достоинства и недостатки предложенной модели и разработанных средств визуальной симуляции.

В качестве основного средства и инструмента для разработки симуляции будет использован игровой движок Unity. Логика симуляции, реализованная через написание скриптов, будет осуществляться в среде разработки Visual Studio, при помощи современного объектно-ориентированного языка программирования C#. Визуальная составляющая симуляции, различные модели и прочая атрибутика будет разработаны при помощи пакета для создания трехмерной компьютерной графики Blender, но отображаться будет непосредственно в самом движке.

В связи со спецификацией выбранного инструмента разработки, проект будет состоять из нескольких сцен различного назначения: стартовое меню с начальными параметрами, сцена процесса симуляции и регулирования параметров модели, сцена с выходными данными и графиками. Аналитик может задавать определенные условия, после чего переходить к процессу симуляции, в любой момент ускоряя или приостанавливая её, для просмотра текущих данных в цифровом или графическом варианте.

Заключение

При рассмотрении существующих методов, технологий и средств для разработки модели и симуляции распространения эпидемии вируса были выявлены их достоинства и недостатки, проанализированы основные принципы и методики математического и компьютерного моделирования, а также была выполнена общая постановка задачи, поставлена цель и составлен перечень задач для ее реализации.

Поставлены основные задачи для реализации проекта симуляции распространения эпидемии вируса, обоснованы и выбраны базовые средства его разработки, определены основные рабочие части для реализации логики работы приложения.

Список источников

  1. Что такое вирус [Электронный ресурс] – Режим доступа: https://neosine.pl/ru/viruses-1/what-is-a-virus/ – Загл. с экрана.
  2. Вирусы [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Вирусы – Загл. с экрана.
  3. SIR и разновидности [Электронный ресурс] – Режим доступа: https://www.anylogic.ru/blog/sir-i-raznovidnosti-modeli-covid-epidemii-v-rossii/ – Загл. с экрана
  4. Моделирование и симуляция – Краткое руководство [Электронный ресурс] - Режим доступа: https://coder-lessons.com/tutorials /akademicheskii/modelirovanie-i-simuliatsiia/modelirovanie-i-simuliatsiia-kratkoe-rukovodstvo – Загл. с экрана.
  5. Моделирование [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Моделирование – Загл. с экрана.
  6. Brownlee, John. "Statistical studies in immunity: the theory of an epidemic." Proceedings of the Royal Society of Edinburgh (1906): 484–521.
  7. Леоненко В.Н. Математическая эпидемиология. Учебно–методическое пособие по выполнению лабораторных работ. Учебно–методическое пособие. – СПб: Университет ИТМО, 2018. – 38 с.
  8. Kermack, W. O.; McKendrick, A. G. A Contribution to the Mathematical Theory of Epidemics, 1927. Vol. 1 15, No. A771, P. 700–72 1.
  9. Edelstein–Keshet L. Mathematical Models in Biology. Society for Industrial and Applied Mathematics, 2005.
  10. Herbert W. Hethcote. The Mathematics of Infectious Diseases // SIAM Review, 2000. Vol. 42, Iss. 4, P. 599-653.
  11. Моделирование распространения вируса [Электронный ресурс] – Режим доступа: https://nfp2b.ru/2020/04/06 /modelirovanie-rasprostraneniya-virusa/ – Загл. с экрана.
  12. Математическая модель эпидемии лихорадки Эбола [Электронный ресурс] – Режим доступа: https://nauchkor.ru/uploads /documents/ 587d36545f1be77c40d58cd2.pdf – Загл. с экрана.
  13. Почему такие вспышки, как коронавирус, распространяются по нарастающей, и как ослабить их рост [Электронный ресурс] – Режим доступа: https://www.washingtonpost.com /graphics /2020/world/corona-simulator/ – Загл. с экрана.
  14. Первокурсники ФКН создали симуляцию распространения коронавируса [Электронный ресурс] – Режим доступа: https://www.hse.ru/our/ news/359308614.html – Загл. с экрана.