C# Класс Accord.Genetic.GPTreeChromosome

Tree chromosome represents a tree of genes, which is is used for different tasks of Genetic Programming (GP).

This type of chromosome represents a tree, where each node is represented by GPTreeNode containing IGPGene. Depending on type of genes used to build the tree, it may represent different types of expressions aimed to solve different type of tasks. For example, a particular implementation of IGPGene interface may represent simple algebraic operations and their arguments.

See documentation to IGPGene implementations for additional information about possible Genetic Programming trees.

Наследование: ChromosomeBase
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
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 randomly selected sub trees.

GPTreeChromosome ( IGPGene ancestor ) : System

Initializes a new instance of the GPTreeChromosome class.

This constructor creates a randomly generated genetic tree, which has all genes of the same type and properties as the specified ancestor.

Generate ( ) : void

Generate random chromosome value.

Regenerates chromosome's value using random number generator.

Mutate ( ) : void

Mutation operator.

The method performs chromosome's mutation by regenerating tree's randomly selected node.

ToString ( ) : string

Get string representation of the chromosome by providing its expression in reverse polish notation (postfix notation).

The method returns string representation of the tree's root node (see GPTreeNode.ToString).

Защищенные методы

Метод Описание
GPTreeChromosome ( GPTreeChromosome source ) : System

Initializes a new instance of the GPTreeChromosome class.

This constructor creates new genetic tree as a copy of the specified source tree.

Generate ( GPTreeNode node, int level ) : void

Generate chromosome's subtree of specified level.

Приватные методы

Метод Описание
RandomSwap ( GPTreeNode source ) : GPTreeNode

Crossover helper routine - selects random node of chromosomes tree and swaps it with specified node.

Trim ( GPTreeNode node, int level ) : void

Trim tree node, so its depth does not exceed specified level.

Описание методов

Clone() публичный Метод

Clone the chromosome.

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

public Clone ( ) : IChromosome
Результат IChromosome

CreateNew() публичный Метод

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
Результат IChromosome

Crossover() публичный Метод

Crossover operator.

The method performs crossover between two chromosomes – interchanging randomly selected sub trees.

public Crossover ( IChromosome pair ) : void
pair IChromosome Pair chromosome to crossover with.
Результат void

GPTreeChromosome() защищенный Метод

Initializes a new instance of the GPTreeChromosome class.

This constructor creates new genetic tree as a copy of the specified source tree.

protected GPTreeChromosome ( GPTreeChromosome source ) : System
source GPTreeChromosome Source genetic tree to clone from.
Результат System

GPTreeChromosome() публичный Метод

Initializes a new instance of the GPTreeChromosome class.

This constructor creates a randomly generated genetic tree, which has all genes of the same type and properties as the specified ancestor.

public GPTreeChromosome ( IGPGene ancestor ) : System
ancestor IGPGene A gene, which is used as generator for the genetic tree.
Результат System

Generate() публичный Метод

Generate random chromosome value.

Regenerates chromosome's value using random number generator.

public Generate ( ) : void
Результат void

Generate() защищенный Метод

Generate chromosome's subtree of specified level.
protected Generate ( GPTreeNode node, int level ) : void
node GPTreeNode Sub tree's node to generate.
level int Sub tree's level to generate.
Результат void

Mutate() публичный Метод

Mutation operator.

The method performs chromosome's mutation by regenerating tree's randomly selected node.

public Mutate ( ) : void
Результат void

ToString() публичный Метод

Get string representation of the chromosome by providing its expression in reverse polish notation (postfix notation).

The method returns string representation of the tree's root node (see GPTreeNode.ToString).

public ToString ( ) : string
Результат string