Author of Grokking Artificial Intelligence Algorithms

Swarm intelligence is an amazing phenomena in nature. We see it in flocks of birds, bees in a hive, bacterial growth, and more. The behaviour of these wonderful creatures have been studied and inspired useful algorithms. Here's an introduction to particle swarm optimization.

Particle swarm optimization is a swarm intelligence algorithm. It relies on emergent behavior of many individuals to solve difficult problems as a collective. The most amazing feats are always achieved as a collective. Learn more about swarms here: https://rhurbans.com/optimization-finding-the-best-solutions/

Bird flocks are an ideal example of swarm intelligence in nature. When a single bird is flying, it might attempt several maneuvers and techniques to preserve energy - jumping and gliding or leveraging wind currents to carry it in the right direction of travel.

This behavior indicates some primitive level of intelligence in a single individual. But birds also have the need to migrate during different seasons. In winter, there is less availability of insects and food, nesting locations are scarce, and warm weather is better for survival.

Migration is usually not a short trip. It takes thousands of kilometers of movement to arrive at an area with suitable conditions. When birds travel these long distances, they tend to flock.

The formation that we observe in bird flocks has several advantages. A large, strong bird will take the lead, and when it flaps its wings, it creates uplift for the birds behind it. These birds can fly while using significantly less energy.

Particle swarm optimization involves a group of individuals at different points in the solution space, all using real-life swarm concepts to find an optimal solution. Imagine building a drone and finding the optimal plastic, aluminium, while minimizing drag in the wind.

Each combination of the values for plastic, aliminium, and drag is a possible solution. We want to find the values for plastic and aluminium that minimize the drag value. Particle swarm optimization can help us with this.

PSOs are useful in large search spaces —There are many data points and possibilities of combinations. And search spaces with high dimensions —There are many parameters that influence how well a solution performs.

A PSO particle contains a:
* Position —The position of the particle in all dimensions
* Best position —The best position found using the fitness function
* Velocity —The current velocity of the particle’s movement

Particle swarm optimization provides a means to search a large search space without checking every value in each dimension. These attributes help particles search the solution space and converge to good solutions inspired by swarms in nature.

If you found this interesting and useful, see Grokking AI Algorithms with Manning Publications: http://bit.ly/gaia-book, consider following me - @RishalHurbans, or join my mailing list for infrequent knowledge drops: https://rhurbans.com/subscribe.