CellularType

sealed interface CellularType

CellularGA supports SS supports two modes of operation, called types:

Inheritors

Types

Link copied to clipboard
data class Asynchronous(val updatePolicy: UpdatePolicy = UpdatePolicy.LineSweep) : CellularType

In an asynchronous CellularGA the offspring resulting from evolution, instead of being placed in a temporary offspring population (as Synchronous does), immediately replaces its parent in the current generation population and can immediately take part in the evolution of its neighbors in place of its parent. The order of evolution of a population's chromosomes depends on updatePolicy. Thus, the asynchronous type does not waste resources on creating a temporary offspring population, however, none of updatePolicy guarantees the same result when running in parallel mode.

Link copied to clipboard

In a regular synchronous CellularGA, the algorithm proceeds from the first chromosome to the last one by using the information from parent generation population to create a new temporary offspring population. After finishing the old parent generation population is completely and synchronously replaced with the new temporary offspring population. Usually, the replacement keeps the best chromosomes in the same position of both populations, that is, elitism is used.