Showing posts with label evolution. Show all posts
Showing posts with label evolution. Show all posts

Sunday, November 27, 2016

Evolving Spiking Neural Networks: Growth of Learning Machines

J. David Schaffer gave an excellent talk on evolving Spiking Neural Networks at the Center for Collective Dynamics of Complex Systems (CoCo) Seminar Series.

Many of today's neural network applications are based on multi-layer implementations of the perceptron. A perceptron implements a neuron model that sums weighted inputs and applies a non-linear activation function to calculate the output. Despite that this model deviates from how biological neuron networks work, the approach works and is used until today. In contrast, Spiking Neural Networks (SNNs) are a type of neural network that increase the realism in neural network simulation by introducing a time aspect into the model. Other than perceptron networks that decide upon their output at each propagation cycle, SNNs fire when a certain membrane potential is reached, which puts information into the timing of a spike.

J. David Schaffer shows how a genetic algorithm can be applied to generate an SNN for a given problem. Therefore, the chromosome representing an SNN will be mapped onto a binary string which will be evolved with mutation and recombination.

Evolving Spiking Neural Networks: Growth of Learning Machines from Complex Systems on Vimeo

Further readings on the topic:

Monday, January 11, 2016

Call for Papers Genetic and Evolutionary Computation Conference (GECCO 2016)

2016 Genetic and Evolutionary Computation Conference (GECCO 2016) 
July 20-24, 2016
Denver, Colorado, USA
http://gecco-2016.sigevo.org/

The Genetic and Evolutionary Computation Conference (GECCO 2016) will present the latest high-quality results in genetic and evolutionary computation. Topics include: genetic algorithms, genetic programming, evolution strategies, evolutionary programming, memetic algorithms, hyper heuristics, real-world applications, evolutionary machine learning, evolvable hardware, artificial life, adaptive behavior, ant colony optimization, swarm intelligence, biological applications, evolutionary robotics, coevolution, artificial immune systems, and more.

The GECCO 2016 Program Committee invites the submission of technical papers describing your best work in genetic and evolutionary computation. Abstracts need to be submitted by January 27, 2016. Full papers are due by the non-extensible deadline of February 3, 2016.

Each paper submitted to GECCO will be rigorously evaluated in a double-blind review process. The evaluation is on a per-track basis, ensuring high interest and expertise of the reviewers. Review criteria include significance of the work, technical soundness, novelty, clarity, writing quality, and sufficiency of information to permit replication, if applicable. All accepted papers will be published in the ACM Digital Library.  Researchers are invited to submit abstracts of their work recently published in top-tier conferences and journals to the Hot Off the Press track. Contributions will be selected based on quality and interest to the GECCO community.

By submitting a paper, the author(s) agree that, if their paper is accepted, they will:

 - Submit a final, revised, camera-ready version to the publisher on or
   before the camera ready deadline
 - Register at least one author to attend the conference on or before
   the advance registration deadline
 - Attend the conference (at least one author)
 - Present the accepted paper at the conference

Friday, February 13, 2015

FREVO 1.2 release

FREVO 1.2 - new version of the Framework for Evolutionary DesignWe proudly announce the new release 1.2 of FREVO (FRamework for EVOlutionary design). FREVO helps to reduce the time to implement, set up and run an evolutionary algorithm to evolve an agent's behavior as a solution to a particular control problem. FREVO supports decomposing the task into problem definition, solution representation and the optimization method. The componentwise separation allows to experiment with different combinations of algorithms and neural networks for different tasks.

The following components were added to FREVO:

  • HEMS  a simulation for modeling trading behavior of loads and local energy generators.
  • SinglePong  a simulation of the one player pong game where several paddles can cooperate in order to achieve better performance.
  • Pong  a simulation of the pong game where two teams can play against each other.

Quick start:
  • download the newest version at frevo.sourceforge.net 
  • unpack the ZIP file
  • unless you have it already on your system, install Java 
  • execute the createscrips.jar ("java -jar createscrips.jar") 
  • you can now run FREVO using the script named launch_Frevo 
...or have a look at the following video explaining the basic steps to get started with FREVO:
For more information see the following sources:

Sunday, February 1, 2015

Comparison of Metaheuristic Algorithms for Evolving a Neural Controller for an Autonomous Robot

Robots are a good way to test things. Hope our robot overlords of the future will not take this to personal…

