S
- type of the solution.public final class AsexualReproductionPipeline<S extends Solution<?>>
extends java.lang.Object
Pipeline for processing parent agents in standard way.
Supported operations: * mutation, * evaluation, * energy transfer.
Pipeline is immutable, new instance is created with each call.
Modifier and Type | Field and Description |
---|---|
private @Nullable EmasAgent |
child |
private S |
childSolution |
private EmasAgent |
parent |
Modifier | Constructor and Description |
---|---|
private |
AsexualReproductionPipeline(EmasAgent parent) |
private |
AsexualReproductionPipeline(EmasAgent parent,
EmasAgent child) |
private |
AsexualReproductionPipeline(EmasAgent parent,
@Nullable EmasAgent child,
S childSolution) |
private |
AsexualReproductionPipeline(EmasAgent parent,
S childSolution) |
Modifier and Type | Method and Description |
---|---|
AsexualReproductionPipeline<S> |
evaluate(Evaluator<S> evaluator) |
io.vavr.Tuple2<EmasAgent,EmasAgent> |
extract()
Extracts agents from this pipeline.
|
AsexualReproductionPipeline<S> |
mutate(Mutation<S> mutation) |
static <S extends Solution<?>> |
on(EmasAgent parent)
Create a pipeline for one parent.
|
AsexualReproductionPipeline<S> |
recombine() |
AsexualReproductionPipeline<S> |
transferEnergy(AsexualEnergyTransfer energyTransfer) |
private AsexualReproductionPipeline(EmasAgent parent)
public static <S extends Solution<?>> AsexualReproductionPipeline<S> on(EmasAgent parent)
Create a pipeline for one parent.
S
- type of the solutionparent
- public AsexualReproductionPipeline<S> recombine()
public AsexualReproductionPipeline<S> mutate(Mutation<S> mutation)
public AsexualReproductionPipeline<S> transferEnergy(AsexualEnergyTransfer energyTransfer)
public AsexualReproductionPipeline<S> evaluate(Evaluator<S> evaluator)