Skip to main content

A OpenAI Gym Env for covid19outbreak

Project description

gym-covid19outbreak


covid19outbreak pays tribute to all researchers in African pharmacopoeia, epidemiologists, doctors, nurses, etc. who have fought valiantly against Sars-Cov II

Table of Contents

  1. Game-presentation

    1. Introduction
    2. Object of the game
    3. Gameplay
  2. Rules

    1. Starting-positions
    2. moves
  3. Environments

    1. Episode termination
    2. Observations
    3. Actions
    4. Reward
  4. Installation

  5. Usage

    1. Citation
    2. Contribute

Game-presentation

https://en.wikipedia.org/wiki/Covid19_pandemic

Introduction

It was on March 11, 2020 that the World Health Organisation (WHO) declared the coronavirus pandemic. During this same period, Italy was the main focus and then the USA took the place. In March 17, 2020 many countries in Africa was closed borders and banning flights from elsewhere. Covid19outbreak is a single-player simulator strategy board game. Player start with 10 lifes and priority is to save all patients.

Object of the game

By looking for the way to save patient, player must avoid Sars-Cov II and keep its life. If he save all patients player wins otherwise the game begins very difficult.

Gameplay

During the game, player must be stratege by finding a plant and avoiding Sars-CovII in their way. If player touches viruse and have a plant, he kill viruse. If player touches viruse without a plant, he looses some percentage of life and he contaminates environment. Patient is unstable due to collision with viruses.

Rule

Starting-positions

Player starts in bottom of screen with 5 virus, 7 patients and 5 plants.

Moves

Players can move following theses directions:

  • Up, Left, Right, Down

  • LeftTop, RightTop, LeftBottom, RightBottom, NOOP

Environment

Observation

The observation is a numpy arrays of size (480, 520, 3). This arrays is a dtype=np.uint8 value in the [0, 255] range. You can see image below.


gym-covid19outbreak

Actions

The moves is the 8 directions mentioned before. Player can go everywhere in the screen to reach his objective.


agent can move Up, Left, Right, Down, LeftTop, RightTop, LeftBottom, RightBottom in the screen.

Reward

Player have four rewards:

  1. If boy hits a plant: reward = 1 + number of plant collected + 0.01 during an episode.

  2. If boy saves a patient: reward = 1 + number of patient saved during an episode.

  3. If boy hits Sars-Cov II with a plant: reward = number of plant + 0.01 - 2, 0.01 is a decay life.

  4. If boy hits Sars-Cov II without having a plant: reward = - 3 - 0.01.

In beginning of game, player have 10 lifes by hitting the viruse without a plant, life = life - 1.

Do not forget that player can contaminate environment by creating two viruses each time after infection.

Episode termination

The episode is terminated if agent looses all its life or saves all patients or kills all viruses.

Requirement

  • python 3.7+
  • OpenAI gym
  • Numpy
  • Pygame
  • PIL
  • Keras or Tensorflow or Pytorch

Dependencies can be installed with pip or conda

Using pip

$ git clone https://github.com/batalong123/gym-covid19outbreak.git
$ cd gym-covid19outbreak
$ pip install -e .

or

pip install gym-covid19outbreak

Usage

import gym
import gym_covid19outbreak

env = gym.make('covid19Attack-v0')
MAX_EPISODE = 10

for i in range(MAX_EPISODE):

	env.reset()
	done = False
	total_reward = 0

	while not done:

		action = env.action_space.sample()

		obs, reward, done, info = env.step(action)
		total_reward += reward
		env.render()

	print(f'Episode: {i+1}/{MAX_EPISODE}', f'reward: {total_reward}', f'done: {done}')

env.close()

Citation

Bibtex if you want to cite this repository in your publications:

@misc{gym_covid19outbreak,
  author = {Massock Batalong M.B.},
  title = {Covid19outbreak Environments for OpenAI Gym},
  year = {2022},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/batalong123/gym-covid19outbreak}},
}

Contribute

Feel free to contribute to this project. You can fork this repository and implement whatever you want. Alternatively, open a new issue in case you need help or want to have a feature added.

contact: lumierebatalong@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gym-covid19outbreak-0.0.2.tar.gz (343.9 kB view details)

Uploaded Source

Built Distribution

gym_covid19outbreak-0.0.2-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file gym-covid19outbreak-0.0.2.tar.gz.

File metadata

  • Download URL: gym-covid19outbreak-0.0.2.tar.gz
  • Upload date:
  • Size: 343.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.3 tqdm/4.56.0 importlib-metadata/4.8.1 keyring/22.0.1 rfc3986/1.4.0 colorama/0.4.4 CPython/3.7.6

File hashes

Hashes for gym-covid19outbreak-0.0.2.tar.gz
Algorithm Hash digest
SHA256 6d30963322a745431f576ba1fab770ddd11819000155a2f5a705a68ae00dc9ae
MD5 36e7973acb8405e2f65c36d7b3169d0c
BLAKE2b-256 6264dfe881e3dc1560464b23239c674e679930fc4957f1790cd8d3d9eb794164

See more details on using hashes here.

File details

Details for the file gym_covid19outbreak-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: gym_covid19outbreak-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.3 tqdm/4.56.0 importlib-metadata/4.8.1 keyring/22.0.1 rfc3986/1.4.0 colorama/0.4.4 CPython/3.7.6

File hashes

Hashes for gym_covid19outbreak-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 786b6d18c4c71378d3f79e009379cd8c4a272ae68f3ee0aadfbc22488df27e73
MD5 f9e1b3aabfddcce09359ce2b380ca53e
BLAKE2b-256 418702297b284d81230f37758d2850652495fffec715771aa5d8671cfbf2d287

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page