LsaRandomNeighborAction
open class LsaRandomNeighborAction(randomGenerator: RandomGenerator?, environment: Environment<List<ILsaMolecule>, *>, reaction: NodeReaction<List<ILsaMolecule>>, molecule: ILsaMolecule) : LsaStandardAction
Adds the LSA molecule to a neighbor: the one selected by a previous neighborhood condition, if any, otherwise a random valid neighbor drawn using randomGenerator. Example: +<id, X, n>.
Inheritors
Constructors
Link copied to clipboard
constructor(randomGenerator: RandomGenerator?, environment: Environment<List<ILsaMolecule>, *>, reaction: NodeReaction<List<ILsaMolecule>>, molecule: ILsaMolecule)
Properties
Link copied to clipboard
The modified molecule.
Link copied to clipboard
The NodeReaction owning this action, hosted by targetNode.
Link copied to clipboard
Functions
Link copied to clipboard
Creates an equivalent action owned by newReaction, such as a reaction cloned onto a new node. An action targeting the host of its reaction targets the host of newReaction, which must then be a Node; an action targeting any other node keeps its target.
Link copied to clipboard
open override fun setExecutionContext(matches: MutableMap<HashString, ITreeNode<*>>?, nodes: MutableList<ILsaNode>?)
Sets the context in which this action will execute.
Link copied to clipboard