This operator is closely related to the implosion mutation (see doImplosionMutation). However, instead of dragging points towards a center those points are instead moved away from it (similar to particles affected by an explosion). Again, a center of explosion \(c \in R^2\) and an explosion radius \(\epsilon = U[min.eps, max.eps]\) are sampled at random. All points within the ball with radius \(\epsilon\) around \(c\) are moved away from the center following the direction vector between center and corresponding point. The internals ensure that moved points have distance at least \(\epsilon\) to \(c\) after mutation plus an additive random number sampled from an exponential distribution with rate parameter \(\lambda = 10\).

doExplosionMutation(coords, min.eps = 0.1, max.eps = 0.4, ...)

Arguments

coords

[matrix]
An n times 2 matrix of point coordinates in \([0, 1]^2\).

min.eps

[numeric(1)]
Minimum value for sampled explosion radius. Default is 0.1.

max.eps

[numeric(1)]
Maximum value for sampled explosion radius. Default is 0.3.

...

[any]
Currently not used.

Value

[matrix] Mutated coordinates.

See also