В чем разница между выбором колеса рулетки, выбором ранга и выбором турнира?

Я читаю слайд о генетическом программировании, где представлены некоторые методы отбора людей, такие как выбор колеса рулетки, выбор ранга и выбор турнира, упоминаются.

В чем разница между этими тремя методами отбора?


person Trần Kim Dự    schedule 20.04.2014    source источник


Ответы (1)


Выбор колеса рулетки (также известный как пропорциональный выбор по фитнесу)

Пригодность используется для привязки вероятности выбора к каждому человеку.

Если f i - это приспособленность индивида i в популяции, его вероятность быть выбранной равна:

p i = f i / j (f j) для j = 1 N (N - количество особей в популяции)

Оно называется колесом рулетки, потому что в казино его можно рассматривать как колесо рулетки:

введите описание изображения здесь

Это можно смоделировать с помощью следующего (наивного) алгоритма:

  1. Вычислите сумму всех приспособленностей в популяции (сумма S).
  2. Сгенерировать случайное число r в интервале [0; S].
  3. Просмотрите популяцию и просуммируйте приспособленности. Когда сумма s больше r, остановитесь и верните человека на место.

Для возможных реализаций см:


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

Не имеет значения, является ли наиболее приспособленный кандидат в десять раз более приспособленным, чем следующий наиболее приспособленный, или более приспособленным на 0,001%. В обоих случаях вероятности выбора будут одинаковыми.

Все, что имеет значение, - это рейтинг по отношению к другим людям.

Выбор ранга легко осуществить, если вы уже знаете, как выбрать колесо рулетки. Вместо того, чтобы использовать приспособленность как вероятность быть выбранным, вы используете ранг. Таким образом, для популяции из N решений лучшее решение получает ранг N, второе лучшее решение - N-1 и т. Д. Наихудшее решение имеет ранг 1.

(Выбор ранжирования в коде генетического алгоритма)


Выбор турнира

  1. Выберите случайным образом несколько человек из популяции (турнир).
  2. Для кроссовера выбирается человек с лучшей физической подготовкой (победитель).

Как видите, кодирование эффективно. Он также работает с параллельными архитектурами и позволяет легко регулировать давление отбора (изменяя количество игроков в турнире).

Конечно, существует множество вариантов этих алгоритмов.

Для сравнения вы можете прочитать:

Простое сравнение алгоритмов выбора алгоритма Xiahu для разных генов на основе алгоритма Zhong, Гу, Цзюнь Чжан - 2005 г.)

person manlio    schedule 21.04.2014
comment
Действительно исчерпывающий и задокументированный ответ по теме! - person 5agado; 30.04.2014