The task
We used a simulation of a robot that is searching for a light source as a testbed to compare how well a solution can be created by evolving an artificial neural network (ANN). While ANNs are often programmed using example input-output pairs which are learned by a backpropagation algorithm (supervised learning), in our case we left the how up to the system and only required the what – the robot should be able to find the light source by operating its wheels and using its sensors – that is called learning with belated rewards or reinforcement learning. We compared different evolutionary algorithms (EA), namely simple EA, two dimensional cellular EA, and random search, according to their performance in evolving a successful algorithm for the light-searching robot. In our experiments we studied the effects of EA parameters on performance, such as population size and number of generation. The simulations have been done using the open-source tool Framework for Evolutionary Design (FREVO).

The results explain how the choice of the neural network (three-layered or fully-connected) may inf
Possible implementation in hardware
luence the quality of a final solution. The results indicate that cEA and simple EA are the most applicable for evolving a neural controller. A fully-connected ANN outperforms three-layered ANN in all conducted experiments. Based on our findings, we recommend to use cEA and fully-connected ANN for problems that require short evaluation phase. For a large number of generations and population size the efficiency of both algorithms are approximately the same. In the experiments we measured an influence of population size and number of generations on performance of metaheuristic algorithms. The dependencies on these parameters are negligible. This information is important for the conduction of experiments. To accelerate a simulation, the population size should be the same as the number of cores on the server, where these experiments will be performed.

Tuesday, January 20, 2015

Call for Papers 10th International Conference on Soft Computing Models in Industrial and Environmental Applications (SOCO 2015)



In conjunction with:
CISIS 2015
and
ICEUTE 2015

The 10th International Conference on Soft Computing Models in Industrial and Environmental Applications will take place in Burgos, Spain. Soft computing represents a collection or set of computational techniques in machine learning, computer science and some engineering disciplines, which investigate, simulate, and analyze very complex issues and phenomena. This conference is mainly focus on its industrial and environmental applications.

Topics of interest include, but are not limited to:
• Green Computing
• Evolutionary Computing
• Neuro Computing
• Probabilistic Computing
• Immunological Computing
• Hybrid Methods
• Causal Models
• Case-based Reasoning
• Chaos Theory Fuzzy Computing
• Intelligent Agents and Agent Theory
• Interactive Computational Models

The application fields of interest cover, but are not limited to:
• Decision Support
• Process and System Control
• System Identification and Modelling
• Optimization
• Signal or Image Processing
• Vision or Pattern Recognition
• Condition Monitoring
• Fault Diagnosis
• Systems Integration
• Internet Tools
• Human Machine Interface
• Time Series Prediction
• Robotics
• Motion Control & Power Electronics
• Biomedical Engineering
• Virtual Reality
• Reactive Distributed AI
• Telecommunications
• Consumer Electronics
• Industrial Electronics
• Manufacturing Systems
• Power and Energy
• Data Mining
• Data Visualisation
• Intelligent Information Retrieval
• Bio-inspired Systems
• Autonomous Reasoning
• Intelligent Agents

Important Dates

Paper submission deadline: 24th January, 2015
Acceptance notification: 13th February, 2015
Submission of final papers: 3rd March, 2015
Final version submission: 13th March, 2015
Conference dates: 15th-17th June, 2015

Monday, November 24, 2014

Scalability in Self-Organizing Systems

One of the properties of self-organizing systems is scalability. It means that system keeps its working capabilities even if we remove some of its components or add more of them. In our reseach, we employ different evolutionary algorithms (EAs) to create a self-organizing system. In particular, algorithms like a simple evolutionary algorithm or a two dimensional cellular EA are used  for adjusting the synaptic weights of an neural controller. The best solutions are identified based on simulations of the target application. Typically, the simulation parameters limit the applicability of the solution - there is no guarantee that an evolved solution is adaptable or scalable to situations not specified in the simulation parameters. On the other hand, there are many examples in nature where solutions could be successfully employed in other contexts. We decided to check how our soccer teams, which consist of evolved neural controllers, can scale.

For the FIFA World Cup in Brazil we organized our own tournament between evolved self-organized soccer teams. This is an exciting show - to see how simple agents having only partial information about the environment around them are reaching its goal (score a goal) as a team. Will they be able to play in the same manner if we take the contoller, trained in the simulation with 10 players per team, and increase or decrease the number of players? This question has remained open until today.

In our first scenario, we assume that we invited two soccer teams to show us a fantastic game, but due to some circumstances, only 4 players per teamshow up.
Thus our first experiment can be seen in the video below.
Despite the players being evolved in a context of 11 players on each side, reducing the number of players did not affect the ability of players to show good game.


