Что означает индекс пересечения 0,25 в генетическом алгоритме для реального кодирования? - PullRequest
2 голосов
/ 22 мая 2019

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

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

Также запутался по поводу индекса мутации 100+current generation number.

1 Ответ

1 голос
/ 28 мая 2019

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

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

Возможно, документы, которые вы читаете, используют Имитация двоичного кроссовера (SBX).

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


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

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

    β

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

    children

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

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

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

probability distribution

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


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

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

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

1995 (PDF здесь )

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...