Python simula la propagación de virus
Primero cree una matriz bidimensional para representar a la multitud. Los elementos internos son todos números enteros aleatorios dentro de [1, 7]. Cuanto mayor es el número, más fuerte es la resistencia. cuanto menor sea el número, más débil será la resistencia.
Una vez completada la creación, varias personas de la multitud se convertirán aleatoriamente al estado infectado, independientemente de la fuerza de la resistencia, se infectarán aleatoriamente.
Entonces comenzó el ciclo interminable de "movimiento de multitudes y propagación de virus". Primero la multitud se mueve, luego el virus se propaga.
Movimiento de multitud: Es para simular las actividades sociales de todos los miembros de la multitud, como salir, visitar amigos, viajar y comprar, etc... Esta simulación no es tan realista en principio. Es solo una simple selección aleatoria de dos personas y permítales intercambiar posiciones y hacerlo n veces. Si se intercambian personas ya infectadas y las personas infectadas ingresan a un área grande sin infección, entonces es probable que esta área haya propagado la infección.
Propagación del virus: Atraviesa a cada persona, si el número de resistencia actual de esta persona es menor que el número de personas infectadas dentro de un cierto rango (este rango es: con la persona actual como el centro del círculo). , un intervalo de elemento como unidad de longitud, dentro de un círculo con r como radio, incluidas las personas en el círculo, excluyendo a su propia gente), entonces esta persona será infectada y el estado de infección de todos se modificará después de atravesar a todos.
Como se muestra en la figura: el punto naranja en el medio representa la persona determinada cuando se atraviesa. El radio de determinación de infección es 2, luego todos los puntos verdes y rojos son personas que pueden afectar a esta persona. Si hay demasiadas personas infectadas entre estas personas y el número excede su coeficiente de resistencia, entonces está infectado. Hay dos personas infectadas en la imagen, es decir, si el coeficiente de resistencia de la persona es inferior a 2, entonces esta persona está infectada. . Infectado.
Ajuste de parámetros:
Al final de mi último semestre en la universidad, pensé en un modelo para simular la propagación de virus y comencé a trabajar en él.