Отсутствие диверсификации, действительно ли это недостаток генетических алгоритмов? - PullRequest
3 голосов
/ 08 февраля 2012

Мы знаем, что генетические алгоритмы (или эволюционные вычисления) работают с кодированием точек в нашем пространстве решений Ω, а не непосредственно этих точек. В литературе мы часто обнаруживаем, что GA имеют недостаток: (1) поскольку многие хромосомы закодированы в одинаковую точку Ω или аналогичные хромосомы имеют очень разные точки, эффективность довольно низкая. Как вы думаете, это действительно недостаток? потому что этот тип алгоритмов использует оператор мутации в каждой итерации, чтобы разнообразить возможные решения. Чтобы добавить больше диверсификации, мы просто увеличиваем вероятность кроссовера. И мы не должны забывать, что наша начальная популяция (хромосонов) генерируется случайным образом (еще одна диверсификация). Вопрос в том, если вы считаете, что (1) является недостатком ГА, можете ли вы предоставить более подробную информацию? Спасибо.

Ответы [ 2 ]

6 голосов
/ 08 февраля 2012

Мутации и случайной инициализации недостаточно для борьбы с проблемой, известной как генетический дрейф , которая является основной проблемой генетических алгоритмов.Генетический дрейф означает, что ГА может быстро потерять большую часть своего генетического разнообразия, и поиск продолжается таким образом, который не выгоден для кроссовера.Это потому, что случайная начальная популяция быстро сходится.Мутация - это другое дело, если она высокая, она будет диверсифицироваться, правда, но в то же время она предотвратит сближение, и решения останутся на определенном расстоянии от оптимума с большей вероятностью.Вам нужно будет адаптировать вероятность мутации (а не вероятность кроссовера) во время поиска.Аналогичным образом стратегия эволюции, аналогичная GA, адаптирует силу мутации во время поиска.

Мы разработали вариант GA, называемый OffspringSelection GA (OSGA), который вводит еще один этап выбора.после кроссовера.Будут приняты только те дети, которые превосходят физическую форму своих родителей (чем лучше, тем хуже или любое линейно интерполированное значение).Таким образом, вы даже можете использовать случайный родительский выбор и повлиять на качество потомства.Было показано, что это замедляет генетический дрейф.Алгоритм реализован в нашей структуре HeuristicLab .Он имеет графический интерфейс пользователя, поэтому вы можете скачать и попробовать его на некоторых проблемах.

Другие методы, которые борются с генетическим дрейфом, - это ниширование и скученность, которые позволяют разнообразию влиться в выборку и, таким образом, вводят другое, но, вероятно, другое смещение.

РЕДАКТИРОВАТЬ: Я хочу добавить, что ситуация с несколькими решениями с одинаковым качеством, конечно, может создать проблему, поскольку это создает нейтральные области в пространстве поиска.Тем не менее, я думаю, что вы не имели в виду это.Основной проблемой является генетический дрейф, т.е.потеря (важной) генетической информации.

0 голосов
/ 08 февраля 2012

В качестве идентификатора вы (ОП) сказали:

Мы знаем, что генетические алгоритмы (или эволюционные вычисления) работают с кодированием точек в нашем пространстве решений Ω, а не непосредственно этих точек,

Это не всегда так.Индивидуум закодирован как генотип , который может иметь любую форму, такую ​​как строка (генетические алгоритмы) или вектор реального (стратегии эволюции).Каждый генотип трансформируется в фенотип при оценке индивидуума, то есть когда вычисляется его пригодность .В некоторых случаях фенотип идентичен генотипу: он называется прямым кодированием .В противном случае кодирование называется косвенным .(вы можете найти больше определений здесь (раздел 2.2.1) )

Пример прямого кодирования: http://en.wikipedia.org/wiki/Neuroevolution#Direct_and_Indirect_Encoding_of_Networks

Примеркосвенного кодирования:
Предположим, вы хотите оптимизировать размер прямоугольного параллелепипеда в зависимости от его длины, высоты и ширины.Чтобы упростить пример, предположим, что эти три величины являются целыми числами от 0 до 15. Затем мы можем описать каждую из них с помощью 4-разрядного двоичного числа.Примером потенциального решения может быть генотип 0001 0111 01010. Соответствующий фенотип представляет собой параллелепипед длиной 1, высотой 7 и шириной 10.


Теперь вернемся к первоначальному вопросу о разнообразии.к тому, что сказал ДонАндре, вы можете прочитать, прочитав главу 9 « Мультимодальные проблемы и пространственное распределение » превосходной книги Введение в эволюционные вычисления , написанной А. Э. Эйбеном и Дж. Э. Смитом.а также исследовательский документ по этому вопросу, такой как Поощрение разнообразия поведения в эволюционной робототехнике: эмпирическое исследование . Одним словом, разнообразие - это не недостаток ГА, а "просто" проблема.

...