Showing posts with label genetic algorithm. Show all posts
Showing posts with label genetic algorithm. 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

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.

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:

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.

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.

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

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.