Размер популяции в быстром беспорядочном генетическом алгоритме

Я пытаюсь реализовать Fast Messy GA, используя статью Голдберга, Деба, Каргупты Харика: fmGA - Быстрая точная оптимизация сложных задач с использованием быстрых беспорядочных генетических алгоритмов.

Я застрял с формулой о начальном размере населения для учета шума оценки Building Block:

Скриншот из газеты

Подфункции здесь представляют собой m = 10 ложных функций порядка 3 (k = 3):

Подфункция order-3

l=30, l'=27, а B — отношение сигнал/шум, которое представляет собой отношение отклонения пригодности к разнице между лучшим и вторым лучшим значением пригодности (30-28=2). Отклонение пригодности согласно приведенной выше таблице равно sqrt(155).

Однако в статье говорится, что использование 10 подфункций порядка 3 и использование уравнения должны дать вам размер популяции 3331, но после замены я не могу достичь этого, так как не уверен, каково значение c (альфа).

Любая помощь будет оценена. Спасибо


person xenomeno    schedule 24.04.2019    source источник


Ответы (1)


Кажется, я понял, что такое c(alpha). По крайней мере, график, нарисованный против альфы, выглядит точно так же, как на бумаге. Кажется, под квадратом ординаты они подразумевают квадрат Z-показателя, найденный обратным нормальным случайным распределением с использованием альфа в качестве правой хвостовой области. Сначала меня ввели в заблуждение, что после нахождения Z-показателя его следует заменить в уравнении нормального случайного распределения для борьбы с высотой (ординатой).

Здесь есть реализация на Lua https://github.com/xenomeno/GA-Messy. для интересующихся. Однако у Fast Messy GA есть некоторые проблемы с воспроизведением цифр из оригинальной статьи Голдберга, которые я не знаю, как исправить, но это другой вопрос.

person xenomeno    schedule 17.05.2019