Module Athens TPT-09
Emergence in Complex Systems
From nature to engineering
Please answer in English!
→ other AI courses
This Lab work is based on the use of Evolife
. If necessary, install it.
Emergence of Communication
Emergence of a communication code
In a famous experiment
, Gregory Werner and Michael Dyer could show how a complex communication code could emerge in an artificial species. Their idea was that females and males should communicate in order to meet and reproduce, so that natural selection would let an efficient code emerge.
They created a population of agents with static singing females and mobile blind mute males. Females have a 5x5 vision field, in which they can perceive males (the closest if several are present) together with their orientation (there are thus 24 x 4 possibilities). From this, they emit a song chosen among 4 possible calls. The female part of the genome thus requires 96*2 = 192 bits to code for this behaviour.
Males hear the call of the closest female if any (within a 5x5 range). They decide to move or turn accordingly. The male part of the genome thus requires only 8 bits for this mapping, as there are 4 possible calls and each requires two bits to decide next action.
Experiments show that in most of the cases one can observe the emergence of a communication code that enables females to cleverly steer males towards themselves.
Load the configuration WernerDyer.evo in the Configuration Editor. You will notice two specific parameters that are available for this experiment:
- WDGridSize, which control the size of the grid.
- compass, which control the use of relative (0) or absolute (1) directions.
The compass option gives the possibility to use absolute direction for the song. The female part of the genome is reduced to 48 bit in this case, as the direction of the male is irrelevant.
|Run Evolife and observe the evolution of reproduction efficiency and of majority strategies.
Make several trials by changing the density of population. Observe (possibly by running the experiment several times) that the population may go extinct. Why ?
|Run the experiment with a high density population. Wait until a communication code is eventually found (it may be long, restart the simulation if you are losing patience). Do males turn in both directions? Can you explain why?
The evolution of a communication code is a coordination problem. Even if two individuals happen to agree on a bit of code, they are unlikely to meet again soon and their agreement is likely to be lost. Moreover, their children will not inherit this agreement between the male part and the female part of the genome, as crossover will probably destroy it.
To evaluate this effect, why not merely clone the parents? Modify the Move
function in Scenarii/S_WernerDyer.py
to get clones of the Male and the female when they are reproducing. Reproduction occurs when a male and a female meet. The couple is added to the list Parents
. So replace:
|Run Evolife again with this cloning strategy (set the compass parameter to 1). What can you say about the convergence of the genome ? Is that a good or a bad thing ?
Suggestions for further work
- The genome could code for the weights of a simple associative network, as in the original paper, instead of coding behaviour directly.
- The genome could code for probabilities instead of rigid behaviour.
- One may introduce semi-permeable barriers to see if dialects develop.
Honest communication may emerge between prey and predator! Preys signal their ability to escape pursuit. For instance, Thomson gazelles or springboks (photo) may jump vertically (stotting) when predators approach. The aim of this study is to explore conditions in which such honest signalling may evolve and remain stable between partners following conflicting agendas.
[Click on image]-original on youtube
Imagine two species, call them gazelles and lions. Gazelles have the genetically coded choice to invest energy in jumping vertically when lions approach. Of course, this somewhat reduces their ability to run away in case of pursuit. If lions prefer to chase non jumping gazelles, show that invesment in jumping evolves, at least for healthy individuals.
The phenomenon can be studied using Evolife. To circumvent the fact that Evolife is able to process only one species, gazelles and lions are evaluated and procreate separately. The ‘species’ is decided at birth using a phene (see S_Gazelle.py). Note, that both species share the same genes (!). This is another illustration of the fact that evolution concerns genes and not individuals.
There are two genes:
- 'Gazelle Threshold' (displayed in blue): gazelles that are stronger than the value of this gene do jump.
- 'Lion Threshold' (displayed in red): gazelles that jump higher that the value of this gene are ignored by the lion.
The gene 'Gazelle Threshold'
is expressed in gazelles. It controls their decision to jump: a gazelle jumps if its strength exceeds that threshold. The jump then is proportional to its strength. The other gene, 'Lion Threshold'
, is expressed in lions. When a gazelle jumps higher than that threshold, the lion ignores it.
Load the Gazelle scenario in the Configuration Editor (Starter).
Locate the four relevant parameters (found in section Scenarios/Dyadic games/Gazelle):
- GazelleToLionRatio: proportion of gazelles
- JumpEnergy: (gazelles) Amount of strength spent in jumping. This amount is no longer available to the gazelle to run away.
- Vulnerability: (gazelles) Controls how the probability of being caught decreases depending on strength.
- HuntingRatio: (lions) Ratio of chasing opportunities over encounters with gazelles.
Run the simulation with default parameters (the meaning of colours are given in the Legend window).
Observe that strong gazelles do jump (the blue curve representing their threshold for jumping takes intermediate values). Observe also that lions take gazelle jump into account: they do not chase jumping gazelles (the red curve representing the jump height above which they give up hunt takes values close to gazelle threshold).
This is a situation of honest signalling from prey to predator.
If you wait long enough, you may observe covariations between hunting threshold and jumping threshold. Notice that the lions’ average benefit (yellow curve) may vary, depending on the situation and their ability to discriminate easy preys.
Gazelles and Lions 1
|Set JumpEnergy to 0 and HuntingRatio to 100. This means that jumping is costless and that lions don’t miss any opportunity to chase gazelles. Run the simulation. What do you observe? Why?
Gazelles and Lions 2
|Now set JumpEnergy to an intermediary value such as 20. What do you observe? Why?
Gazelles and Lions 3
|Set JumpEnergy again to 0, and HuntingRatio to 10. What happens? Compare with the 0/100 case and with the initial 20/10 case.
Suggestions for further work
- Implement competition among gazelles. The probability of being caught when not jumping depends on the number of non-jumping gazelles.
Optimal investment in social communication
In this study, individuals send signal to attract friends. It may represent the situation observed in social networks such as Twitter
, but also in real life. Signals are supposed to be costly: it takes time and energy to make up a signal that will attract attention. The question is: will individuals invest in communication, and how much? The answer depends on whether social bonds are asymmetrical or symmetrical.
Individuals send costly signals to attract followers. When they play the receiver role, they pick the best signalers to follow. Agents are characterized by their quality q
. Quality is a private trait. It is only revealed if agents choose to display it by emitting a signal. Let’s call s
) the signal sent by an individual with quality q
, and c
) the associated cost. Agents who are successful in attracting followers get profit P0
for each of them.
Let’s suppose that the qualities present in the population are evenly distributed over the segment [0,1]. The signal s(q) sent by an agent is a continuous function of its quality q. Let’s consider the simplest case in which both signal s and cost c are proportional to the individual’s investment in communication g(q).
s(q) = g(q) q
) = C g
By sending s(q), signalers benefit from attracting allies: they get P0 per follower. We suppose that followers pick the strongest signal when choosing whom they will follow. The problem is to show that g(q) evolves to a definite value for each quality q. If there is no restriction on the number of followers per signaler, the whole group follows a handful of top quality individuals. As these individuals are in competition to win the prize of becoming the unique celebrity in the group, they send the maximum signal, provided that (N-1)P0 > C, where N is the size of the group.
One (somewhat artificial) way to avoid this winner-take-all outcome is to impose the condition that an individual can have no more than k followers. The consequence is not really different: a fraction 1/k of the population gets k followers, whereas individuals of lesser quality get none.
The program SocialNetwork.py (in the directory Other/SocialNetwork) simulate this simple social network. You can run it by executing the local command Starter. The Configuration Editor allows you to change parameter values. Load the Affiliation_Typical.evo configuration. Run the program. Individuals are displayed on the horizontal axis, depending on their quality. Lines represent social links. Red dots represent young individuals.
Asymmetrical Social Network 1
|What happens and why?
Asymmetrical Social Network 2
|What happens if one changes the signalling cost?
To represent situations in which all individuals invest in communication, we must avoid the "stardom" phenomenon by which a few individuals catch the support of the crowd (it is said that Katy Perry is followed by millions of people on Twitter). A simple solution consists in enforcing symmetry in social relationships. If we do so, partners will decide to bind together on a symmetrical basis after having assessed each other’s signalling performance. They become acquainted only if they find each other attractive, i.e. if they perform better than what the partner’s current friends (if any) did.
Symmetrical Social Network 1
|Load the SocialNetwork_typical.evo configuration. Run the program. After some while, you will observe that friends have most often comparable qualities. This situation contrasts with the previous study (asymmetrical relations). Explain why quality matching in friends does emerge.
Symmetrical Social Network 2
|Explain why it leads to general signalling: all individuals do invest in communication.
Symmetrical Social Network 3
|What is the effect of communication cost?
Back to the main page