Evolutor

Undocumented in source.

Members

Classes

GenExeption
class GenExeption
Undocumented in source.

Functions

crossingoverStd
bool crossingoverStd(IndAbstract pIndA, IndAbstract pIndB, ProgTypeAbstract ptype)

Стандартный кроссинговер

formNextPopulation
PopType formNextPopulation(PopType pop, ProgTypeAbstract ptype)

Создание популяции на основе вычисленной приспособленности. @param pop Популяция, из которой будет браться материал для следующей популяции. @param ptype Тип программы, в котором записаны все настройки процесса эволюции. @return Новая популяция.

generateInitProgram
void generateInitProgram(IndAbstract pInd, ProgTypeAbstract ptype)
Undocumented in source. Be warned that the author may not have intended to support it.
generateLine
Line generateLine(IndAbstract pInd, ProgTypeAbstract ptype)

Генерация линии

generateLine
Line generateLine(IndAbstract pInd, ProgTypeAbstract ptype, Type rtype, uint depth)

Генерация типизированной линии

getRandomElementStd
Argument getRandomElementStd(Container cont)

Вероятности выбрать любой элемент дерева будет равные. Данный метод не подойдет, если нужно заменить элемента дерева. @param cont Узел дерева, в котором нужно выбрать. @see replaceRandomElementStd

getRandomLeafStd
Argument getRandomLeafStd(Container cont)

Вероятность выбрать любой лист дерева будет одинаковой.

mutationStd
void mutationStd(IndAbstract pInd, ProgTypeAbstract ptype)

Стандартная мутация

replaceRandomElementStd
void replaceRandomElementStd(Container cont, Argument delegate(Type) generator)

Вероятности заменить любой элемент дерева будет равные. @note Данный метод не подходит для замены самого первого переданного узла, его замену реализует пользователь этого метода отдельно. @param cont Узел дерева, в котором нужно заменить. @param generator Делегат-генератор, делегат, который создаст типизированный аргумент.

swapRandomElements
bool swapRandomElements(Container cont1, Container cont2, ProgTypeAbstract ptype)

Выбирается поддерево из каждого контейнера и меняются местами. Выбор идет на основе равномерного распределения. @param cont1 Первый контейнер @param cont2 Второй контейнер @note Обмен корневыми элементами невозможен в рамках данного метода, его реализацей занимайтесь сами.

Static functions

getChance
bool getChance(float val)
Undocumented in source. Be warned that the author may not have intended to support it.

Static variables

MaxProgramDepth
int MaxProgramDepth;
Undocumented in source.

Meta