NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


NetLogo User Community Models

(back to the NetLogo User Community Models)

Sniffing space associations

by Tim Ireland (Submitted: 01/16/2009)

[screen shot]

Download Sniffing space associations
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

(You can also run this model in your browser, but we don't recommend it; details here.)


This model investigates the problem of spatial arrangement. It is based on a perspective of self-organising space, in that space may be considered a "thing" which is in constant flux. This is not the visible object space of the built environment, but the space of user movement, activity, habitation and interaction; being the 'plastic' qualities of the "thing" produced through the act of body movement and the behavioural practice of social interface. Buildings are systems of spatial relations defined by the dynamic interactions of various autonomous spatially discrete entities [1]. On this premise, this model looks at how individual (activity) space can self-organise relative to specific associational parameters to generate diagrams of spatial organisation.

The focus here is the problem of circulation and explicit spatial arrangement; an investigation of emergent route formation and spatial connectivity based on simple agent and pheromone interaction.

Looking to swarm intelligence as a method of self-organising space the model is basically an array of ant colonies, with each colony having some association to the others.

The model incorporates two systems of agents working in parallel; the space-colonies (representing spaces) and the space-agents. The space-colonies have associational parameters with each other, such as those within a brief between different rooms. Space-agents, whose birthplace is a particular space-colony, transmit information throughout the space-colony population, whilst defining an emergent communication network that defines circulation paths.


The model is based on the ants model, but differs in that it has an array of colonies and the agents lay two different pheromone trails depending on whether they are searching or returning home [2]. Basically the typical relationship between nest and food is revised so that each nest is another colony's food. This works to create a communication network based on each colony seeking the other colonies.

A space-colony has associations to other space-colonies. Therefore each space-colony has an identity which is held in a list by those other space-colonies which are associated to it. The space-agents born to a particular space-colony hold the id of that space-colony. Therefore, the space-colonies they visit can check whether they are associated to the colony of the visiting space-agent, and if so follow it on their return journey.

A space-agent will leave its space-colony laying pheromone marking its way back home, whilst in search of those space-colonies which its home colony shares as association. Upon finding a colony held in its association list it returns home laying an alternative pheromone marking its find in search of a trail leading it home. A space-agnet will continue on this tour-of-duty until it has visited all the space-colonies its home colony is associated with. Upon completing its tour-of-duty it will die. A space-colony continues to produce space-agents until it is in the company of all those space-colonies it is associated with.

A space-agent sniffs the eight patches surrounding it. It hill-climbs the scent value of the trail. In motion an agent ‘wiggles’ forward, therefore those patches in front are checked for any trail scent first. If none exists the two patches immediate left and right are checked, moving backwards until finally the patch lying immediately to the rear is checked. This ensures that the agent maintains a predominantly forward motion. If no scent is found to exist in any of the patches the agent moves forward in a random direction.


A number of slider bars allow manipulation of the variables affecting the pheromone trails;
diffusion-rate = the amount of pheromone a patch passes onto neighbouring patches
evaporatrion-rate = the amount of pheromone each patch loses at each time step
slodge-rate-at-destination = the amount of pheromone dropped by an agent when it leaves a space-colony
amount-of-pheromone = how much pheromone a space-agent carries
splodge-trail = how much pheromone a space-agent leaves on a patch as it moves between space-colonies
max-smellyness-of-trail = limit of how much pheromone a patch may hold

The space-agent population can either grow from 0 or an initial population may be generated with the slider bar spaceagent-number. The switch button turns on and off the reproduction of space-agents. The plot window illustrates the space-agent population which illustrates if the system is reaching a stable state.

The model will come to an end when each space-colony's associations are satisfied (when all those it is associated with are within its radius).


A space-agent will leave its home coloured red, meaning it is in search mode, leaving a trail leading back home. When it has found an other space-colony with which its home colony has an association it will change colour, reflecting its change of state, leaving an alternative trail leading to the found association and follow a trail which leads it back home.

The emerging trails will generate a connectivity network between the space-colony's.

The space-colonies will move along a trail towards those space-colonies with which they share an association.

As the associations between colonies may be asymmetrical any conclusion may take considerable time. In such circumstance a trail will emerge between the unsatisfied space-colony and the space-colonies the unsatisfied colony is seeking. This indicates that a group of space-agents belonging to the unsatisifed colony are still travelling between the two; architecturally this is conclusive as it suggests that the individual spaces have generated distinct spatial groups (zones or areas) which are individual yet have some connectivity.

The trails generated between the colonies will emerge and fluctuate. These trails may fuse together, they may join in part, move close together or seperate. Inspection of agents along particular trails may show that it is space-agents of a specific group which are using the trail, demonstrating that the trials have become specific routes between destinations used by a particular group.


1) Play with the slider bars to explore how the changes in pheromone variables affect the model
2) Alternate between starting the model off with a popoulation of space-agents and letting the population grow


Lists are used due to the use of specific identities for each space-colony and that each space-agent must recognise its home space-colony and those other colonies which it's home colony has an association with. A space-agent also leaves a different trail depending on whether it is searching for other space-colonies or returning home and must be able to recognise only those trails left by other space-agents from the same space-colony. Therefore patches need to hold a list of the trail values left by agents of each colony, of both trail types.
This approach became quite complicated (for me) and there will be other ways of doing the same thing which may enhance the model*.

The model is bounded, but the code to prevent agents walking off the edge could be better. It basically checks the 4 patches ahead to check there is one to move to. '4' is just trail and error, and will still sometimes crash becasue an agent has got into a postion where it wants to check the patch to its side for any trail scent, but there isn't one.
Having the boundary does make the model run slower.

A space-agent follows a trail 'uphill' but this is not the standard 'uphill' as want the agent to move in a general forward direction. So, it first checks the 3 patches ahead, then the 2 to the side, then the 2 behind-to-the-side and finally the one to the rear.

* I know that there are other ways of approaching this model; agentsets and links could be used, see messages 8543 and 8520. If you do make any changes to this model or have any comments then i would be very interested in hearing from you. Thanks.

you can contact me at either


1) Play with the association parameters of each colony
2) Add in more space-colonies
3) Could add a slider bar for the distance within which a space-colony is satisfied (the raduis within which all the associated space-colonies must be within for the space-colony to stop producing space-agents)
4) Change the plot window to illustrate individual populations of space-agent; this would show which space-colonies are satisfied or not by whether they are reproducing or not.

NOTE: The model was developed to illustrate the ontological basis of a system for generating models of spatial organisation, but in its current form the model could be used towards any associational or combinatorial problem.


Ants model in Netlogo models library


[1] Bill Hillier & Julienne Hanson, "The social logic of space". Cambridge University Press, 1984.
[2] Panait & Luke, “Ant foraging revisited”, Submitted to the Ninth International Conference on the simulation and synthesis of living systems. (ALIFE9). Pp569. 2004.

This model was produced in collaboration with Paul Coates, head of the Centre for Evolutionary Computation in Architecture (CECA) at University of East London, and supervision and guidance from Professor Philip Steadman at the Bartlett Graduate School, University College London, UK. Invaluable help was received from the Netlogo community group, with note to James Steiner, Esther Verreau and Seth Tissue.

For further information about this work please refer to;

(back to the NetLogo User Community Models)