LsaRandomNeighborAction

open class LsaRandomNeighborAction(randomGenerator: RandomGenerator?, environment: Environment<List<ILsaMolecule>, *>, reaction: NodeReaction<List<ILsaMolecule>>, molecule: ILsaMolecule) : LsaStandardAction(source)

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 node hosting this action, as an ILsaNode.

Link copied to clipboard

The modified molecule.

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
override fun cloneAction(newReaction: Reaction<List<ILsaMolecule>>): Action<List<ILsaMolecule>>
Link copied to clipboard
open override fun execute()
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
open override fun toString(): String