Through this report we established that the behavior of a complex system such as a flock of birds is in fact governed by simple interactions between members of the system. Indeed, they obey only a few simple laws to move and interact with each other, creating a system with emergent behaviors. Thanks to Reynolds’s work we have found that a good approximation for simulating a flock of bird could be achieved by using only three rules and some environmental pressure. Then, we were able to familiarize ourselves with the notion of cellular automatons with Conway’s game of life and with the realization of a simulation based on Shannon’s work. Finally we approached the optimization capability of a particle flock using the publication of Kennedy and Eberhar by creating a visualization of the progression of this algorithm, and applying this technique to the training of a neural network. In conclusion, this report was very useful to produce in the sense that the diversity of the new topics covered brought challenging and exciting difficulties which were interesting to overcome and brought me valuable knowledge.

Future work

This report paves the way for several improvements in my simulations and especially the resolution of countless non-linear problems using a neural network and the PSO learning algorithm. For example, the Unity simulation of Reynlods’s Boids could be used to help a flock travel from one point to another with the presence of obstacles in the way. The flock will therefore have to perform avoidance maneuvers without any human supervision in order to reach their objective. In the same way the visualization of the PSO algorithm could be used to find the shortest trajectory for a displacement problem. For example, to compute the best path for a robotic manipulator in industries. The PSO can also be used to optimize the parameters of a multi-variable problem, as it has been done in neural network training. The problems that can be solved using a NN are numerous and are at the source of artificial intelligence and machine learning, which suggests a very large number of applications.