Skip to main content
added 373 characters in body
Source Link
Legend
  • 439
  • 3
  • 6
  • 10

I am not a mathematician but out of curiosity I am trying to implement the SIS epidemic model when the nodes have mobility to understand how it will change the results. I understand how to perform this simulation in an analytical fashion. However, things get rather confusing when nodes are mobile. To give a background, all models that I have come across do not consider that nodes are mobile.

The model assumes that each node can infect any node and hence the equations (differential or difference) are valid. But when nodes are mobile, each node is not able to infect every other node (the other node might not be within the range) and has to explicity send a message to a node that is susceptible in order to infect it. In that case, give an infection rate B, how do I simulate this when the nodes are mobile?

Currently, the way I am doing this is in the following way:

def Controller():
    for i in range(1,100):
        randNum = getRand()
        if (randNum <= InfectionRate):
            neighbors = getNeighbors(i)
            ScheduleTransmission(getCurrentTime(), i, neighbors)
    Schedule(getCurrentTime() + 1, Controller)

My problem is that I am not understanding if the infection rate can now be captured through a single value (which was previously B). If not, how does one analyze this scenario? Do I set the InfectionRate as B/numNodes so that the overall probability will be B? Any suggestions?

UPDATE: Making it more realistic

def Controller():
    for i in range(1,100):
        neighbors = getNeighbors(i)
        for j in neighbors:
           randNum = getRand()
           if (randNum <= InfectionRate):
                 ScheduleTransmission(getCurrentTime(), i, j)
    Schedule(getCurrentTime() + 1, Controller)

I am not a mathematician but out of curiosity I am trying to implement the SIS epidemic model when the nodes have mobility to understand how it will change the results. I understand how to perform this simulation in an analytical fashion. However, things get rather confusing when nodes are mobile. To give a background, all models that I have come across do not consider that nodes are mobile.

The model assumes that each node can infect any node and hence the equations (differential or difference) are valid. But when nodes are mobile, each node is not able to infect every other node (the other node might not be within the range) and has to explicity send a message to a node that is susceptible in order to infect it. In that case, give an infection rate B, how do I simulate this when the nodes are mobile?

Currently, the way I am doing this is in the following way:

def Controller():
    for i in range(1,100):
        randNum = getRand()
        if (randNum <= InfectionRate):
            neighbors = getNeighbors(i)
            ScheduleTransmission(getCurrentTime(), i, neighbors)
    Schedule(getCurrentTime() + 1, Controller)

My problem is that I am not understanding if the infection rate can now be captured through a single value (which was previously B). If not, how does one analyze this scenario? Do I set the InfectionRate as B/numNodes so that the overall probability will be B? Any suggestions?

I am not a mathematician but out of curiosity I am trying to implement the SIS epidemic model when the nodes have mobility to understand how it will change the results. I understand how to perform this simulation in an analytical fashion. However, things get rather confusing when nodes are mobile. To give a background, all models that I have come across do not consider that nodes are mobile.

The model assumes that each node can infect any node and hence the equations (differential or difference) are valid. But when nodes are mobile, each node is not able to infect every other node (the other node might not be within the range) and has to explicity send a message to a node that is susceptible in order to infect it. In that case, give an infection rate B, how do I simulate this when the nodes are mobile?

Currently, the way I am doing this is in the following way:

def Controller():
    for i in range(1,100):
        randNum = getRand()
        if (randNum <= InfectionRate):
            neighbors = getNeighbors(i)
            ScheduleTransmission(getCurrentTime(), i, neighbors)
    Schedule(getCurrentTime() + 1, Controller)

My problem is that I am not understanding if the infection rate can now be captured through a single value (which was previously B). If not, how does one analyze this scenario? Do I set the InfectionRate as B/numNodes so that the overall probability will be B? Any suggestions?

UPDATE: Making it more realistic

def Controller():
    for i in range(1,100):
        neighbors = getNeighbors(i)
        for j in neighbors:
           randNum = getRand()
           if (randNum <= InfectionRate):
                 ScheduleTransmission(getCurrentTime(), i, j)
    Schedule(getCurrentTime() + 1, Controller)
added 224 characters in body
Source Link
Legend
  • 439
  • 3
  • 6
  • 10

