Evolutionary Design of Self-Organizing Particle Systems for Collective Problem Solving
Benjamin Bengfort, Philip Y. Kim, Kevin Harrison, James A. ReggiaUniversity of Maryland, College Park
Can an evolutionary process design a particle swarm system to solve a task
as creatively than a human can?
Characteristics:- Two teams and bases- Resources depots- Find, collect, and return- Large world- Periodic boundaries
Considerations:- Exploit vs. Explore?- Competitive - limited
resources- Theft and collisions
Search and Retrieve
Problem Solving with Swarms
Problems in the physical world can be efficiently solved using simple agents that act in concert to demonstrate globally emergent intelligence:
● Complex Navigation ● Sensor Deployment ● Fire Fighting ● Construction
Many robotic implementations are now becoming cheap enough to warrant the use of robotic flocks.
Designing SwarmsEvery problem or task requires domain specific design. Though there are a few common features:
○ Local Dynamics○ Working memory ○ A top down controller
● Solutions are not generally applicable● Requires many human design hours
Using these basic building blocks, can we automatically design particles to solve tasks?
Memory and State Variables
FSM
Local Information
Movement Dynamics
environment
Movement behaviors are defined by a FSM: observations about the world change an individual particle’s state.
Each State describes complex movement by a weighted combination of velocity components
Changing the weights and parameters of velocity components changes the movement behavior.
Spreading
Seeking
Caravaning
Flocking
Guarding
Velocity Components are parameterized by a radius, an angle of view, a weight and an order of priority. Velocity is the linear combination of the components.
Cohesionkeeps swarm together
Alignmentmaintain heading
Avoidanceprevent collisions
Separationmaintains flocking
SeekingMove towards a target
Clearancemaximize FOV
Modify behaviors of a swarm to fit a specific domain task by evolving the underlying components:
- The dynamics parameters of velocity components- The structure of the finite state machine
Evolutionary Strategies (ES): optimization of a genotype of real valued numbers.Evolutionary Programming (EP): the evolution of the structure of Finite State Machines (an older definition of evolutionary programming) by modifying transitions and states.
Evolutionary Design
Evolutionary Methodology
Genotype: Real valued vectors for each statePhenotype: Behavior of particle swarm in simulationParent Selection: Tournament with ElitismRecombination: Intermediary exempting elitesMutation: Linear Rule exempting elitesSurvivor Selection: Tournament with elitismFitness: Amount of resources collected after 10k timestepsSpecialty: Adapting FSM with same size network
Experiments: mutation alone, mutation + recombination.
(50/2,49) + 1 elite parent
GenotypeComponent array and transitions
for an individual particle
PhenotypeBehavior of the entire swarm in
the simulation of the task
FitnessThe number of resources
collected against human design
- 273 seconds average simulation (compute fitness)- Optimization: Celery distributed process queue
- tasks: compute fitness in parallel- controller: manages population, evolution and
submits simulation tasks to the queue- 8 processes on an Amazon c3.2xlarge:
- ~160 hours to complete (183 generations total)- ~52 minutes per generation
This methodology is about design not about real-time problem solving or simulated adaptation.
Cost of Evolution
Recombination & EA PerformanceFitness per generation:a. mutation aloneb. mutation + recombination
- Mutation alone caused seemingly random behavior moving through the search space.
- Recombination allowed for increasing fitness per generation and reached convergence around 60 generations.
Human vs. Evolutionary Design
Red and Black teams are both the best human designed particle
Black team is the evolved particle, red is the human design
Average fitness of the two teams competing head to head across 32 simulations
Creative Strategies Observed
- Observed one evolved team guard the opponent's home base
- Speed of exploration favored over exploitation of discovered resources
- Two main types of flocks observed:- 1 large flock with all particles- many smaller flocks of 2-3 particles- (human design grouped into 2-3 flocks of 3-5)
● An evolved swarm can do just as well as a human designed swarm for a particular domain - even outperforming one.
● Computationally expensive for simulation based experiments but can be improved with parallelism.
● Explore co-evolution of multiple species of particles in competition with each other.
● Add Baldwin effect, where in-simulation learning augments evolution alone
● Future steps include the generation of novel logical behaviors instead of adapting limited collective strategies
Conclusions
Addendum: Swarms- Multi-agent systems (MAS) where each agent follows simple rules
based on their local neighborhood: leads to global emergent behavior of the entire flock or swarm.
- No centralized control system, hugely distributed- Particles are represented as points in space as two vectors:
position (X) and velocity (V) and are updated as follows:
http://cmuems.com/2013/b/complexity-and-emergence/
Addendum: PSO- An extensions of particle systems for optimization of a numerical
function in abstract, high-dimensional space.- Each particle represents a solution, move the particles around the
search space to find the best solution.- A particles velocity is based on its neighborhood and the particle
moves towards global best, local best and inertial solutions.- Excellent optimization procedure that does not require gradient.
Addendum: Genetic Algorithms- Optimization inspired by natural evolution- Start with a population of genes - a string of numbers that
represents a phenotype (e.g. the solution to the problem)- Select members of the parent population based on their fitness- Produce a child population through the application of genetic
operators: mutation, crossover, and recombination. - Continue to select from the new population until convergence.