This document discusses using an evolutionary algorithm to automatically design particle swarm systems to solve tasks. It describes evolving the dynamics parameters and finite state machine structure to modify swarm behavior. The results show an evolved swarm was able to perform as well as a human-designed one on a resource collection task, even outperforming one human design. Future work could explore co-evolving multiple competing swarm species.
Role of AI in seed science Predictive modelling and Beyond.pptx
Evolutionary Design of Swarms (SSCI 2014)
1. Evolutionary Design of Self-Organizing Particle
Systems for Collective Problem Solving
Benjamin Bengfort, Philip Y. Kim, Kevin Harrison, James A. Reggia
University of Maryland, College Park
3. Can an evolutionary process design a
particle swarm system to solve a task
as creatively than a human can?
4. Search and Retrieve
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
5. 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.
6. Designing Swarms
Every problem or task requires domain specific design.
Though there are a few common features:
○ Local Dynamics
○ Working memory
○ A top down controller
Memory and
State Variables
FSM
Local
Information
Movement
Dynamics
● Solutions are not generally applicable
● Requires many human design hours
Using these basic building blocks, can we
automatically design particles to solve tasks?
environment
7. Movement behaviors are defined by a FSM: observations
about the world change an individual particle’s state.
8. 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
9. Cohesion
keeps swarm together
Alignment
maintain heading
Avoidance
prevent collisions
Separation
maintains flocking
Seeking
Move towards a target
Clearance
maximize FOV
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.
10. Evolutionary Design
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.
11. Evolutionary Methodology
Genotype: Real valued vectors for each state
Phenotype: Behavior of particle swarm in simulation
Parent Selection: Tournament with Elitism
Recombination: Intermediary exempting elites
Mutation: Linear Rule exempting elites
Survivor Selection: Tournament with elitism
Fitness: Amount of resources collected after 10k timesteps
Specialty: Adapting FSM with same size network
Experiments: mutation alone, mutation + recombination.
12. Genotype
Component array and transitions
for an individual particle
Phenotype
Behavior of the entire swarm in
the simulation of the task
Fitness
The number of resources
collected against human design
(50/2,49) + 1 elite parent
13. Cost of Evolution
- 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.
14. Recombination & EA Performance
Fitness per generation:
a. mutation alone
b. 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.
15. Human vs. Evolutionary Design
Average fitness of the two teams competing head to head across 32 simulations
Red and Black teams are both
the best human designed particle
Black team is the evolved
particle, red is the human design
16. 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)
18. Conclusions
● 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
19. 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/
21. 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.
22. 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.