Grammatical Evolution Algorithm for Evolution of Swarm Behaviors

Aadesh Neupane, Michael A. Goodrich, Eric G. Mercer

Problem

- Cumbersome to design collective behaviors

- Requires experts for modeling

Solution

- Evolutionary computation to generate collective behaviors

$$\dot{R} = -aR + vnD , R(0) = R_0$$

$$\dot{O} = aR -bO +cE, O(0) = O_0$$

$$\dot{E} = q(D)bO - cE, E(0) = E_0$$

$$\dot{A} = p(D)bO - mA + wnD, A(0) = A_0$$

$$\dot{D} = mA - nD, D(0) = D_0$$

Reference: Stability of choice in the honey bee nest-site selection process

  • Related Work
    • Evolutionary Robotics
      • Neural Nets
      • Distributed Evolution
    • Grammatical Evolution
  • GEESE
  • Results
    • Santa Fe Trail
    • Single Source Foraging
  • Conclusion

Presentation Structure

Related Work - Evolutionary Robotics

Reference: Evolution of collective behaviors for a real swarm of aquatic surface robots

  • Swarm behaviors like homing, dispersion, clustering and monitoring by Duarte et. al
  • They transferred the evolved controller from simulation to real world aquatic robots and validated the key properties of swarms like scalability, flexibility, and robustness

Neural Network based controllers

Merits

  • Direct mapping from sensory inputs into actuators values
  • Provides generalized solutions
  • Only a few human inputs needed

Demerits

  • Very hard to reverse engineer
  • Not easy to obtain insights on the evolved collective behavior
  • Very difficult to modify the behaviors

Related Work - Evolutionary Robotics

Reference: GESwarm: Grammatical Evolution for the Automatic Synthesis of Collective Behaviors in Swarm Robotics

  • Ferrante et. al. used grammatical evolution based approach named as "GESwarm" to evolve collective behaviors for foraging problem
  • Individual behaviors were composed of preconditions, low-level behavior and actions
  • Grammatical evolution would evolve different interaction rules between the individual behaviors

Grammatical Evolution based controllers

Advantages

Disadvantages

  • BNF grammar and objective function enable human to shape collective tasks
  • Easy to analyze and modify collective behaviors
  • Human expert has to define the primitive low-level rules
  • Low-level rules need mapping to sensors and actuators values

Related Work - Distributed Evolution

Reference: odNEAT: An algorithm for distributed online, onboard evolution of robot behaviours

odNEAT

  • Online distributed algorithm based on NEAT evolves neural network weights along with topology
  • Applicable for online learning in groups of embodied agents (robots)
  • odNEAT performs well in aggregation in comparison with rtNEAT (centralized)

What is the outcome if we combine best features from all of these works?

A online distributed Grammatical Evolution

Related Work - Grammatical Evolution

BNF Grammar

Population of Genome

Corresponding Phenotype

Grammatical evolution: Evolving programs for an arbitrary language

Grammatical Evolution

BNF Grammar

<code>          ::=  <code> | <progs>
<progs>        ::=  <condition> | <prog2> | <prog3> | <op>

<condition>  ::=  if_food_ahead(<progs>, <progs>)
<prog2>        ::=  prog2(<progs>, <progs>)
<prog3>        ::=  prog3(<progs>, <progs>, <progs>)
<op>              ::=  left | right | move

- Santa Fe Trail Grammar

- Represented by tuple \(N, T, P, S\)

  • N -> Set of all non-terminals
  • T  -> Set of all terminals
  • P -> Set of productions that map \(N\) to \(T\)
  • S -> Initial start symbol

Grammatical Evolution

Genome/ Genotype / Individual

  • Defines the proceedings of left-derivation
  • \({Codon}\) is a group of symbols, usually 4 or 8.

Grammatical Evolution - BNF Grammar

Mapping

  • Let \(c\) be codon integer
  • \(A\) denotes the left-most non-terminal in the derivation
  • \(r_A\) denotes the number of right-hand side rules associated with the production of \(A\)
  • RHSRule = \(c\%r_A\)

Phenotype

  • The output from the mapping process is the phenotype
  • The phenotype represents a valid expansion of the BNF grammar
  • \(if\_food\_ahead(move, left)\)

Example of Grammatical Evolution

RHSRule = \(c\%r_A\)

<code>          ::=  <code> | <progs>

<progs>        ::=  <condition> | <prog2> | <prog3> | <op>

<condition>  ::=  if_food_ahead(<progs>, <progs>)

<prog2>        ::=  prog2(<progs>, <progs>)

<prog3>        ::=  prog3(<progs>, <progs>, <progs>)

<op>              ::=  left | right | move

Grammatical Evolution

 GE Pipeline

GEESE

GEESE

Hello! Neighbour!

How well are you doing with your current program in this desert?

Hello!

I collected 35 oz of water.

Take my genome and perform magic using genetic operators !

GEESE Pipeline

  • Objective
    • Find all food using maximum of 600 moves
  • 32 x 32 cells
  • Optimal trail
    • 144 cells
    • 89 food
    • 55 gaps
  • Actions :
    • Left
    • Right
    • Forward

Santa Fe Trail

Problem Description

Results

Santa Fe Trail

Results

Santa Fe Trail

Evolved Program

  • Solves Santa Fe Trail in 324 steps

Foraging

Single Source Foraging problem

Problem Description

  • Objective
    • Collect maximum food
  • Environment
    • Hub
    • Source
    • Agents

Foraging

Primitive Behaviors

  • Motion Behaviors
    • Random Walk
    • ToSource
    • ToNest
  • Communication Behaviors
    • Cue
      • DropCue
      • PickCue
    • Signal
      • SendSignal
      • ReceiveSignal

Swarm Behaviors

Grammar

Results

Swarms

Results

Evolved Rules

Results

Evolved Rules

Results

Foraging

Results

Video

Summary

  • Better suited for swarms
  • Performance on Foraging problem and a standard GA benchmark problem good
  • Human readable evolved behaviors

Future Work

  • Access the performance of GEESE with several benchmark problems and swarms problems
  • Implement the evolved behaviors in actual robots

Conclusion

Thank You!

This work has been funded by ONR grant number N000141613025.

https://github.com/aadeshnpn/swarm

GECCO

By Aadesh Neupane