Adversarial Epidemic

Dennis Shasha

Omniheurist Course

Computer Science


 

Description

In this game there is an Infecter who tries to spread a disease in such a way as to consume as much "fuel" (victims in a disease setting, trees in a tree blight setting) as possible. The Infecter's adversary is called the Suppresser who tries to suppress the disease before too much fuel in consumed and without too much effort.

There is an initial state in which some squares of a grid are infected. Each cell in the grid has a certain amount of fuel at a given time which can be consumed by the infectious disease. If there is no more fuel in a grid cell, then the disease cannot infect it.

At each time period (a day), if the disease is present at a grid cell it will consume one unit of fuel if there is any fuel left and (in the non-adversarial version) it can potentially spread from that cell to any neighboring (vertically or horizontally) cell (more on that later).

To fight the infection, the Suppresser can take s actions which will suppress all instances of the infection in a k by k grid of cells (and indicate which of those cells had been infected). The Suppresser can also deploy sensors each of which can test for an infection (and the fuel left) in one grid cell. A sensor that is at grid cell c1 at day t can be deployed to a grid cell that neighbors c1 (vertically or horizontally) at day t+1 or to an arbitrary other grid cell at day t+2. If the sensor stays at a cell, then it keeps reporting the fuel level and infection level each time step while at the cell. The sensors will report back the amount of fuel left in a grid cell and whether an infection is present.

Initially, the adversary Infecter gets to place the disease on g connected (vertically and horizontally) cells. If at any given time, there are g' cells that are infected, then the adversary gets to choose among floor(p * number of neighbors of those g' cells) of their neighbors and try to infect them (infection won't be successful if there is no fuel)

Thus, the Infecter knows g at the beginning and can place the disease in any set of g or fewer connected cells (connections are horizontal or vertical). The Suppresser knows neither g nor the positions of those cells. The Infecter also knows p, the proportion of disease cell neighbors the Infecter can try to infect (so if there are g' infected at some point then the Infecter can infect up to floor(4*g'*p) neighbors of of them). The Infecter knows which cells are infected throughout the game.

The Suppresser knows k and s (the Suppresser can suppress the disease on at most s square regions of size k by k each day; once an area is suppressed it can get infected again as of the next day unless it's within a suppressing region on that day), d (the Suppresser can deploy up to d sensors). Second phase: Think about different sensor dynamics (radial sensors). Third phase: Think about different fuel consumption functions (how much fuel is lost per iteration on a square, e.g. from low value to high value and then low again).

Thus, the Suppresser does not know which cells have the disease except through sensors or suppressors. The Infecter does not know where sensors are and learns about suppresion activities only by learning which cells are still infected.

Initially, both the Suppresser and the Infecter will learn the board including the fuel per cell. The architect will also receive g, p, s, k and d.

There are some cells which we want to maintain infection-free for sure. We identify them as a list of cell locations L. L is much smaller than s.

All costs are in fuel units. Suppressing a k by k area costs k fuel units for one day. Deploying a sensor from the warehouse takes one day (say day d) and costs one unit. The sensor will start reporting only on the day later (d+1). Using x sensors on day d costs ceiling(x/(k*k)) fuel units for day d. Moving is free but moving far (to a non-neighbor) takes a full day.

The game ends when the Suppressor asserts that there is no infection. If there is an infection, then the Suppressor incurs an additional cost of all remaining fuel.

Architecture Team

Send the board, g, and p to the Infecter. Send the board, d, k, and s to the Suppresser. During play, each turn consists of (i) taking sensor deployment and suppression requests from the Suppresser, (ii) returning values (fuel left, infection status) from the sensors and suppressing the disease where appropriate (iii) giving the Infecter the current set of infected nodes, (iv) take the infection requests from the Infecter and determine which nodes are then infected. (v) Ensure that the Infecter does not request too many cells to be infected. (vi) Ensure that the Suppresser does not request too many cells to be sensored or cells suppressed. (vii) When Suppressor asserts there is no more infection, then evaluate whether that is true and if true, then cost is not increased. Otherwise, cost is increased by all remaining fuel.