Что такое схема niching?

В настоящее время я читаю статью об использовании GA в задачах ограниченной оптимизации. В какой-то части речь идет о применении схемы niching для индивидуумов (или для фронта Парето).

Похоже на типичную схему выбора, но по мере того, как я искал, я не мог найти для этого хорошего объяснения.

Может ли кто-нибудь объяснить мне как можно проще, что такое схема niching?

Ответы

Ответ 1

Проще говоря, niching - это класс методов, которые пытаются сходиться к нескольким решениям за один прогон.

Niching - идея сегментирования популяции GA на непересекающиеся множества, предназначенные для того, чтобы у вас был хотя бы один член в каждом регионе функции пригодности, который является "интересным"; обычно под этим мы подразумеваем, что вы покрываете несколько локальных оптимумов.

Представьте себе такую ​​функцию, как f(x) = sin(x^2).

enter image description here

Нормальная GA в конечном счете сходится к одному из двух глобальных минимумов. Какой из них зависит от начальной популяции и случайного генетического дрейфа, происходящего на протяжении всего цикла, но в конечном итоге вы получите n копии одного человека в той или иной долине. Например, если вы посмотрели на такую ​​GA, когда она почти сходилась, вы можете увидеть что-то вроде

standard GA

Niching - это общий класс методов, предназначенных для достижения примерно половины населения, сходящегося в каждом минимуме (или, возможно, даже включая несколько членов в минимальном минимальном значении при x=0).

niching

Как я только что сказал, niching на самом деле не алгоритм, а общий класс алгоритмов. Одним из таких методов является совместное использование Goldberg. В этом методе мы определяем радиус ниши sigma. Любые два человека ближе друг к другу, чем этот sigma, считаются находящимися в одной и той же нише и, следовательно, должны делиться своими значениями пригодности (думайте об этом как о функции, которая уменьшает пригодность каждого члена ниши, чем более густонаселенная ниша является). Затем вы используете GA для общих значений пригодности вместо сырых.

Идея здесь заключается в том, что вы препятствуете конвергенции в одном регионе функции фитнеса, притворяясь, что там есть ограниченные ресурсы. Чем больше людей пытаются двигаться, тем хуже все они. В результате, когда GA сходится к одному локальному оптимуму где-то, пригодность этого оптимума уменьшается из-за усиления конкуренции внутри ниши. В конце концов, еще один регион фитнес-ландшафта становится более привлекательным, и люди мигрируют туда. Идея заключается в достижении устойчивого состояния - фиксированной точки в динамике, - где поддерживается соответствующее представление каждой ниши.

Совместное использование затруднено из-за необходимости вручную устанавливать радиус ниши, и алгоритм довольно чувствителен к этому выбору. Другая альтернатива - скученность. В частности, вы можете найти "Детерминированную переполненность", которая была популярным методом в течение определенного периода времени. В методах, основанных на толпе, вместо того, чтобы иметь дело с явным радиусом, мы работаем, ограничивая набор индивидуумов, которые новое потомство может заменить на некоторый набор подобных решений, например, отпрыску может быть разрешено заменить только одного из его родителей. Эффект заключается в том, чтобы попытаться предотвратить замену уникального человека тем, что очень похоже на десяток других в популяции и, таким образом, сохранить разнообразие таким образом.

Ответ 2

Да, хорошее объяснение deong для niching. Все эти методы созданы для поддержания разнообразия населения.

Вот что делает фронт Парето тоже. ГА, которые ищут фронт Парето, являются многоцелевыми эволюционными алгоритмами. Они пытаются оптимизировать не только один критерий, но два или более. Таким образом, фронт Парето - это все индивиды, в которых не доминирует индивид индивида. http://en.wikipedia.org/wiki/Pareto_efficiency

Вкратце: индивид A является членом фронта парето, если в популяции нет индивида B, который по крайней мере так же хорош, как A, по всем критериям и лучше, чем A, по крайней мере, по одному критерию.