A subset \(Q \subseteq P\) (each point selected with independent probability pm) is selected. Next, an axis \(a \in \{1, 2\}\) and a constant \(c \in [0, 1]\) are sampled. Finally, the mutator sets \(p_a = c\) for all \(p \in Q\), i.e., a projection on the constant vertical or horizontal line is performed. Optionally, with probability p.jitter all projected points are subject to Gaussian noise with standard deviation jitter.sd with respect to the \(a\)-th coordinate: \(p_a = p_a + N(0, jitter.sd)\).

doAxisProjectionMutation(coords, pm = 0.1, p.jitter = 0,
  jitter.sd = 0.1, ...)

Arguments

coords

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

pm

[numeric(1)]
Probability of node mutation. Note that each node is subject to mutation independent of the the nodes. Default is \(0.1\), i.e., in expectation 10% of the points are mutated.

p.jitter

[numeric(1)]
Probability to add Gaussian noise to mutated points. Default is 0, i.e., no Gaussian noise at all.

jitter.sd

[numeric(1)]
Standard deviation for Gaussian noise. Defaults to 0.1. Note that this parameter has an effect only if p.jitter is greater zero.

...

[any]
Currently not used.

Value

[matrix] Mutated coordinates.

See also