To check the other extreme, we settled a very dangerous experiment - each team consisting of 40 players! The results were stunning (see video below). These soccer heroes could play as a team even with significantly increased number of players. Unfortunately, they could not play for a long time in this mode: Marco Materazzi headbutted Zinadine Zidane in the chest and shouted "Revenge!"; Luis Suarez bit two players in order to show his perfect teeth; Diego Maradona scored the goal by striking the ball with his hand and this time he was disqualified for this trick. We didn't care about these incidents since we got the results of our experiment:


Links:

Tuesday, August 19, 2014

DarwinTunes - Evolution of Music by Public Choice

http://game.darwintunes.org/REST/population/1/individual/573a5f10/audio.mp3
The natural world – creatures, plants, infections – is the result of Darwinian evolution by natural selection, i.e., the gradual process of (biological) traits become either more or less common in a population based on the success of the organism carrying these traits. This process, repeated for two billion years, has created the vast diversity of life on earth.
The same process can be also observed in human society where cultural artifacts – words, songs, images, ideas – are constantly remixed and reinterpreted by people. A reinterpretation is an imperfect copy and therefore a “mutation”. Thus, the variety of our culture is the result of a cultural evolution.
In order to examine the underlying mechanism of cultural evolution, Robert M. MacCalluma, Matthias Mauch, Austin Burta, and Armand M. Leroia constructed a Darwinian music engine consisting of a population of short audio loops that sexually reproduce and mutate.
The selection is based on human feedback via a webpage that implements the remixing of tunes as a game. By remixing your tune with others, the other parent gets a score point. Your goal is to make an attractive tune - the more often you get remixed, the more points you have.

In 2010, researchers from the Alpen-Adria-Universität Klagenfurt released a similar system where people could vote for recombinations of music tunes.  

Links:

Friday, July 4, 2014

On Evolving Self-organizing Technical Systems

Moofushi Kandu fish (Image by Bruno
de Giusti under CC-BY-SA-2.5)
Individual swarm fish behave according to simple rules, which make the overall swarm an efficient entitiy for hunting and avoiding predators. Despite the simple local rules, a school of fish is a working, intelligent system. István Fehervari examined in his doctoral thesis how this behavior can be transferred to technical systems. The result is a tool making it easier to develop self-organizing systems.
Sometimes, it is possible to mimic natural self-organizing behavior for a technical system. At other times, you might not have access to such a template. "If there is no natural system, which we can copy, we have to develop it on our own," says István Fehérvári from the Institute of Networked and Embedded Systems at Alpen-Adria-Universität Klagenfurt. Fehérvári further explains: "This is very difficult because the behavior of a complex system is difficult to predict and the definition of the proper interaction behaviors is hard. Any change in the system creates an effect, often with unwanted consequences. This is why we apply an artificial evolution approach to evolve the local interaction rules,"

To make this approach feasible, the FREVO software has been developed, a tool that helps to apply the evolutionary approach in a unified way to different problem statements and settings. "FREVO provides a one-stop shop, with all the necessary steps for designing a self-organized algorithm for a given problem." says Fehérvári who devoted a major part of his thesis work to design and implement FREVO.  Now the tool is available to other researchers for further experiments and investigations. FREVO is an open-source program in Java that can be freely downloaded at frevo.sourceforge.net

Further readings and downloads:

Wednesday, June 11, 2014

Simulating the Soccer World Cup 2014

You cannot wait for the soccer World Cup to start? We proudly present a peek preview of the World Cup 2014 - played by teams created with evolutionary algorithms. Using our evolutionary tool FREVO for designing self-organizing systems we have evolved neural networks that make robots playing soccer. During the evolution phase, a fitness function combines different aspects of gameplay like zone defense, man-marking, passing, shots, and goals. By tweaking the weights for these parameters we can influence the playing style of a team while the overall gameplay is still generated automatically by the evolutionary process. Thus we can simulate playing styles of different national teams and then match them against each other.

The following video shows a simulation of Brazil versus Croatia, the opening game of the world cup. The commentary is from Toni Polster, a legendary Austrian soccer player.


While the result is credible, we have not done this to exactly predict the outcome of the games - this would spoil the whole tournament! Furthermore, our approach is not meant for prediction but a system to train a distributed agent-based system to achieve an emergent cooperative behavior in a self-organized way. Setting up this work helped us in improving our understanding how we can create and guide self-organizing systems. We have chosen the soccer simulation as a demonstration because in soccer the global goal (no pun intended) can be achieved in so many different ways , for example with a defensive, offensive, kick-and-rush, pass-intensive, etc. style. And it is nice to watch - who said good science can't be fun!

