- 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)
- performGenomeTruncation
void performGenomeTruncation(IndAbstract pInd, ProgTypeAbstract ptype)
Undocumented in source. Be warned that the author may not have intended to support it.
- performGenomeTruncation
void performGenomeTruncation(PopType pop, ProgTypeAbstract ptype)
Undocumented in source. Be warned that the author may not have intended to support it.
- 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 Обмен корневыми элементами невозможен в рамках данного метода,
его реализацей занимайтесь сами.