Skip to content

Implementation of reservoir computing in swarm dynamics using Boids model introduced by Reynolds. It works on simulating real-life animal flocking behaviour and is more complex in comparison to particle systems.

Notifications You must be signed in to change notification settings

IshwaryaGanesh/SwarmDynamics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

SwarmDynamics

Implementation of reservoir computing in swarm dynamics using Boids model introduced by Reynolds. It works on simulating real-life animal flocking behaviour and is more complex in comparison to particle systems.

History of Animates:

  • Artifical animals are called Animates.
  • Flocking behaviour of birds was simulated by Reynolds who called the artifical birds as "boids".
  • Main idea behind boids model is to avoid collisions and stay within the flock
  • Model tackles two main things: Collision avoidance (static + dynamic) and velocity steering mechanism

Boids model Versus Particle systems:

  • Boids behaviour model has objects that have geometrical shapes while Particles systems are associated with fuzzy objects. This makes Boids model more complex since we would now also talk about orientation of the objects in the flock.
  • Simulation of particles less complex in comparison to Boids model. Particles in particle systems do not interact with one another while that is not the case for Boids which depends on internal and external states.

Boids Model:

Talks about balanced yet opposing behaviours of staying within the flock as well as avoiding collision. Amount of thinking a bird has to do to flock must be independent of the number of birds in the flock. We look at 4 different forces mentioned in the paper on "Reservoir Computing with Swarms".

  • Without a predator:
    • Works based on 3 major forces: Cohesion, Alignment and Homing forces. Equations can be retrieved from the papers cited above.
    • An additional fricitional force is added as well to achieve a required target speed for each agent/boid in the swarm.
    • The total force is calculated with weights provided for each of the above mentioned forces.
    • This total force is now passed through a sigmoid wrapping. To put it vaguely, it accounts for the ideal vs possible motion of the boids.
  • With a predator:
    • An additional force is added for a predator to influence the motion of the swarm.
    • This allows the swarm to maintain a minimum distance with the predator and ensure the movement of the swarm is repulsive when it falls too close to the predator hence avoiding its (predator's) reach.
    • For the sake of simplicity, only a single predator moving in a lorenz 63 chaotic system has been introduced.

Sequence of Code Improvements:

  • Step 1: Produce code in python for a simple agent-based model (ABM) following Reynold's boids model without any predators.
  • Step 2: Introduce a stationary predator and notice how the repulsive force added to the total force for each agent is affects the motion of the swarm around the predator.
  • Step 3: Allow the predator to move in a chaotic system (in our case, a Lorenz63 system) and notice how the boids dynamically change their motion to repel the moving predator.

About

Implementation of reservoir computing in swarm dynamics using Boids model introduced by Reynolds. It works on simulating real-life animal flocking behaviour and is more complex in comparison to particle systems.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published