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