Further readings:

Thursday, May 22, 2014

Self-Organization for the Smart Grid

In my keynote "AI Techniques for Smart Grids" at the 2014 IEEE Innovative Smart Grid Technologies - Asia conference, I discussed the role and potential of self-organization in the smart grid. Since power systems are critical infrastructure, applying a distributed, bottom-up control structure is a delicate step. On the one hand, self-organizing systems provide very attractive properties like scalability, adaptability and robustness. On the other hand, due to non-linear interactions in the system, small changes that appear insignificant can have severe consequences. To ensure secure operation, this is not the most-wanted property. However, sometimes one gets such systems without a choice. An example is the effect of the unbundling process of power generation and system operation to create a free energy market - a decision that was taken to support distributed on-site power generation with renewable energy sources. At the UCTE grid, the largest synchronous grid in the world in terms of generation capacity, the decreased the scope of control for the Transmission System Operators (TSOs) due to the liberalization of the power market has caused the TSOs to develop a new way of understanding of the system in order to carefully and knowledgeable interact with the system. So we got a self-organization system without explicitly designing the system for being one. Another possibility where self-organization can explicitly support the smart grid is the utilization of smart meters in a way that supports the utilities while still keeping control and private information locally at the customer's side.


To enable self-organization for the smart grid, it is necessary to provide models, proofs, case studies, etc. showing that self-organizing approaches work. For finding self-organizing algorithms we provide our part: with the open-source software tool FREVO, we can evolve agent behavior for self-organizing systems using an automated process based on artificial evolution.

Links:

Sunday, April 20, 2014

The Next Big Thing in Artificial Evolution

As announced in a previous blogpost, Prof. A. E. Eiben gave a very interesting talk on the next big in thing in artificial evolution during his visit at the Alpen-Adria-Universität Klagenfurt. Eiben presented a vision about having animate artefacts that are able to evolve and self-reproduce in physical spaces. To make this happen, he gives a notion of the integration of "hard" vs. "soft" evolutionary computation, the former meaning evolutionary optimiziation and design while the latter refering to artificial life, swarm robotics, and artificial societies.


Gusz Eiben's talk was attracting many people and lead to a vivid discussion afterwards about technology, possibilities, societal implications and parallels to existing sci-fi stories from Philip K. Dick or movies such as Terminator. So I think it is appropriate to say this talk was truly presenting science beyond fiction.

Tuesday, April 15, 2014

How the body affects the mind - On the effects of robot configuration on evolved behavior

The design of robotic controllers through evolutionary methods requires making a large number of choices about the experimental setup, which are often left to the expertise or naïveté of the experimenter. Although much attention is normally given to the fitness function or the genotype-to-phenotype mapping determining the robot controller, the robot configuration is often selected with little care. Yet, an ill-defined configuration - in terms of the selected subset of the sensory-motor system, or in the pre-processing of the raw sensor data - may be decisive in determining the failure of the evolutionary process.

Different emerged patterns 
simulated with ARGoS
In our paper "On the effects of the robot configuration on evolving coordinated motion behaviors" we studied the effect of different robot configurations on the ability to evolve efficient behaviors for a swarm robotics system. In this domain, the choice of a good configuration is fundamental as even small details can lead to large differences in the group behavior. To demonstrate the importance of the robot configuration, we test different alternatives and measure the group performance on a bi-objective scale.

The results show that different configurations not only have a strong effect on performance, but they also correspond to behaviors with radically different features concerning the organization of the group.

The following video illustrates three basic behaviors that emerged: wavefront, train and flocking:


For more information, see:

I. Fehérvári, V. Trianni, and W. Elmenreich. On the effects of the robot configuration on evolving coordinated motion behaviors. In Proceedings of the IEEE Congress on Evolutionary Computation. IEEE, June 2013.

Wednesday, April 9, 2014

Prof. A. E. Eiben at Lakeside Labs: The Next Big Thing in Artificial Evolution

Professor Àgoston E. Eiben will give an interesting talk at the Lakeside Labs / Alpen-Adria-Universität Klagenfurt on April 10th 2014, 15:00 CET, Room L4.1.114  

