This project uses a stochastic approach to distribute heterogenous agents across several task sites to fulfill the requirements at each site.
keywords: probabilistic task allocation, swarm robots
Consider an evironment with
We take the case of our robot population being partitioned into
As we would like to approach this problem for a very large number of agents, it is important to consider the costs of monitoring and maintaining agents when their number is in the order of 100s or 1000s of robots. Hence in such applications it is desirable to treat the distribution of agents across the tasks from a stochastic or probabilistic aspect that allows us to allocate agents to tasks such that any task's requirements get satisfied consistently on average. This also means that agents are free to switch tasks, ensuring a rotation of agents across tasks. This helps counter the effect of defective robots getting concentrated on the same task, or the effect the traits of identical robots being slightly different in practical cases.
If we treat each task as a state in a Markov Chain, our problem then becomes to find a Transition Probability Matrix (TPM) for each specie such that the trait requirements of each task are satisfied in the steady state.
The above figure represents 4 tasks as states in a Markov Chain. The weight of edge between 2 states signifies the probability of an agent transitioning between the states (not necessarily the same in both directions).
The following
The following
The following
We must find a feasible agent distribution matrix across the tasks to satisfy the trait requirements of each task. We achieve this by formulating and then solving an Integer Problem.
Now that we have the desired distribution of agents across the tasks (steady-state agent distribution), we must compute the Transition Probability Matrix (TPM) that leads the agents to this distribution over time (on average).
We use the relation
At steady state, the probability distribution remains unchanged in the Markov chain, even after transitions occur.
We use the following result:
Which means
This repository computes the TPMs for each species and simualates them to empirically test the validity of our results.
We find that the 2-norm of the difference between the steady state distribution achieved through simulation and the steady state distribtion achieved through computation drops drastically as the number of transitions increases, thereby verifying the validity of our results.
- In a large scale situation, some agents are bound to defect.
- Due to there being a large number of agents and tasks, it can be impractical to keep a track on the status of all the agents.
- One way to work around this is to keep rotating the agents to different tasks.
- This spreads out the number of tasks the defective agent touches and lowers the chance of a task having constant number of defective agents.
- Allows the non-defective agents to touch the tasks which previously had defective ones.
- When there are many agents and tasks (order of 1000s of agents), allocation of agents to tasks using deterministic methods can prove to be computationally expensive.
- Probabilistic treatment reduces this computation by leaving it up to the agents to transition from task to task based on the TPM (which only needs to be computed once).
- Using this method, we can eliminate having to monitor the status and micromanagement of the agents.