O modelo foi modificado com base em um exemplo fornecido no repositório do framework MESA.
Foi adicionado ao contexto da simulação a existência de pessoas vacinadas contra o virus em questão. Além disso, as vacinas possuem um percentual de proteção.
Por exemplo, num ambiente onde a chance de contaminação seja de 90%, caso a vacina possua uma taxa de proteção de 80%, então a pessoa vacinada possui uma chance de contaminação de 18% de infecção.
A hipótese formulada foi:
"Em um dado ambiente, com indivíduos vulneráveis, vulneráveis mas vacinadas e infectadas, caso hajam indivíduos vacinados a contaminação será menor de que se não houvesse nenhum indivíduo vacinado, consequentemente, ao haver um aumento no número de indivíduos vacinados a transmissão do vírus reduz. "
Foi adicionado os seguintes parâmetros:
- num_vaccinated - porcentagem da população total que iniciará a simulação vacinada (varia de 0% a 100%)
- vaccine_rate - taxa de proteção da vacina, pode-se entender como porcentagem de redução da chance de contaminação (varia de 0% a 100%)
Além disso foram implementadas novas lógicas para que a chance de infecção fosse reduzida para os indivíduos vacinados, como pode ser visto no trecho de código abaixo:
def try_to_infect_neighbors(self):
...
...
elif a.state == State.SUSCEPTIBLE_AND_VACCINATED:
t = self.random.random()
b = abs(self.virus_spread_chance*(1-self.vaccine_rate))
print(t, b)
if t < abs(self.virus_spread_chance*(1-self.vaccine_rate)):
a.state = State.INFECTED
Outras modificações foram realizadas porém essas são mínimas e foram feitas apenas para as novas execução correta da simulação.
Para a execução correta do modelo deve-se instalar o pacote mesa e os outros listados em requirements.txt.
Para rodar a simulação em modo gráfico utilize o comando:
python run.py
Para rodar a simulação em modo batch utilize o comando:
python run_batch.py
git subtree pull --prefix experiments/gutorsantos/labs/VoN-Vaccine https://github.com/gutorsantos/virus_on_network-vaccine.git main --squash