Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Evolutionary learning in artificial societies

Description

The aim of this project is to build a simple artificial society in which agents
collectively learn how to gain sufficient resources (‘food’) to survive in a hostile
environment.
Although the NewTies project is building such an artificial society featuring three
types of learning (evolutionary, individual and social), in this project you are asked to
construct a simpler society in which the agents choose their actions only according to
their genes, which are inherited from their parents. There is no individual or social
learning.
Once the society is built and tested it can be used to study aspects of evolution.
Agents in the society live on a large flat landscape. They use energy in living and
acting, which must be replenished by eating if they are to survive. Two varieties of
plant grow on this land: one which is nutritious (it provides the agents with energy
when eaten) and one which is ‘poisonous’ (the energy used to consume it is greater
than the energy that it yields, so eating such plants has the net effect of reducing the
energy of the agent). The two species of plant can be distinguished by their colour, a
quality that the agents can perceive. Initially the agents have no knowledge of the
two species and stumble around their world at random.
The agent population needs to learn to eat nutritious plants and ignore poisonous
ones. This will happen if those agents that happen to have controllers that cause them
to pick and eat nutritious plants are more successful in reproducing than other agents.
However, the relative success of agents in finding and eating nutritious plants will
only become apparent after they have lived in this world for some time. If agents are
allowed to reproduce very shortly after they have been born (the age of ‘puberty’ is
close to zero), both ‘good’ and ‘bad’ agents will be able to breed. On the other hand,
if puberty is delayed, even ‘good’ agents may die from random contingencies, and the
rate of reproduction will be much reduced, slowing down evolution.
Thus the question to be answered in this project is to formulate and test a theory about
the optimum age of puberty for this particular society and then see how this optimum
age varies as the characteristics of the environment are varied. Ideally, one might be
able to generate some ideas about the factors controlling the age of puberty that could
have application to understanding the age of puberty of real animals, including
humans.

Getting started
You will need to select a platform for creating the society. If you already know your
way round one of the common ones, that would be the best to choose. If not and you
are a confident Java programmer, you could try Repast or MASON. If not, NetLogo
is easy to learn.

1
You then need to program (1) the environment (a simple square grid of cells will be
fine) (2) the plants (consider these as simple objects that have attributes of location,
energy and colour) and (3) the agents.
The agents need to have a repertoire of actions that they can take, such as move, eat
and have sex. You will need to specify plausible constraints, such as that there can
only be one agent per cell, that a plant can only be eaten if it is in an adjacent cell, and
that agents can only mate if they are adjacent to another agent of the opposite sex and
are older than the age of puberty. The choice of actions an agent makes needs to be
determined by its genes, and you will also need to specify how children inherit their
genes from their parents (e.g. by crossover and/or mutation). Finally, you will need to
specify reasonable values for the energy costs of taking various actions and how much
energy a new born agent inherits from its parents.
Note that most agent platforms, including the ones mentioned above, come with
example implementations of the genetic algorithm. These can be helpful, but a GA is
different from a society as described above, because in a GA all the agents have
exactly the same lifespan (a generation) and the choice of which agents reproduce is
determined by a central manager, rather than by the agents themselves.

Resources
NetLogo: http://ccl.northwestern.edu/netlogo/
Repast: http://repast.sourceforge.net/
Mason: http://cs.gmu.edu/~eclab/projects/mason/

Acerbi, Alberto, & Parisi, Domenico. (2006). Cultural Transmission Between and
Within Generations. Journal of Artificial Societies and Social Simulation, 9(1)
http://jasss.soc.surrey.ac.uk/9/1/9.html
Axelrod, Robert. (1997). Advancing the art of simulation in the social sciences. In R.
Conte, R. Hegselmann & P. Terna (Eds.), Simulating Social Phenomena (pp.
21-40). Berlin: Springer.
Chattoe, Edmund. (1998). Just How (Un)realistic Are Evolutionary Algorithms As
Representations of Social Processes? Journal of Artificial Societies and Social
Simulation, 1(3) http://jasss.soc.surrey.ac.uk/1/3/2.html
Eiben, A.E., & Smith, J.E. (2003). Introduction to Evolutionary Computing: Springer.
Epstein, Joshua M., Axtell, Robert, & Project. (1996). Growing artificial societies :
social science from the bottom up. Washington, D.C. ; Cambridge, Mass. ;
London: Brookings Institution Press : MIT Press.
Gilbert, Nigel, & Bankes, Stephen. (2002). Platforms and Methods for Agent-based
Modeling. Proceedings of the National Academy of Sciences of the USA,
99(supll.3), 7197-7198.
Gilbert, Nigel, den Besten, Matthijs, Bontovics, Akos, Craenen, Bart G. W., Divina,
Federico, Eiben, A. E., et al. (2006). Emerging Artificial Societies Through
Learning. Journal of Artificial Societies and Social Simulation, 9(2),
http://jasss.soc.surrey.ac.uk/9/2/9.html http://jasss.soc.surrey.ac.uk/9/2/9.html
Gilbert, Nigel, & Terna, Pietro. (2000). How to build and use agent-based models in
social science. Mind and Society, 1(1), 57 - 72.
Gilbert, Nigel, & Troitzsch, Klaus G. (2005). Simulation for the social scientist
(Second ed.). Milton Keynes: Open University Press.

2
Railsback, S. F., Lytinen, S. L., & Jackson, S. K. (2006). Agent-based simulation
platforms: review and development recommendations. Simulation:
Transactions of the Society for Modeling and Simulation International, 82(9),
609-623
http://www.humboldt.edu/~ecomodel/documents/ABMPlatformReview.pdf.

You might also like