I am not a mathematician but out of curiosity I am trying to implement the SIS epidemic model when the nodes have mobility to understand how it will change the results. I understand how to perform this simulation in an analytical fashion. However, things get rather confusing when nodes are mobile. To give a background, all models that I have come across do not consider that nodes are mobile.

The model assumes that each node can infect any node and hence the equations (differential or difference) are valid. But when nodes are mobile, each node is not able to infect every other node (the other node might not be within the range) and has to explicity send a message to a node that is susceptible in order to infect it. In that case, give an infection rate B, how do I simulate this when the nodes are mobile?

Currently, the way I am doing this is in the following way:

def Controller():
    for i in range(1,100):
        randNum = getRand()
        if (randNum <= InfectionRate):
            neighbors = getNeighbors(i)
            ScheduleTransmission(getCurrentTime(), i, neighbors)
    Schedule(getCurrentTime() + 1, Controller)

Any suggestions on whetherMy problem is that I am heading innot understanding if the right directioninfection rate can now be captured through a single value (which was previously B). If not, how does one analyze this scenario? Do I set the InfectionRate as B/numNodes so that the overall probability will be B? Any suggestions?

I am not a mathematician but out of curiosity I am trying to implement the SIS epidemic model when the nodes have mobility to understand how it will change the results. I understand how to perform this simulation in an analytical fashion. However, things get rather confusing when nodes are mobile. To give a background, all models that I have come across do not consider that nodes are mobile.

The model assumes that each node can infect any node and hence the equations (differential or difference) are valid. But when nodes are mobile, each node is not able to infect every other node (the other node might not be within the range) and has to explicity send a message to a node that is susceptible in order to infect it. In that case, give an infection rate B, how do I simulate this when the nodes are mobile?

Currently, the way I am doing this is in the following way:

def Controller():
    for i in range(1,100):
        randNum = getRand()
        if (randNum <= InfectionRate):
            neighbors = getNeighbors(i)
            ScheduleTransmission(getCurrentTime(), i, neighbors)
    Schedule(getCurrentTime() + 1, Controller)

Any suggestions on whether I am heading in the right direction?

I am not a mathematician but out of curiosity I am trying to implement the SIS epidemic model when the nodes have mobility to understand how it will change the results. I understand how to perform this simulation in an analytical fashion. However, things get rather confusing when nodes are mobile. To give a background, all models that I have come across do not consider that nodes are mobile.

The model assumes that each node can infect any node and hence the equations (differential or difference) are valid. But when nodes are mobile, each node is not able to infect every other node (the other node might not be within the range) and has to explicity send a message to a node that is susceptible in order to infect it. In that case, give an infection rate B, how do I simulate this when the nodes are mobile?

Currently, the way I am doing this is in the following way:

def Controller():
    for i in range(1,100):
        randNum = getRand()
        if (randNum <= InfectionRate):
            neighbors = getNeighbors(i)
            ScheduleTransmission(getCurrentTime(), i, neighbors)
    Schedule(getCurrentTime() + 1, Controller)

My problem is that I am not understanding if the infection rate can now be captured through a single value (which was previously B). If not, how does one analyze this scenario? Do I set the InfectionRate as B/numNodes so that the overall probability will be B? Any suggestions?

Source Link
Legend
  • 439
  • 3
  • 6
  • 10

How are epidemic models simulated in case of mobility?

I am not a mathematician but out of curiosity I am trying to implement the SIS epidemic model when the nodes have mobility to understand how it will change the results. I understand how to perform this simulation in an analytical fashion. However, things get rather confusing when nodes are mobile. To give a background, all models that I have come across do not consider that nodes are mobile.

The model assumes that each node can infect any node and hence the equations (differential or difference) are valid. But when nodes are mobile, each node is not able to infect every other node (the other node might not be within the range) and has to explicity send a message to a node that is susceptible in order to infect it. In that case, give an infection rate B, how do I simulate this when the nodes are mobile?

Currently, the way I am doing this is in the following way:

def Controller():
    for i in range(1,100):
        randNum = getRand()
        if (randNum <= InfectionRate):
            neighbors = getNeighbors(i)
            ScheduleTransmission(getCurrentTime(), i, neighbors)
    Schedule(getCurrentTime() + 1, Controller)

Any suggestions on whether I am heading in the right direction?