C# Class AForge.Genetic.PermutationChromosome

Permutation chromosome.

Permutation chromosome is based on short array chromosome, but has two features:

all genes are unique within chromosome, i.e. there are no two genes with the same value; maximum value of each gene is equal to chromosome length minus 1.
Inheritance: AForge.Genetic.ShortArrayChromosome
Show file Open project: holisticware-admin/MonoVersal.AForgeNET Class Usage Examples

Public Methods

Method Description
Clone ( ) : IChromosome

Clone the chromosome.

The method clones the chromosome returning the exact copy of it.

CreateNew ( ) : IChromosome

Create new random chromosome with same parameters (factory method).

The method creates new chromosome of the same type, but randomly initialized. The method is useful as factory method for those classes, which work with chromosome's interface, but not with particular chromosome type.

Crossover ( IChromosome pair ) : void

Crossover operator.

The method performs crossover between two chromosomes – interchanging some parts between these chromosomes.

Generate ( ) : void

Generate random chromosome value.

Regenerates chromosome's value using random number generator.

Mutate ( ) : void

Mutation operator.

The method performs chromosome's mutation, swapping two randomly chosen genes (array elements).

PermutationChromosome ( int length ) : System

Initializes a new instance of the PermutationChromosome class.

Protected Methods

Method Description
PermutationChromosome ( PermutationChromosome source ) : System

Initializes a new instance of the PermutationChromosome class.

This is a copy constructor, which creates the exact copy of specified chromosome.

Private Methods

Method Description
CreateChildUsingCrossover ( ushort parent1, ushort parent2, ushort child ) : void
CreateIndexDictionary ( ushort genes ) : ushort[]

Method Details

Clone() public method

Clone the chromosome.

The method clones the chromosome returning the exact copy of it.

public Clone ( ) : IChromosome
return IChromosome

CreateNew() public method

Create new random chromosome with same parameters (factory method).

The method creates new chromosome of the same type, but randomly initialized. The method is useful as factory method for those classes, which work with chromosome's interface, but not with particular chromosome type.

public CreateNew ( ) : IChromosome
return IChromosome

Crossover() public method

Crossover operator.

The method performs crossover between two chromosomes – interchanging some parts between these chromosomes.

public Crossover ( IChromosome pair ) : void
pair IChromosome Pair chromosome to crossover with.
return void

Generate() public method

Generate random chromosome value.

Regenerates chromosome's value using random number generator.

public Generate ( ) : void
return void

Mutate() public method

Mutation operator.

The method performs chromosome's mutation, swapping two randomly chosen genes (array elements).

public Mutate ( ) : void
return void

PermutationChromosome() protected method

Initializes a new instance of the PermutationChromosome class.

This is a copy constructor, which creates the exact copy of specified chromosome.

protected PermutationChromosome ( PermutationChromosome source ) : System
source PermutationChromosome Source chromosome to copy.
return System

PermutationChromosome() public method

Initializes a new instance of the PermutationChromosome class.
public PermutationChromosome ( int length ) : System
length int
return System