Abstract:
This talk presents a vision about the upcoming breakthrough in artificial evolution: animate artefacts that (self-)reproduce in physical spaces. In other words, we witness the “Evolution of Things”, rather than just the evolution of digital objects, leading to a new field of Embodied Artificial Evolution. After presenting this vision some of the technical challenges are elaborated and related to the main algorithmic/technical requirements to the current know-how in evolutionary computing. Finally, Prof. Eiben will speculate about possible applications, their societal impacts, and argue that these developments will radically change our lives.

For those who cannot attend or want to warm up on the topic, we recommend Eiben's TED talk "Evolution at Work":

Bio:
A.E. Eiben is a professor of Computational Intelligence on the VU University Amsterdam and Visiting Professor in the Department of Electronics of the University of York, UK. He is one of the European early birds of Evolutionary Computing; his first EC paper dates back to 1989 and he co-authored the first comprehensive book on the subject. He has been organizing committee member of practically all major international evolutionary computing conferences and editorial board member of related international journals. He have also coordinated or participated in several EU research projects. Prominent themes in his work include multi-parent recombination methods, evolutionary constraint handling, evolutionary art, artificial life, and evolutionary robotics. Furthermore, he is concerned with methodological issues, especially the design and calibration of evolutionary algorithms (parameter tuning off-line as well as parameter control on-line). Lately he became interested in artificial evolutionary systems that are physically embodied in real time and real space. This goes far beyond conventional evolutionary computing in digital spaces and implies great new opportunities and challenges – see his TEDx talk and a journal paper on the vision, and the The Triangle of Life framework for a possible implementation in robotic systems that can self-reproduce. On the long term, a broad range of possible “incarnations” can emerge and form a radically new way of engineering. Furthermore, they can serve as an apparatus to investigate deep scientific questions about evolution in a new substrate, different from carbon-based life as we know it.

Thursday, October 10, 2013

Interactive web resources on Self-Organizing Systems

WATOR Predator-Prey Simulation

WATOR is a simulation of the interaction over time of predator and prey in a small rectangular area
Language: Java (runs in Browser)
http://www.leinweb.com/snackbar/wator/

Fish School and Predator

This is a simulation of a fish school, where each fish tries to align to its comrades, forming a fish swarm after some time.

Language: Scratch (runs in Browser via Adobe Flash)
http://scratch.mit.edu/projects/10734382

Ant Simulator

Simulation of virtual ants looking for food.
Language: Java (runs in Browser)
http://newton-nes.uni-klu.ac.at/~wilfried/ants/


Conway's Game of Life

Interactive cellular automata simulation.
 Language: Java (runs in Browser)
http://www.bitstorm.org/gameoflife/

Foxes and Rabbits Predator-Prey System

Simulation of a small ecosystem involving a fast-breedin prey (rabbits) and predators (foxes) feeding on them.
Language: Scratch (runs in Browser via Adobe Flash)
http://scratch.mit.edu/projects/10699259/

Slime Mold Simulation

Explanation: http://ccl.northwestern.edu/netlogo/models/Slime

Language: Netlogo (runs in Browser via Java)
http://ccl.northwestern.edu/netlogo/models/run.cgi?Slime.651.477

Fireflies

Explanation: http://ccl.northwestern.edu/netlogo/models/Fireflies
Language: Netlogo (runs in Browser via Java)
http://ccl.northwestern.edu/netlogo/models/run.cgi?Fireflies.763.498

Segregation

Explanation: http://ccl.northwestern.edu/netlogo/models/Segregation
Language: Netlogo (runs in Browser via Java)
http://ccl.northwestern.edu/netlogo/models/run.cgi?Segregation.734.460

Twitter Network Analysis

Interactiv webpage for analyzing trends on Twitter. 
 
Language: Javascript
http://truthy.indiana.edu/politics

Monday, September 9, 2013

FREVO 1.0 released

We proudly announce the new release 1.0 of  FREVO (FRamework for EVOlutionary design). FREVO helps to reduce the time to implement, set up and run an evolutionary algorithm to evolve an agent's behavior as a solution to a particular control problem. FREVO is decomposing the task into problem definition, solution representation and the optimization method. These components allow to experiment with different combinations of algorithms and neural networks for different tasks.

The new version, FREVO 1.0, comes with 26 different components and an improved user interface which allows you to pause an evolution and check the intermediate results.

Quick start:
  1. download the newest version at frevo.sourceforge.net 
  2. unpack the ZIP file
  3. unless you have it already on your system, install Java
  4. execute the createscrips.jar ("java -jar  createscrips.jar")
  5. you can now run FREVO using the script named launch_Frevo

