Stochastic Diffusion Search ( SDS )

Stochastic Diffusion Search ( SDS ) is a search algorithm that is using swarm intelligence to solve its assigned problem. In this blog post I will talk about how I am implementing this algorithm using a mining simulation game.


Stochastic Diffusion Search contains multiple agents and in this particular case, miners.
Every miner has a position, a hypothesis and a current state. All the miners are also communicating with one another.


The landscape we are simulating contains multiple hills which is represented by larger squares in our example, and each hill contains multiple locations within each hill which is represented by smaller squares.
We initialise our miners with a random location together with randomly scattered gold objects across our landscape.


If a miner strike gold, that hill now becomes their hypothesis which basically says: "this is a good hill for mining gold" and the miner will switch state to become satisfied. If the miner is satisfied, it will return to that specific hill, but will then look in another random location within the chosen hill.


If their is no gold on the next random position when the miner returns, the miner becomes unsatisfied. The miner will then choose a new random miner within our population if miners.


The unsatisfied miner will communicate with this random miner and check its hypothesis. If the chosen miner is satisfied then our unsatisfied miner will go to their previous hill ( their hypothesis ).

If our new chosen miner is not satisfied then our miner will go to a new random hill in our landscape and continue its search for gold.


Below is a flowchart that shows a visual representation of the mining game.



SDS.png



Below is not the full implementation of the algorithm, In this test you can see the miners randomly searching the space and returning to the hill where they found gold. In the next iteration the full algorithm will be implemented.


SDS_test1.gif

Comments

Popular posts from this blog

Physical Computing, Final Project

Dispersive Flies Optimisation ( DFO )

No Free Lunch Theorem