Jacob Causon How the Environment of a Simulated

Jacob Causon How the Environment of a Simulated

Electronics and Computer Science Faculty of Physical Sciences and Engineering University of Southampton Jacob Causon April 2015 How the environment of a simulated fish school affects evolved behaviours Project supervisor: Dr. Richard A. Watson Second examiner: Dr. Sarvapali Ramchurn A project report submitted for the award of BSc. Computer Science Abstract Fish schools are a common and well known phenomenon that includes several different types of behaviour from unaligned shoals to bait balls. It has however been difficult to test what causes the different types of schooling behaviour with computer models as there has never been a single algorithm that could simulate the many different types of behaviour that has been observed in the wild. With the creation of the projection swarm simulation it has now become possible to test what environmental conditions observed in nature, including the need to find food and survive predator attacks, lead to what schooling behaviours. The optimal behaviour of the fish under each isolated environment was found by simulating evolution on the school using a genetic algorithm, with the results compared to observations of real fish stocks. Contents 1 Introduction.................................1 2 Swarm simulation..............................2 2.1 Previous simulations........................2 2.2 Projection swam simulation....................3 2.3 Why is this good for us?......................5 2.4 Implementation...........................5 3 Genetic algorithm..............................6 3.1 Selecting optimal parameters...................6 3.2 Variation..............................7 3.3 Implementation...........................8 4 Describing a swarm.............................9 4.1 Speed................................9 4.2 Spread................................ 10 4.3 Visualising swarm behaviour.................... 11 5 Fish schools and the environmental conditions that affect them..... 13 5.1 Animal groups........................... 13 5.2 Fish schools............................. 13 5.3 Predictions............................. 13 5.4 Foraging............................... 14 5.5 Copepod predation......................... 14 5.6 Selfish herd theory......................... 15 5.7 Probability of detection...................... 15 5.8 Hydrodynamic efficiency...................... 16 5.9 Predator confusion effect...................... 16 6 Testing hypotheses for the causes of grouping behaviours........ 17 7 Conditions that lead to differing behaviours............... 20 7.1 Simulation observations...................... 20 7.2 Critical evaluation......................... 21 7.3 Where from here?.......................... 21 8 Project management............................ 22 8.1 Gantt chart & project management................ 22 8.2 Original project brief........................ 24 8.3 Evaluation and improvements................... 24 9 Conclusion.................................. 25 1 Introduction There has been plenty of research into using computer simulations to simulate animal groups and the conditions required for evolution to create these groups. It has however never been possible to compare when different types of group behaviour are better than another as there has never been one unified model that could simulate many different types of swarm. When observed in the wild it is clear that there are many different behaviours shown by fish schools. This includes migrating schools, bait balls and unaligned mingling. It is difficult however to discover what environmental pressure causes what behaviour through observations alone as fish will have many objectives that they need to balance such as collecting food and not being caught by a predator. With the creation of the projection swarm algorithm[1] it has become possible to model all these school types with one algorithm. From this we have created a virtual school of fish and put them under various environmental conditions to test what causes what behaviour through the process of natural selection. 1 2 Swarm simulation 2.1 Previous simulations Using computer simulations in an attempt to describe the emergent properties of animal groups is an incredibly active research topic - partly because of the need for realistic computer animations of animal groups[2] and partly because of the difficulty in observing and understanding flocking behaviours in real animals[3]. One of the first swarm simulation algorithms was called \boids" as devised by Craig Reynolds in 1987[2]. This simulation defined three simple rules each individual agent in the swarm would follow. These behaviours were `Separation' which is the desire for an individual to maintain an optimal distance between itself and it's neighbours. `Alignment' which is where the boids attempt to change their direction to match their neighbours and `Cohesion' which is where individuals attempt to move towards the flocks centre of mass. These three rules are enough to get something which appears to behave in a similar way to bird flocks observed in the wild. The algorithm has more recently been expanded by others to add additional goals and behaviours, for example the addition of fear[4], the concept of leadership[5] and obstacle avoidance[6,7]. Other simulation methods have been devised which use discrete zones in which the individuals behaviour in a flock depends on the state that they are in, normally defined by the distance to their nearest neighbour[3,8]. These include moving away from their neighbours if they are too close (repulsion), moving closer if they are too far away (attraction) or aligning their direction of travel if the distance is within some range in between (parallel orientation). Generally however models that rely on discrete states are unlikely to be an accurate imitation of real animal swarms as observations in the wild suggest that interactions within the flock does not depend on their distance[9]. Attempts have also been made to create computer simulations of the bait ball be- haviour seen in some fish. Bait balls are where the fish will circle around a central point when under attack from a predator. An interesting example of this type of simulation algorithm was created by Robert Hodgin. This simulation works by having a hard coded distance from the centre point that the fish were told to try and maintain[10]. This solution although effective when observed is biologically an unlikely method for the fish to achieve this behaviour as it is difficult for a fish to keep track of their relative position in the school. It also meant that the algorithm could only form a bait ball and not any other type of fish school. All these previous models have their own problems when compared to real observa- tions of animal swarms. One common issue is that the inverse relation between the number of individuals in the group and the density of the flock is rarely seen in these simulations[1, 11]. It is thought that this relation is important so that the individuals can see in all directions when flocking. To achieve this it is required to have some kind of global communication method between the flock, something which the algorithms mentioned do not do. Previous algorithms were also designed to imitate a single type of group behaviour. This meant that there was no unified model that could be used to describe many 2 different types of swarm. This made it difficult to compare the different types of swarming behaviour with each other. 2.2 Projection swam simulation First published in 2014[1], the projection swarm simulation attempts to improve on the previous attempts at describing animal swarms by including a method of global communication called the projection vector. This simulation method exhibits the inverse relation between flock density and the number of individuals in the swarm[1] unlike most other algorithms. The algorithm also created a single model for multiple different types of swarm behaviour based on a set of weights, something which previous models were not able to do. There are three vector components that make up this algorithm. The components are called the `projection vector', `alignment vector' and `noise vector'. These components are then combined and describe the direction that each individual agent should travel. Projection The first component of the simulation is the projection vector. This is the component that adds global communication throughout the flock in a way that is possible to be computed quickly by an individual within the flock. The projection vector is calculated by having the individual observe the boundaries between the others in the flock and the sky behind. These boundaries from the point of view of the individual i can be defined as the set θi. These values are then averaged out to find the projection t vector δi as shown in figure1. Ni 1 X cos θij δt = i N sin θ i j ij Figure 1: Calculating the projection vector for the individual i[12] What this means in practice is that the projection vector will generally point towards the centre of the flock if the individual is outside. If near the group however it will have less attraction towards high density sub-groups as there will only be the two boundaries either side compared to low density groups which will have more gaps. This will in turn lead to the individual preferring to be placed where they can see the sky in all directions. An example of calculating the projection vector can be seen in figure2, with the boundaries marked with black lines and the resultant vector marked with the red arrow. Notice how the vector is towards the individuals that are alone rather than the high density patch between θi;7 and θi;8. 3 Figure 2: Diagram showing the resultant projection vector for the individual i in two dimentions[1] Alignment The alignment component of the algorithm was inspired by the original boids algo- rithm created by Craig Reynolds[2]. This is simply a vector of the average velocity of the individual's four nearest neighbours. It is this component which causes the individuals to travel in the same direction as each other and only requires knowledge available to the individual from it's locale. Noise The third and final component is the noise vector. This is simply a vector that points in a random direction with a fixed magnitude.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    39 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us