...or have a look at the following video explaining the basic steps to get started with FREVO:


For more information see the following sources:


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 http://frevo.sourceforge.net/
  • FREVO introduction video including installation, setting up a simulation and running it (length 6 minutes)

Literature

Wednesday, February 6, 2013

Five Misconceptions about Self-Organizing Systems

from W. Elmenreich, H. de Meer. Self-organizing networked systems for technical applications: A discussion on open issues:

 

Misconception #1: Self-organizing systems establish a class of systems

If a system is considered to be self-organizing or not depends mainly on the way how the system is observed, especially where the borderline between the observed system and its environment is drawn. C. Gershenson and F. Heylighen [1] propose the following perspective to overcome this problem: Instead of thinking of Self-Organizing Systems as an absolute class of systems, self-organization should be understood as a way of observing systems. Depending on the type of problem and the
desired solution, the way of observing a system as an Self-Organizing System can be beneficial or not.

 

Misconception #2: All Self-organizing systems are chaotic systems

There is a relation between chaos theory and self-organization in that a Self-Organizing System may show chaotic behavior, that is having critical turning points (also known as bifurcations) in the system behavior. However, a Self-Organizing System does not necessarily have to show such behavior. Instead, some Self-Organizing Systems also might approach their target state without a sensitive dependence on initial conditions.
Accordingly, a system with chaotic behavior may be built without employing the typical building blocks of Self-Organizing Systems such as distributed entities and local interactions.

 

Misconception #3: The emerging structure is a primary property of self-organizing systems

Self-Organizing Systems provide a powerful mechanism to create structure and patterns. This phenomenon can be observed in many physical and biological systems, such as the skin pigmentation of fish, the polygonal pattern of nest territories of fish such as Tilapia, or the cathedral-like buildings of termites.
However, the emerging pattern should not be seen as a primary property of an Self-Organizing System. There are Self-Organizing Systems, like homeostatic operational control in living beings, where such a structure is not present or is hidden from the observer. Thus, the emerging structure can be rather seen as a secondary property that indicate self-organization in many cases.

 

Misconception #4: Self-organizing systems are always based on evolutionary processes

Evolutionary processes, as best known from biological examples, are an iterative mechanism of change in the inherited traits of a population of organisms from one generation to the next. Evolutionary processes are driven by mutation, selection and recombination.
Many biological examples of self-organizing systems have emerged from an evolutionary process, which made the term self-organization connected to evolution. Thus, the connection of Self-Organizing Systems to evolutionary processes is not an obligatory one, since many non-biological examples of Self-Organizing Systems have developed without an evolutionary process, thus showing the possibility to design self-organizing without an evolutionary process.
However, an interesting research task for future technical systems arises in constructing Self-Organizing Systems, which implement an evolution of their local rules in order to adjust to new situations.

 

Misconception #5: Any self-organizing system will never need maintenance

Many Self-Organizing Systems show adaptive behavior, which means that they can operate well within a wide range of input parameters. However, that does not imply that a technical Self-Organizing System will have a low maintenance effort. Typically, a complex technical system that must operate over a considerable life time will require maintenance in order to provide its service during system lifetime.
It is an open question if maintenance of a technical system with self-organizing properties will be easier or more complicated to maintain than a traditionally designed technical application. On the one hand, properties like robustness might make it easier to replace parts of the system without disturbing the overall operation, on the other hand, diagnosis and maintenance of an Self-Organizing System might turn out to be more complex than in systems built following a more straightforward approach.


See also:

Wednesday, October 31, 2012

Vampires vs. Werewolves

Tonight is Halloween! Typical Halloween activities include telling scary stories, so I am going to tell you a story about vampires and werewolves.
Once upon a time in a valley in Complexania, there were Werewolves and Vampires. They could live from the magic field in the valley, as long as they did not grow too large. The valley is also magically rolled up to a torus surface, so have no fear kids, the creatures cannot escape. Their size is genetically given, but when they reproduce, the target size might mutate by plus/minus 10 percent. If one of this creatures could gather enough magic (which is easier when they are small), an offspring was created in a free field beside it. So far it is clear that being smaller is advantageous because you can save more energy and reproduce faster. However, a werewolf is also able to kill a smaller vampire and steal its energy. Vice versa, large vampires are able to kill and consume werewolves which are smaller than them. This triggered an arms race of larger and larger creatures in the valley. At one time they grew so large that they had to constantly feed on their foes, since the magic field alone was not able to support their hunger for energy any more. So they grew and fought each other, numbers went up and down on both sides, until one species was left. Or both died.

