2015-04-14 1 views
0

В библиотеке jenetics следующий код приведен в файле alter() типа Mutator:Почему мутация probabiltiy рассчитана на одну треть?

final double p = pow (_probability, 1.0/3.0);

Может кто-нибудь объяснить цель расчета этой новой вероятности на мутацию? Как это выгодно? Как мы можем использовать этот класс для реализации однопозиционной или точечной мутации?

Ref: https://github.com/jenetics/jenetics/blob/master/org.jenetics/src/main/java/org/jenetics/Mutator.java

ответ

0

Причиной этого является иерархическая структура населения -> Генотип -> Хромосома -> Джин. Так как данная вероятность является мутационной вероятностью одного Джин, и вам сначала нужно выбрать один генотип из популяции. Затем вы выбираете одну хромосому из выбранного генотипа. Наконец, ген выбирается из хромосомы. Вероятность выбора для отдельных шагов выбора устанавливается равным pow (p, 1/3), что приводит к желаемой вероятности мутации гена p.

Этот механизм также описан в пункте Jenetics Manual в пункте «Мутатор» на странице 13.