public interface Mutable
Mutable declares the expected behaviour of any
part of a chromosome that is mutable, more specifically
nodes or outputs. Inputs are not mutable since they don't have
connections or functions.
mutate() is guaranteed
to perform a fair mutation.| Modifier and Type | Method and Description |
|---|---|
boolean |
copyOf(Mutable element)
Asserts if the specified element is a copy of the elements
this is called on.
This method returns true if and only if: the elements being compared are not the same instance; the connections of the compared elements are not the same instance; the elements have the same function (in the case of Node); the grid position of the elements themselves are the same; the grid position of all equivalent connections are the same; The relationship computed by this method is: symmetric: a.copyOf(b) == b.copyOf(a); not reflexive: a.copyOf(a) returns false; not transitive: if a.copyOf(b) is true and b.copyOf(c) is true, a.copyOf(c) is not necessarily true since it is possible that a == c. |
void |
mutate()
This method performs an arbitrary mutation on the
Mutable. |
void mutate()
Mutable.
boolean copyOf(Mutable element)
element - the mutable element to compare to.element is a copy of this element.