Simulation of a Complex System: Flocking Behaviors

Simulation of a Complex System: Flocking Behaviors

Automated Systems - Computer Engineering Bibliographic Report Simulation of a complex system: Flocking Behaviors Jury : Pr. Laurent Hardouin Author : Dr. Nicolas Delanoue M. Clément Macadré Dr. Remy Guyonneau Pr. Jean-Baptiste Fasquel Pr. David Rousseau Draft August 22, 2020 Acknowledgements I would like to thank all the people responsible for the abundance of material and scientific papers available for free all over the Internet, which made the development of this report enjoyable and very interesting. Thanks as well for the guidance of my tutor, Pr. Laurent Hardouin. i Contents Introduction1 0.1 Context.....................................1 0.2 Outline of the research.............................1 1 Flocking simulation: State of the art3 1.1 Craig W. Reynolds : Flocks, Herds, and Schools, A Distributed Behavioral Model......................................3 1.1.1 Flocking Behaviors...........................4 1.1.2 The environment’s pressure......................5 1.1.3 Application of the flock model.....................5 1.2 James Shannon, BSc : Exploring the real world applications of cellular automata and its application to the simulation of flocking behavior....6 1.2.1 Cellular automaton...........................6 1.2.2 Cellular automaton applications....................6 1.3 James Kennedy and Russell Eberhart : Particle Swarm Optimization...8 1.3.1 Summary of the PSO’s development.................8 1.3.2 Multidimensional search and Neural Networks............9 2 Different approaches to the flocking simulation 11 2.1 Flock simulation using Reynolds "Boids theory"............... 11 2.1.1 A few details on the laws that govern the flock............ 11 2.2 Cellular Automata............................... 15 2.2.1 Game of life............................... 15 2.2.2 Flocking simulation........................... 16 iii iv Contents 2.3 Particle System Optimization......................... 18 2.3.1 PSO’s Algorithm............................ 19 2.3.2 Use in training a neural network.................... 20 3 Outcome of the study 25 3.1 Results of the simulations and the application................ 25 3.1.1 Flock simulation using Reynolds "Boids theory"........... 25 3.1.2 Cellular Automata........................... 27 3.1.3 Particle System Optimization..................... 28 3.1.4 PSO’s use in training a neural network................ 29 Conclusion 33 3.2 Evaluation.................................... 33 3.2.1 Future work............................... 33 List of Figures 1.1 Complex patterns emerge from the flocking of birds..............4 1.2 Pattern emerging from a Rule 30 cellular automaton with a specific initial state.......................................7 1.3 A Conus textile shell similar in appearance to Rule 30............7 2.1 Alignment rule applied to the Boid...................... 12 2.2 Separation rule applied to the Boid...................... 13 2.3 Cohesion rule applied to the Boid....................... 14 2.4 The board can be seen as a torus of revolution................ 15 2.5 Cell’s 2-layer neighborhood........................... 17 2.6 CA grid..................................... 17 2.7 CA Steering................................... 18 2.8 PSO’s search strategy.............................. 20 2.9 I/O of a single neuron............................. 21 2.10 XOR neural network layout.......................... 22 2.11 XOR Output Computation........................... 23 3.1 Flock Centering and Collision Avoidance implementation.......... 26 3.2 Velocity Matching rule implementation.................... 26 3.3 Flock of Boids.................................. 27 3.4 Conway’s Game of life............................. 27 3.5 Cellular automaton: migration of a flock of cells............... 28 3.6 Particle system’s displacement......................... 29 3.7 Optimizing with a particle system....................... 29 v vi List of Figures 3.8 Neural network trained to solve the XOR logic................ 30 3.9 Neural network: Bias and weights values................... 30 List of acronyms CA Cellular Automaton PSO Particle System Optimization NN Neural Network XOR The exclusive-or logic vii Introduction 0.1 Context This bibliographical report is a popularization and synthesis exercise which aims to provide a first experience of scientific research on a subject of my choice. Thus, based on the knowledge acquired during my first year of engineering studies in terms of simulation of complex systems and a certain curiosity for biomimicry [5], I decided to present and then carry out several approaches to the simulation of a bird flock as well as an application in neural networks[2]. 0.2 Outline of the research The first chapter of this report aims at presenting three scientific papers covering theories about the simulation of flocks of birds, schools of fishes and any system exhibiting emerging behaviors. The first approach concerns the work of Craig Reynolds [16] in 1986 with the development of rules between individuals called "Boid" in order to create an autonomous simulation. The second paper addresses the notion of cellular automata with the work of James Shannon [18] in 2013 and its application in the simulation of flocking behaviors. The third paper will focus on particle system optimizations developed by James Kennedy and Russell Eberhart [9] in 1995, which was originally inspired by the behavior of a flock of birds. In the second chapter we will present three simulations based on the theories previously detailed. Starting with a 3D simulation of a flock of birds based on Reynolds’ Boids theory, then we will create a cellular automaton based on Shannon’s theory with a little digression on Conway’s game of life [6]. Finally we will present the foraging simulation of a flock using a particle system that exhibits an optimizing behavior which we will use to train a neural network. In the last chapter we will comment on the final rendering of the simulations, as well as on the performance of the application mentioned previously. 1 Chapter 1 Flocking simulation: State of the art It is easy to imagine by observing the movements of a flock of birds or a school of fish that we are dealing with a single giant entity with a will of its own. Indeed, one is quickly absorbed by the lightning synchronicity with which hundreds of members can gather, change direction or escape from a predator. And yet it is indeed the individual actions of the elements that make up the flock that allow such behaviors to emerge [17]. A flock of bird is therefore considered to be a complex system [13]. Under this name are grouped systems composed of a multitude of members whose individual interactions bring out global properties. One property of such a system is its ability to self-organize through a collection of simple mechanisms. And at the origin of these mechanisms are the interactions of each element with its environment. 1.1 Craig W. Reynolds : Flocks, Herds, and Schools, A Distributed Behavioral Model Synthesis of Craig W.Reynolds’s Publication [16] Reynolds explains in his publica- tion that it is possible to reproduce the behavior of a pack, herd, swarm or flock by applying a minimum number of rules to the individuals that make up this system. Each individual is called a "Boid", and will behave according to its own perception of the system. In fact, one could have the illusion that a flock of birds moves as a single unit, with coordination, whereas in reality it is the reaction of each individual towards his neighbors that causes the behavior we observe to emerge. (fig. 1.1). Reynolds notes that a flocking simulation is similar to a particle system, which is a graphical technique simulating many natural phenomena such as fire, explosion, smoke, etc. The similarity lies in the fact that the system is composed of a large number of particles, with their own behavior, interacting with neighboring particles. Except that in 3 4 Chapter 1. Flocking simulation: State of the art Figure 1.1: Complex patterns emerge from the flocking of birds. our simulation, the particles are replaced by individuals with a geometric model. Therefore, these individuals must manage their orientations to cope with the direction in which they are moving. It is important to consider that the formation of a flock is an asset for the survival of its members [3]. Indeed, there is safety in numbers and it offers multiple advantages in order to escape predators, save energy by taking advantage of group dynamics, find food more quickly and expose themselves to social and reproductive interactions. We can therefore deduce that the flock aspires to be as massive as possible. We also know that the integrity of a flock depends on the interactions of its members, and their ability to respect certain behaviors. We can therefore observe a willingness of individuals to group together while avoiding collisions. 1.1.1 Flocking Behaviors Reynolds therefore sought to identify and simplify as much as possible the rules that, applied to each individual, allow a flock to emerge spontaneously. He identified that these rules are based on two parameters: the distance between two individuals and their velocities. The rules are therefore as follows: "Collision Avoidance", "Velocity Matching" 1.1. Craig W. Reynolds : Flocks, Herds, and Schools, A Distributed Behavioral Model 5 and "Flock Centering" as well as environmental pressures. This collection of rules prevents the members of the flock from touching each other, forces individuals to adapt their speeds to those of their neighbors and encourages the grouping of individuals in a flock. In the next chapter we will provide details on these rules in order to implement them in a simulation. Each of the three rules will thus produce a suggestion of direction and speed to adopt to take part in the flock. And depending on the situation, these suggestions will be more or less important, for example, if a collision is imminent, it will be necessary to favour an avoidance manoeuvre rather than adapting the speed of movement to those of the surroundings. These subtleties will therefore have to be taken into account when designing a simulation. 1.1.2 The environment’s pressure In order to create a convincing simulation, the swarm must interact with its environment.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    46 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