Swarm intelligence (SI) is a subfield of AI that studies how self-organizing communities of agents exhibit emergent collective behaviour. The observation of social behaviour in nature, such as the migration of birds and fish, significantly influenced the development of SI.

"Some people call this artificial intelligence, but the reality is this technology will enhance us. So instead of artificial intelligence, we'll augment our intelligence." - Ginni Rometty.

Swarm intelligence systems

Swarm intelligence systems often comprise a population of essential agents interacting locally with one another and their surroundings. Again, nature, particularly biological systems, is a frequent source of inspiration. Although no centralized control structure dictates how individual agents should behave, local and, to some extent, random interactions between such agents create "intelligent" global behaviour unknown to the respective agents.

Bird flocking, ant foraging, and fish schooling are all examples of swarm intelligence in the natural world. Swarm intelligence algorithms (SIAs) are a class of algorithms that take their cues from the behaviour of swarms to solve optimization issues. 

Swarm robotics

Swarm robotics refers to applying swarm principles to robots, whereas swarm intelligence refers to a broader collection of algorithms. For example, swarm prediction has been used to forecasting difficulties. In synthetic collective intelligence, methodologies similar to those described for swarm robots are being studied for genetically engineered organisms.

Particle Swarm Optimization Algorithm

The first swarm-based algorithm is particle swarm optimization. This algorithm enables people in a basic living structure to band together to form a more intelligent system.

Step1: Randomly initialize Swarm population of N particles Xi ( i=1, 2, …, n)
Step2: Select hyperparameter values
           w, c1 and c2
Step 3: For Iter in range(max_iter): # loop max_iter times  
            For i in range(N): # for each particle:
               a. Compute new velocity of ith particle
                    swarm[i].velocity = 
                         w*swarm[i].velocity + 
                         r1*c1*(swarm[i].bestPos - swarm[i].position) +
                         r2*c2*( best_pos_swarm - swarm[i].position) 
               b. Compute new position of ith particle using its new velocity
                    swarm[i].position += swarm[i].velocity
               c. If position is not in range [minx, maxx], then clip it
                    if swarm[i].position < minx:
                        swarm[i].position = minx
                    elif swarm[i].position > maxx:
                        swarm[i].position = maxx
               d. Update new best of this particle and new best of Swarm
                     if swaInsensitive to scaling of design variables.rm[i].fitness < swarm[i].bestFitness:
                        swarm[i].bestFitness = swarm[i].fitness
                        swarm[i].bestPos = swarm[i].position
                     if swarm[i].fitness < best_fitness_swarm
                        best_fitness_swarm = swarm[i].fitness
                        best_pos_swarm = swarm[i].position
             End-for
         End -for
Step 4: Return best particle of Swarm

Algorithm source: Geekforgeeks

Artificial Swarm Intelligence

The term "Artificial Swarm Intelligence" (ASI) refers to a technique that uses control algorithms inspired by natural swarms to increase the collective intelligence of networked human organizations. Human swarming, also known as Swarm AI, is a form of crowdsourcing in which many people work together in real-time to solve a problem by discussing it and eventually agreeing on a single answer. ASI has been put to use for everything from helping business teams make more precise financial projections to helping sports fans beat the odds in Las Vegas. ASI has also been used to help teams of clinicians make diagnoses with much greater precision than was previously possible. 

Swarm Intelligence applications

In addition to classic optimization problems, swarm intelligence has applications in library acquisition, communications, medical dataset categorization, dynamic control, heating system planning, and monitoring and prediction of moving objects. Furthermore, swarm intelligence has applications in basic research, engineering, business, and the social sciences.

  • Data mining makes use of this term.
  • NASA is developing the concept of planetary mapping using swarm intelligence.
  • It is used to control nanobots in our bodies to eliminate cancer tumours.
  • In business, it is used to make better financial judgements, among other things.

Sources of Article

Image source: Unsplash

Want to publish your content?

Publish an article and share your insights to the world.

Get Published Icon
ALSO EXPLORE