Adversarial Task Allocation
The problem of allocating tasks to workers is of long standing fundamental importance. Examples of this include the classical problem of assigning computing tasks to nodes in a distributed computing environment, as well as the more recent problem of crowdsourcing where a broad array of tasks are slated to be completed by human workers. Extensive research into this problem generally addresses important issues such as uncertainty and, in crowdsourcing, incentives. However, the problem of adversarial tampering with the task allocation process has not received as much attention. We are concerned with a particular adversarial setting in task allocation where an attacker may target a specific worker in order to prevent the tasks assigned to this worker from being completed. We consider two attack models: one in which the adversary observes only the allocation policy (which may be randomized), and the second in which the attacker observes the actual allocation decision. For the case when all tasks are homogeneous, we provide polynomial-time algorithms for both settings. When tasks are heterogeneous, however, we show the adversarial allocation problem to be NP-Hard, and present algorithms for solving it when the defender is restricted to assign only a single worker per task. Our experiments show, surprisingly, that the difference between the two attack models is minimal: deterministic allocation can achieve nearly as much utility as randomized.
READ FULL TEXT