Recurrent Evolution

RE attempts to continually recover evolvability loss caused by the canonical EA iteration process. It borrows the term “Recurrent” from the taxonomy of Neural Networks (NN), in which a Recurrent NN (RNN) is a special type of network that uses a feedback loop, usually to account for temporal information embedded in the sequence of data points presented to the network. Unlike RNN, the “temporal” dimension in our algorithm pertains to the sequential nature of the evolution process itself; and not to the data sampled from the problem solution space.  This is done by a feedback loop that recurrently adjusts the fitness values of individuals in population ti based on the fitness of their offspring in population ti+1



Here you can download R-Genetic Algorithm program and test it on the NK-Landscape problem. 


· RGA Demo. (Require Windows OS and latest .Net framework).

· Results (NK-Landscape).



1. Adnan Fakih and Ahmed Kattan, Recurrent Genetic Algorithm: Sustain Evolvability, Proceedings of the 12th European Conference on Evolutionary Computation in Combinatorial Optimisation, Springer, Malaga-Spain, 2012.

2. Ahmed Kattan and Yew-Soon Ong, Bayesian Inference to Sustain Evolvability in Genetic Programming, The 18th Asia Pacific Symposium on Intelligent and Evolutionary Systems (IES), Singapore 2014.


RGA—Recurrent Genetic Algorithm

Computing and Electronic Engineering

Ahmed Kattan