You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As of now genomes can only be mutated sequentially as the mutate method of the Mutation struct requires exclusive mutable access to an IdGenerator. The IdGenerator is a shared resource, i.e. it has to be the same for all mutation operations on all genomes as it is responsible for tracking and managing node identities in order to determine genome similarity or 'distance' between genomes. This is used to approximate genome compatibility for crossover which assumes matching structure via node identities.
If genomes are used without crossover it could be possible to avoid having a shared IdGenerator.
If crossover is desired, the IdIter could be rewritten to utilise an Arc + RwLock on the IdGenerator and only acquire the write-lock when a new Id needs to be generated and written to the cache.
The text was updated successfully, but these errors were encountered:
As of now genomes can only be mutated sequentially as the
mutate
method of theMutation
struct requires exclusive mutable access to anIdGenerator
. TheIdGenerator
is a shared resource, i.e. it has to be the same for all mutation operations on all genomes as it is responsible for tracking and managing node identities in order to determine genome similarity or 'distance' between genomes. This is used to approximate genome compatibility for crossover which assumes matching structure via node identities.If genomes are used without crossover it could be possible to avoid having a shared
IdGenerator
.If crossover is desired, the
IdIter
could be rewritten to utilise an Arc + RwLock on theIdGenerator
and only acquire the write-lock when a newId
needs to be generated and written to the cache.The text was updated successfully, but these errors were encountered: