research

Go to content

Main menu

Evolutionary algorithms



MICRORAM: A simulation model of a colony of bacteria evolving inside an artificial world.

MICRORAM is a simulation model in which a colony of bacteria evolves inside an artificial world. The population or bacterial colony is modeled based on an agent algorithm, exploring the role of conjugation in a genetic algorithm. The ‘bacterial’ agents - programmed by Daniel Thai Dam in Turbo Pascal - are able to adapt to environmental changes and survive to the attack from an external agent simulated with an ‘antibiotic’. The model has the flavor of the classical models of the decades of the 80s and 90s in which artificial life was inspired by microbiology. We show how a population of ‘bacterial’ agents is able to adapt to environmental changes and survive to the attack from an external agent simulated with an ‘antibiotic’. The conclusion is that many ideas from the 80s and 90s are still valid, and it is possible to design and simulate agents inspired by natural ‘bacterial colonies’, with potential applications in bacterial and natural computing. This was the first model [27] from many others were developed [17, 22, 23, 25 and 26] so that this work has 'sentimental meaning'.

Right Figure .-
A colony of ‘bacterial’ agents evolving inside an artificial world (0=Hfr, o=F)






Can a bacterial colony design a radio receiver? A genetic algorithm based on a bacterial conjugation genetic operator


At present, all methods in Evolutionary Computation are bioinspired by the fundamental principles of neo-Darwinism, as well as by a vertical gene transfer. Most methods in evolutionary computation are biologically inspired by chromosome crossover and mutation, two of the main sources of genetic variability in biological populations, as well as in genetic algorithms. In fact, this is a very important feature of the biological populations and their counterpart in genetic algorithms since the efficiency of the Darwinian natural selection depends on the degree of genetic variation that is achieved with the genetic mechanism or operator responsible for the population variability. Furthermore, in Nature, several other genetic mechanisms are used by populations as sources of variability such as bacterial conjugation, that is the transfer of genetic material between bacteria.


We introduced a biologically inspired conjugation operator simulating the genetic mechanism exhibited by bacterial colonies [17]. The efficiency of the bacterial conjugation operator is illustrated designing with a genetic algorithm based on this operator an AM radio receiver, optimizing the main features of the electronic components of the AM radio circuit, as well as those of the radio enclosure.


Virus transduction is one of the key mechanisms of horizontal gene propagation in microorganisms (e.g. bacteria). In the present paper [23], we model and simulate a transduction operator, exploring the possible role and usefulness of transduction in a genetic algorithm. The genetic algorithm including transduction has been named PETRI (abbreviation of Promoting Evolution Through Reiterated Infection). Our results [23] showed how PETRI approaches higher fitness values as transduction probability comes close to 100%. The conclusion is that transduction improves the performance of a genetic algorithm, assuming a population divided among several sub-populations or ‘bacterial colonies’.



Cheating for 'problem solving': A genetic algorithm with social interactions


We proposed a variation of the standard genetic algorithm that incorporates social interaction between the individuals in the population [19]. The model was developed in 2008 at the University of Nottingham in collaboration with Uwe Aickelin and Gabriela Ochoa. Our goal was to understand the evolutionary role of social systems and its possible application as a non-genetic new step in evolutionary algorithms. In biological populations, ie animals, even human beings and microorganisms, social interactions often affect the fitness of individuals. It is conceivable that the perturbation of the fitness via social interactions is an evolutionary strategy to avoid trapping into local optimum, thus avoiding a fast convergence of the population. We model the social interactions according to Game Theory. The population is, therefore, composed by cooperator and defector individuals whose interactions produce payoffs according to well known game models (prisoner's dilemma, chicken game, and others). Our results on Knapsack problems shown, for some game models, a significant performance improvement as compared to a standard genetic algorithm.

What is the origin of the eye? How did it evolve?

The origin and evolution of the eye is one of the most difficult problems to solve under Darwin's theory of evolution. Applying genetic algorithms it is trivial to simulate the development of a camera obscura [32], but how did other parts originate? the lens? the retina? how did evolution achieve such an elaborate design?

From classical to quantum genetic algorithms

During the last few years we have worked on issues related to Genetic Algorithms [31] and the Dawkins' biomorphs model [29]. Also, during the year 2015 we started in the University of Stirling (Scotland, UK) the research in quantum genetic algorithms [29] (see Quantum biology).  In [30] we applied a genetic algorithm to simulate the design of quantum cellular automata circuits (QCA).

Back to content | Back to main menu