Масштабирование фитнеса преобразовывает необработанные очки фитнеса, которые возвращены функцией фитнеса в значения в области значений, которая подходит для функции выбора. Функция выбора использует масштабированные значения фитнеса, чтобы выбрать родительские элементы следующего поколения. Функция выбора присваивает более высокую вероятность выбора людям с более высокими масштабированными значениями.
Область значений масштабированных значений влияет на производительность генетического алгоритма. Если масштабированные значения также значительно различаются, люди с самыми высокими масштабированными значениями воспроизводят слишком быстро, занимая генофонд генеральной совокупности слишком быстро, и препятствуя тому, чтобы генетический алгоритм искал другие области пробела решения. С другой стороны, если масштабированные значения отличаются только немного, у всех людей есть приблизительно тот же шанс воспроизведения, и поиск будет прогрессировать очень медленно.
Опция масштабирования фитнеса по умолчанию, Rank
, масштабирует необработанные очки на основе ранга каждого человека вместо его счета. Ранг человека является своим положением в отсортированных очках: рангу самого подходящего человека 1 год, следующее самое подходящее равняется 2 и так далее. Ранг, масштабирующий функцию, присваивает масштабируемые значения так, чтобы
Масштабированное значение человека с рангом n пропорционально .
Сумма масштабированных значений по целой генеральной совокупности равняется количеству родительских элементов, должен был создать следующее поколение.
Займите место масштабирование фитнеса удаляет эффект распространения необработанных очков.
Следующий график показывает необработанное множество типичной генеральной совокупности 20 человек, отсортированных в увеличивающемся порядке.
Следующий график показывает масштабированные значения необработанных очков с помощью масштабирования ранга.
Поскольку алгоритм минимизирует функцию фитнеса, более низкие необработанные очки имеют более высокие масштабированные значения. Кроме того, потому что ранг, масштабирующий значения присвоений, которые зависят только от ранга человека, масштабированные показанные значения, был бы тем же самым для любой генеральной совокупности размера 20 и количество родительских элементов, равных 32.
Чтобы видеть эффект масштабирования, можно сравнить результаты генетического алгоритма с помощью ранга, масштабирующегося с одной из других опций масштабирования, таких как Top
. По умолчанию главное масштабирование присваивает 40 процентов самых подходящих людей к тому же масштабированному значению и присваивает остальную часть людей, чтобы оценить 0. Используя функцию выбора по умолчанию, только 40 процентов самых подходящих людей могут быть выбраны как родительские элементы.
Следующая фигура сравнивает масштабированные значения генеральной совокупности размера 20 с количеством родительских элементов, равных 32 рангам использования и главному масштабированию.
Поскольку главное масштабирование ограничивает родительские элементы самыми подходящими людьми, оно создает менее разнообразное население, чем масштабирование ранга. Следующий график сравнивает отклонения расстояний между людьми при каждой генерации с помощью ранга и главного масштабирования.