SIS: The SIS process

class epydemic.SIS

The Susceptible-Infected-Susceptible compartmented model of disease. Susceptible nodes are infected by infected neighbours, and recover back to the susceptible state (which allows future re-infection, unlike for SIR.

The Synchronous-Infected-Susceptible or SIS process is a variant of the more common SIR process which cycles between only two states, keeping nodes part of the dynamics indefinitely.

Nodes in the network represent individuals, with edges representing contacts between them. Each individual is assigned a dynamical state which changes according to the rules of the model.

SIS is a compartmented model of disease with two compartments:

  • Susceptible (S), when an individual be infected with the disease; and
  • Infected (I), when an individual can infect neighbouring susceptible individuals.

Dynamical states

SIS simulation places nodes into one of three compartments:


Compartment for nodes susceptible to infection.


Compartment for nodes infected.


The process is parameterised by three parameters:

SIS.P_INFECTED = ‘pInfected’

Parameter for probability of initially being infected.

SIS.P_INFECT = ‘pInfect’

Parameter for probability of infection on contact.

SIS.P_RECOVER = ‘pRecover’

Parameter for probability of recovery.

The SIS.P_INFECTED parameter defines the proportion of nodes that are initially placed into the SIS.INFECTED compartment, with all other nodes being placed into the SIS.SUSCEPTIBLE compartment.


Dynamics in SIS occurs in two places:

  • At infected nodes, which which recover back to susceptible with a probability given by the SIS.P_RECOVER parameter; and
  • At SI edges, where the node at one endpoint is susceptible and the node at the other is infected.

These two options define the loci for the SIS model.


Edge able to transmit infection.

The other locus is named SIS.INFECTED, the same as the compartment.

Building the model

Building the model creates the two epidemic compartments and installs the necessary loci and events to define the disease dynamics. The event methods are described more thoroughly below.

Build the SIS model.

Parameters:params – the model parameters

Event methods

Event methods are defined for each of the two dynamical rules for the process: infection and removal (recovery).

SIS.infect(dyn, t, g, (n, m))

Perform an infection event. This changes the compartment of the susceptible-end node to INFECTED. It also marks the edge traversed as occupied.

  • dyn – the dynamics
  • t – the simulation time (unused)
  • g – the network
  • e – the edge transmitting the infection, susceptible-infected
SIS.recover(dyn, t, g, n)

Perform a removal event. This changes the compartment of the node back to SUSCEPTIBLE, allowing re-infection.

  • dyn – the dynamics
  • t – the simulation time (unused)
  • g – the network
  • n – the node