22
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

Evolutionary Design of Swarms (SSCI 2014)

Embed Size (px)

Citation preview

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

EAs for Design and Creativity

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)

Simulation Demo

● 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/

BOIDS: Craig Reynolds original flocking system

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.