Do you want to know who won the battle? Find out for yourself and use the simulation below:

In case you cannot see the simulation, your browser does not support applets. I made a video of the simulation for this case:


Small vampires and werewolves, which can feed sufficiently from the magic field, are characterized by light red and gray color, respectively. The red and black squares indicate larger vampires and werewolves.

Have fun and happy Halloween!

Wednesday, September 26, 2012

The 6-minute introduction to FREVO

Evolution is a slow process. In earth history, evolution took millions of years to achieve something. Computer simulations of evolutionary processes are much better, but still taking weeks of simulation time on a cluster to run some evolutionary algorithm.

We challenge this!

Our software FREVO (FRamework for EVOlutionary design) is aimed to reduce the time to implement, set up and run an evolutionary algorithm to evolve an agent's behavior as a solution to a particular control problem. FREVO is decomposing the task into problem definition, solution representation and the optimization method, in order to ... let's stop talking! I will show you in just 6 minutes!

As demonstrated in the video below, 6 minutes are sufficient to download the framework, install it, set up a simulation, evolve a neural network controller for an inverted pendulum problem and check the results! See for yourself!



The tool is available at http://frevo.sourceforge.com
There are also tutorials on advanced projects with FREVO. If you are doing research in engineering complex systems, this tool might be useful for your thesis ;-)

If FREVO is useful for you, please cite this paper:

A. Sobe, I. Fehérvári, and W. Elmenreich. Frevo: A tool for evolving and evaluating self-organizing systems. In Proceedings of the 1st International Workshop on Evaluation for Self-Adaptive and Self-Organizing Systems, Lyon, France, September 2012.

Thursday, April 12, 2012

Symposium on Self-* Systems – Biological Foundations and Technological Applications

The Symposium on Self-* Systems – Biological Foundations and Technological Applications was part of the European Meeting on Cybernetics and Systems Research (EMCSR 2012) taking place from April 10-13 in Vienna, Austria. It was organized by Vesna Sesum-Cavic, Carlos Gershenson and Wilfried Elmenreich.

Tomonori Hasegawa presented insights on the self-referential logic of self-reproduction originally formulated by John von Neumann and introduced an implementation of this abstract architecture embedded within the Avida world [1]. In the experiments, a sophisticated von Neumann Self-Referential Machine, which was introduced as seeding mechanism, can degrade to a mere copy machine that has dropped the self-referential part. Thus, with this particular implementation, in this particular world, the von Neumann architecture proves to be evolutionarily unstable and degenerates, surprisingly easily, to a primitive, non-self-referential, “copying” or “template replication”, mode of reproduction
Questions arose if a von Neumann Self-Referential Machine could evolve from a simple self-copy machine in a different set-up. The von Neumann model has the advantage of enabling new and more ways to change the system upon mutation - but what could be the evolutionary pressure to have a von Neumann architecture evolved in the first place?
Current experiments did not include sexual reproduction - could that facilitate the evolution of more complex architectures?
More from the group can be found at http://evosym.rince.ie/

Modern software systems suffer from increased complexity. Large software systems are composed of many components that are interlinked. The internal states of these systems contain a huge amount of information. The main obstacles lie in the lack of the reliability and robustness which lead to poor performance. For complex intractable problems, a random search (Monte-Carlo method) does not perform well. New and advanced approaches are necessary to deal with complexity.
Milan Tuba proposed a guided Monte-Carlo search method based on a hybrid of reinforcement learning and a genetic algorithm[2]. As a proof-of-concept the approach is applied to the problem of information retrieval in the internet.
In the discussion, the performance of the algorithm in comparison to commercial search providers, like Google, was discussed.

Sander van Splunter presented ideas on the coordination and self-organization in crisis management[3]. The main idea is to move from a task-oriented top down approach towards an emergence-oriented bottom-up approach, while keeping, a hierarchical structure. However, higher level entities control lower levels by policy, not directly. Policy defines interaction, prioritization and coordination of entities.
An entity works as an independent agent following the given policies. An important feature could be the ability to predict the failure in a given subsystem.
According to EMCSR'12 keynote lecture of Peter Csermely we have to watch signs like slower recovery, increased self-similarity, and increased variance of fluctuation patterns in order to predict a system change into a state where it cannot handle the its environment with its current policies.
In the proposed crisis management of van Splunter and van Veelen a subsystem is supposed to emerge a warning when local adaption fails to handle the problem, e.g. if a small team of firefighters cannot confine a fire in their assigned area.

