Evolutionary Demographic Algorithms

Reading time: 5 minute
...

📝 Abstract

Most of the problems in genetic algorithms are very complex and demand a large amount of resources that current technology can not offer. Our purpose was to develop a Java-JINI distributed library that implements Genetic Algorithms with sub-populations (coarse grain) and a graphical interface in order to configure and follow the evolution of the search. The sub-populations are simulated/evaluated in personal computers connected trough a network, keeping in mind different models of sub-populations, migration policies and network topologies. We show that this model delays the convergence of the population keeping a higher level of genetic diversity and allows a much greater number of evaluations since they are distributed among several computers compared with the traditional Genetic Algorithms.

💡 Analysis

Most of the problems in genetic algorithms are very complex and demand a large amount of resources that current technology can not offer. Our purpose was to develop a Java-JINI distributed library that implements Genetic Algorithms with sub-populations (coarse grain) and a graphical interface in order to configure and follow the evolution of the search. The sub-populations are simulated/evaluated in personal computers connected trough a network, keeping in mind different models of sub-populations, migration policies and network topologies. We show that this model delays the convergence of the population keeping a higher level of genetic diversity and allows a much greater number of evaluations since they are distributed among several computers compared with the traditional Genetic Algorithms.

📄 Content

1

EVOLUTIONARY DEMOGRAPHIC ALGORITHMS

MARCO AR ERRA, PEDRO MM MITRA, AGOSTINHO C ROSA

Laseeb-ISR, DEEC-IST Av. Rovisco País, 1, Torre Norte 6.21.1049, Portugal mare@mega.ist.utl.pt pmmmi@mega.ist.utl.pt acrosa@laseeb.org

KEYWORDS Distributed Evolutionary Algorithm, Evolutionary Demographics Algorithm, Island, Migration.

ABSTRACT Most of the problems in genetic algorithms are very complex and demand a large amount of resources that current technology can not offer. Our purpose was to develop a Java-JINI distributed library that implements Genetic Algorithms with sub-populations (coarse grain) and a graphical interface in order to configure and follow the evolution of the search. The sub-populations are simulated/evaluated in personal computers connected trough a network, keeping in mind different models of sub-populations, migration policies and network topologies. We show that this model delays the convergence of the population keeping a higher level of genetic diversity and allows a much greater number of evaluations since they are distributed among several computers compared with the traditional Genetic Algorithms. INTRODUCTION The distributed implementation of the evolutionary genetic algorithm has two major advantages: the increase of the speed of execution from the direct parallelization and the diversity of subpopulations effect that tends to avoid the premature convergence effect (this last one, a problem with a difficult solution in almost all evolutionary algorithms). The Laboratório de Sistemas Evolutivos e Engenharia Biomedica (Laseeb), in Instituto Superior de Robotica (ISR), where the project was developed already had a library that implements the most common variants of evolutionary algorithms and a master-slave distributed model called JDEAL (Java Distributed Evolutionary Algorithm Library). Our project was built using this library, extending and complementing it with new functionalities. A too fast convergence would lead quickly to a solution but probably neither a good nor an efficient one, therefore the need of keeping the diversity of individuals in a population. DISTRIBUTED EVOLUTIONARY ALGORITHM To solve the problem we present a solution based on islands. This solution allows the execution of several algorithms running in parallel in different machines or locally, but completely independent form each other, so that an island (algorithm) may exchange individuals with other islands in order to maintain diversity. These islands communicate between them through a network. The role of each island, to who can or can not communicate is dependent from the predefined topology. When, how and who may or can migrate define a migration policy, which can influence positively or negatively the search objective. Distributed evolutionary algorithms are normally used to solve complex problems where a normal computation power is not enough to cover the entire domain of possible states in order to achieve the best solution. Although factors such as speed and search space size are important, there is no doubt that the risk of the algorithm falling into a local maximum is a factor to avoid. In such situation the search doesn’t evolve in a larger search space and the solution found may not be the optimum solution. If there is only a local maximum such problem is not so evident, as can been seen in figure 1, but if there is more than one and an individual fall in that maximum it will influence the rest of the population and the all search will converge to that value, when another and better one exists, as can be seen in figure 2. This problem is what the distributed approach seeks to avoid.

Figure 1. Function with only one local maximum

2

Figure 2. Function with more than one local maximum The distributed genetic evolutionary algorithms can be divided in two categories: fine grain and coarse grain. The fine grain distributed evolutionary algorithms can be represented in two ways. As a single population where each chromosome can only interact with its neighbors, or as sub- populations overlapped, where the interactions between the chromosomes are limited to the neighbor sub-populations. The coarse grain distributed evolutionary algorithms, also known as the islands model, are a little more complex. In this case the initial population is divided in sub- populations, and each sub-population evolves isolated from the others and occasionally exchanges chromosomes with the others. In this kind of problems it is usual to designate each sub-population as an island and the exchange as a migration between them. The parallel implementation of the migration model shows not only a speed increase in the computation time, but also a reduction in the number of evaluation functions to apply, when compared to unique population algorithms. Therefore, even for a single processor computer, using this kind of paral

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut