Friday, May 10, 2013

Evolution as a Tool to Design Self-Organizing Systems

Self-organizing Systems exhibit numerous advantages such as robustness, adaptivity and scalability, and thus provide a solution for the increasing complexity we face within technical systems. While they are attractive solutions, due to their nature, designing self-organizing systems is not a straightforward task. Artificial evolution has been proposed as a possible way to build self-organizing systems, but there are still many open questions on how an engineer should apply this method for this purpose.
Evolutionary design process
We propose a system architecture for evolving self-organizing systems that marks the major cornerstones and decisions the designer has to face:

In particular, the following aspects need to be considered:

Simulation setup:
  • Accuracy/granularity of the simulation?
  • Physical capabilities of the agent + environment
  • How many agents, homogeneous/heterogeneous configuration?
Interaction interface:
  • How should the agent interact with the environment/other agents
  • Number/type of sensors
  • Ability to change the environment (enable stygmergy)
Evolvable decision unit
  • Must be evolvable
  • Smooth search space, not too large
  • Genotype-to-phenotype mapping
Search algorithm
  • There exists literally a zoo on metaheuristic optimization algorihtms (Cuckoo search, Honeybee, Frog leap, Firefly, ...)
  • Ability to find global optimum
  • Number of tweaking parameters?
Objective function
  • Should contribute to a smooth search space
  • Avoid modeling the solution instead of the problem
  • Mapping of multiple objectives (or weighted sum?)
Framework for Evolutionary Design (FREVO)
  • Is a way to implement an evolutionary design task for multi-agent system
  • Needs a simulation of the problem
  • Interface for sensor/actuator connections to the agents
  • Feedback from a simulation run -> objective function
  • Written in Java, runs on multiple platforms including Linux, Mac OS, Windows
  • FREVO is available as open soure at
  • FREVO introduction video including installation, setting up a simulation and running it (length 6 minutes)


1 comment:

  1. Ok, I'll take a look at it. I was doing a lot of electronics design but now I'm interested in doing some code again.
    If you are interested in evolution and optimization you should look up the paper on 'Continuous Gray Code Optimization'. It is a very simple but effective way to do numerical optimizations. In fact the way it works has nothing to do with Gray Codes at all. That is just the route through with the authors discovered it. I have improved versions of it and some additional insights if you should ever be interested.
    Sean O'Connor (evospice symbol yahoo symbol com)