Carlos Gershenson told us about "Living in living cities"[4]. One of the challenges of 21st century is preventing the problems in the ultra-fast growing cities all over the world.
These are non-stationary (changing problems), traditional algorithms do not work well. Such challenges are for example urban mobility, logistics, telecommunications, governance, safety, sustainability, society and culture. A solution is to exploit properties of living systems, which are adaptive, learning, evolving, robust, autonomous, self-repairing, and self-reproducing, and to understand cities metaphorically as organisms.
Engineering methods cannot find a single solution to these changing problems. Instead it is necessary to constantly adapt the solution, thus have a self-organizing solution to a complex problem. Will cities become the "killer app" of cybernetics and systems research?
Discussion arose around the following issues:
But how do you get the officers and responsibles of a city to cooperate? There is a need for a strong motivation to overcome the inertia of the system.
Could cities instead built from scratch? No, because of the legacy issues - it is not possible to just tear down a large city and build it anew every few decades.
Can we prove that the system is robust against malicious behavior? Difficult since such a complex system cannot be easily predicted for all sets of possible inputs.
Are explicit measures necessary or would people themselves care for the necessary adaptations? This would not increase living standard for the people.

Anita Sobe presented ideas on self-organizing content sharing at social events by such interesting examples as the marriage of Kate and William of Windsor or Barack Obama's inauguration[5].
The presented approach allows people to share their self-generated content like photos or short videos instantly at such events. Existing platforms like flickr or youtube do not provide this liveness since most content is uploaded with a few days delay. The proposed approach organizes the content using an artificial hormone system. The hormone distribution is sensitive to the quality of a network connection and therefore, reflects a quality-of-service for a network path. The system is solely based on local decisions for forwarding, replicating and moving content. Over time, the content distribution in the network gets optimized in order to support short response times for requesters. Simulations show that the system competes well to other epidemic information dissemination methods such as Gossip.
The follow-up discussion brought up interesting questions:
How is overhead reflected in the simulation? Currently overhead is implicitly modeled into the transmission cost, which is valid for a constant packet handling overhead.
Furthermore the relation of the hormone-based approach to an ant colony optimization (ACO) algorithm was discussed. We identified a major difference to ACO, since there typically either the network or the content is assumed to be static. However ACO could be extended to handle the described scenario, which might inspire future work.
What is the effect, if tags are (more) complex? The system was started with a predefined tag hierarchy which can be extended to a more complex tag hierarchy. However, with more complex tags there is no guarantee for finding content.

In the last talk, Wilfried Elmenreich gave a talk on evolving a distributed control algorithm for flying UAV drones for a coverage problem[6]. The problem of having multiple mobile agents covering (or as we say in robotics, "sweeping") an area is relevant for many applications like lawn mowing, snow removal, floor cleaning,  environmental monitoring, communication assistance and several military and security applications.
The work by Istvan Fehervari, Wilfried Elmenreich and Evsen Yanmaz described a simple grid-based abstraction of the problem which was used to test two evolved and one handcrafted control algorithm which were compared to  reference algorithms like random walk and random direction.
A short summary of Wilfried's talk and the slides are available here.
The talk triggered interesting discussion involving the comparison with the “belief-based” algorithm. A further question triggering future work is on the influence on the layout and number of sensors. What will happen if the environment changes? Since the algorithm has no memory of a map, a changing environment does not affect the result.

References
  1. B. McMullin, T. Hasegawa. Von Neumann Redux: Revisiting the Self-referential Logic of Machine Reproduction Using the Avida World. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.
  2. V. Sesum-Cavic, M. Tuba, and S. Rankow. The Influence of Self-Organization on Reducing Complexity in Information Retrieval. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.
  3. S. van Splunter, B. van Veelen. Coordination and Self-Organisation in Crisis Management. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.
  4. C. Gershenson. Living in Living Cities. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.
  5. A. Sobe, W. Elmenreich, and M. del Fabro. Self-organizing content sharing at social events. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.
  6. I. Fehérvári, W. Elmenreich, and E. Yanmaz. Evolving a team of self-organizing UAVs to address spatial coverage problems. In R. M. Bichler, S. Blachfellner, and W. Hofkirchner, editors, European Meeting on Cybernetics and Systems Research Book of Abstracts, Vienna, Austria, April 2012.