Проекты

Симуляция вспышки инфекции средствами программного продукта PYTHON / Simulation of an infection outbreak by means of a python software product

Работа победителя открытой городской научно-практической конференции «Курчатовский проект: от знаний к практике, от практики к результату» в секции «Мастер-класс на английском языке»

Направление работы: Создание симулятора вирусной инфекции
Авторы работы: ГБОУ Школа № 1569 «Созвездие»
Предметы: Биология, Информатика, Английский язык
Классы: 8 класс
Мероприятия: Открытая городская научно-практическая конференция «Курчатовский проект – от знаний к практике, от практики к результату» 2021 года

Актуальность

Ежегодно человечество сталкивается с большой и малоизученной опасностью – вирусами. Каждый год появляются новые и более коварные виды вирусов, которые угрожают нам эпидемиями и гибелью большого количества людей. Жителей нашей планеты уже поражали вирусы холеры, чумы, вирус иммунодефицита человека (ВИЧ), вирус гепатита, вирус лихорадки Эбола, вирус Зика.

В конце 2019 – начале 2020 года тема вирусов, вспышек инфекционных заболеваний, эпидемий и пандемий стала вновь актуальной из-за нового неизвестного вируса Covid-19 (коронавируса), поразившего людей во всех странах мира.  Столкнувшись с неизученным вирусом, люди не знали точно, какие из проводимых противодействующих мероприятий окажутся более эффективными. Возможным выходом могло послужить принятие очевидных решений, например, введение карантина и повсеместная антисептическая обработка. Эффективность и целесообразность принимаемых мер покажет время, а также оценка урона, нанесённого вирусом человечеству. Проект направлен на создание программного продукта, способного помочь в организации мероприятий по борьбе с эпидемиями.

Цель

Создание программного продукта, позволяющего моделировать поведение вирусной инфекции в заданной популяции.

Задачи

  1. Изучить характеристики инфекций и инфицируемых объектов, определяющие развитие инфекции в популяции организмов.
  2. Построить алгоритм поведения вирусной инфекции внутри популяции на основе заданных характеристик.
  3. Реализовать алгоритмы в программном коде на языке Python с применением библиотеки Tkinter.
  4. Визуализировать работу программы.
  5. Провести апробацию программы, устранить (при необходимости) возникающие проблемы программирования.
     

Оснащение и оборудование, использованное при создании работы

  • Данные различных отечественных и зарубежных сайтов с сентября 2020 по январь 2021 года
  • Алгоритмы в программном коде на языке Python с применением библиотеки Tkinter

Описание

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

Программный код симуляции состоит из трех файлов, первый из которых Virus.py описывает классы Вируса (class Virus), Человека (class Human) и Популяции (class Population). Второй файл Start.py задает настройки вируса и количество групп в популяции, а также описывает последовательность выполняемых переходов между группами популяции. Третий файл main.py настраивает визуализацию и отрисовывает процесс симуляции с помощью библиотеки tkinter, он же является точкой входа в программу.

Результаты работы/выводы

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

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

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

Перспективы использования результатов работы

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

Развитие проекта могло бы помочь принимать более взвешенные решения по противоэпидемическим мероприятиям.

Мнение автора

«Работа позволила мне углубить знания программного языка, глубоко познакомиться с разделом биологии, посвящённым вирусам, совершенствовать знание английского языка»