Что означает индекс кроссовера 0,25 в генетическом алгоритме для реального кодирования?

Я знаком с индексами кроссовера и мутации в двоичном представлении, но в реальном кодировании я наткнулся на несколько статей, в которых в качестве значений параметров используются индекс кроссовера и индекс мутации.

Например, у нас есть размер совокупности 300 и 30 переменных решения, тогда что означает перекрестный индекс = 0,25?

Также смущен индекс мутации 100+current generation number.




Ответы (1)


Индекс кроссовера

Был разработан ряд операторов кроссовера с реальным кодом, которые создают два дочерних решения из двух родительских решений.

Возможно, в статьях, которые вы читаете, используется Simulated Binary Crossover (SBX).

Для этого оператора индекс пересечения (η) является неотрицательным вещественным параметром. Большое значение η дает более высокую вероятность создания ближайших родительских решений, а малое значение η позволяет выбирать удаленные решения в качестве дочерних решений.


Пошаговая процедура для алгоритма SBX:

  1. Выберите случайное число u ∈ [0; 1[.
  2. Рассчитать βq:

    β

  3. Вычислите дочерние решения, используя эти уравнения:

    дети

    Здесь Xi(1, t+1) и Xi(2, t+1) — дети, полученные от двух родителей Xi(1, t) и Xi(2, t).

Возможная реализация на C приведена здесь (также взгляните на Оператор кроссовера Simulation Binary Crossover (SBX) в библиотеке генетического алгоритма Scala (GA) и Пример оператора кроссовера Simulated Binary Crossover (SBX)).

Таким образом, распределение вероятностей для создания дочерних решений непрерывных переменных при η=2/η=5:

распределение вероятностей

Родители отмечены o, и вы можете видеть, как большее значение дает более высокую вероятность создания решений, близких к родительским.


Справочный документ для SBX:

Имитация бинарного кроссовера для непрерывного пространства поиска

Кальянмой Деб, Рам Бхушан Агравал

1995 г. (PDF здесь)

Индекс мутаций

Индекс мутации (ηₘ) является (вероятно) параметром полиномиального оператора мутации, предложенного Deb and Agrawal (1999).

ηₘ вызывает эффект возмущения O((b – a) / ηₘ) в переменной, где a и b — нижняя и верхняя границы переменной.

Тогда разумно использовать большее ηₘ для последующих поколений.

person manlio    schedule 28.05.2019
comment
Можете ли вы помочь мне с этим кодом, пожалуйста? ссылка - person Sam; 27.04.2020