This is a generalization of the linear projection mutation operator (see doLinearProjectionMutation). The parameters \(a\) (intercept) and \(m\) (slope) of a linear function \(a + mx\) are sampled (see documentation of doLinearProjectionMutation for details. All points whose orthogonal distance to the linear function is below the sampled tube with \(\epsilon = U[min.eps, max.eps]\) are subject to mutation. This is achieved by moving the points away from their orthogonal projections to distance \(\epsilon + Exp(\lambda = 10)\).

doExpansionMutation(coords, min.eps = 0.1, max.eps = 0.3, ...)

Arguments

coords

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

min.eps

[numeric(1)]
Minimum value for sampled tube width. Default is 0.1

max.eps

[numeric(1)]
Maximum value for the sampled tube with. Default is 0.3.

...

[any]
Currently not used.

Value

[matrix] Mutated coordinates.

See also