Плоидность
Материал из MachineLearning.
Пло́идность (полиплоидность, n-плоидность) – число самодостаточных наборов генов в каждой особи популяции генетического алгоритма. Плоидность является дальнейшим усовершенствованием классического генетического алгоритма (в котором все особи гаплоидны, то есть несут в себе одиночный набор генов), которое, возможно, улучшает его поисковые способности.
Соотношение понятия "плоидность" с естественной генетикой
Понятие плоидности, как и сам генетический алгоритм, пришло из биологии и теории эволюции. В норме у большинства организмов, для которых известен половой процесс, в жизненном цикле происходит правильное чередование гаплоидной и диплоидной фаз, т.е. фаз, во время которых организм имеет одиночный и двойной набор хромосом.
Родительские половые клетки являются гаплоидными. При слиянии они образуют диплоидную клетку – потомка. Совместная экспрессия генов в цепочках ДНК каждого из родителей влияет на фенотип. Но очень часто каждый из параллельных генов в цепочках может доминировать (либо быть затенённым, то есть быть рецессивным) по отношению к другому гену. Тем самым влиять либо нет на финальный фенотип. Механизмы доминантности/рецессивности генов очень разнообразны и до сих пор плохо изучены.
В природе практически все более или менее сложные формы организмов большую часть своего времени проводят в диплоидной форме. Зачем такое усложнение – точно не ясно. Уверенность есть лишь в том, что это даёт какое-то эволюционное преимущество, ведь намного легче хранить в каждой клетке одинарный набор генов.
Гипотезы
- Полиплоидность увеличивает информационную “ёмкость” популяции, позволяя обходиться меньшим размером популяции;
- Полиплоидность позволяет накопить пул мутаций, которые сделают популяцию менее подверженной “скатыванию в локальный экстремум”;
- Полиплоидность ускоряет поиск, разбивая гены на стабильные (доминантные) и на нестабильные (рецессивные).
Эксперименты
Известен лишь один эксперимент, использующий полиплоидность (см. третью ссылку). В нём утверждается, что этот эффект помогал избежать локальных экстремумов.
Введение n-плоидности в генетический алгоритм
- Хранение: Каждая особь популяции владеет n-кратным набором генов (или цепочками ДНК, или n набором хромосом);
- Скрещивание: Из популяции каким-либо образом выбираются будущие родители. От каждой родительской особи, путём кроссинговера родительских наборов генов, получаем новый набор генов будущего потомка. Наборы генов потомка собираются в новой особи, которая объявляется потомком;
- Экспрессия: Фенотип особи определяется согласно всем наборам генов, из которых эта особь состоит.
Рассмотрим эти три пункта поподробнее:
- Хранение: Каждая особь популяции владеет n-кратным набором генов (или цепочками ДНК, или n набором хромосом)
- Число n обычно равно двум. Не ясно, имеет ли смысл его брать больше этого значения. В природе оно почти всегда есть 2. Кроме самих генов, необходимо также хранить информацию о доминантности/рецессивности для каждого гена из каждого набора генов, что обычно даёт 2n-кратный рост памяти, занимаемой особью по сравнению с гаплоидной версией. Информация о доминантности сцеплена с геном. Она, также как и гены, подвергается мутациям и перемешивается в процессе кроссинговера. Без этой информации полиплоидность, возможно, бессмысленна.
- Скрещивание: Из популяции каким-либо образом выбираются будущие родители. От каждой родительской особи, путём кроссинговера родительских наборов генов, получаем новый набор генов будущего потомка. Наборы генов потомка собираются в новой особи, которая объявляется потомком
- Число родителей имеет смысл брать равным величине плоидности, т.к. в этом случае родители фактически друг с другом не взаимодействуют, лишь поставляя гаметы (гаплоидные половые клетки) своему потомку. В отличии от классического генетического алгоритма, здесь кроссинговер происходит внутри родительских особей, а не между ними. Это может быть дополнительным подспорьем в распараллеливании при реализации алгоритма.
- Экспрессия: Фенотип особи определяется согласно всем наборам генов, из которых эта особь состоит
- Можно проявлять фенотип лишь от одного набора генов в особи. Можно проявлять фенотип от конкретного набора случайным образом. Либо усреднять от всех. Но все эти три тактики, видимо, не приводят к какому-либо ускорению поисковых способностей алгоритма. Скорее наоборот. Информация о том, доминантен ли ген или рецессивен, должна, видимо, генерироваться параллельно самим эволюционным процессом, либо каким-то более определённым образом. В этом случае, среди параллельных генов (аллелей) проявляется в фенотипе только тот ген (или с большим вкладом, чем его "конкурент"), которым несёт в себе информацию о своей доминантности. Если же все параллельные гены доминантны (или рецессивны), то кто проявляется в фенотипе определяется случайным образом.
Предлагаемый алгоритм определения рецессивности/доминантности
Предлагаю следующих алгоритм определения рецессивности/доминантности генов. Пусть набор генов - битовая строка. Информацию о доминатности представим также в виде битовой строки, в которой 1 означает "соответствующий бит доминантен". Далее:
- При первой генерации особи, доминантная битовая строка, как и битовая строка генов, выбирается случайной;
- При мутации бита в гене, доминантность его выставляется в 0;
- При прохождении бита в следующее поколение, его доминантность выставляется в 1 с вероятностью p, примерно равной 0.5;
- (?) Если кроссинговер k-точечный, то какую-то дельта-окрестность бит точек разреза отметить рецессивностью;
- (?) Если кроссинговер сплошной случайный, то каждый бит доминантности выставить в 0 с вероятностью k, где k примерно равно 0.1.
Таким образом, более новые гены будут рецессивными, а более стабильные - доминантными.
Преимущества и недостатки плоидности
Преимущества:
- Позволяет избегать локальных экстремумов;
- Добавляет больше простора для распараллеливания.
Недостатки:
- Увеличение объёма хранимой информации в разы;
- Увеличение сложности кода;
- Введение новых и непонятных эвристик.
Почему инцест помогает избежать локальных экстремумов?
Инцест - скрещивание близкородственных особей.
Если частота мутаций недостаточно большая, а целевая функция располагает, то популяция может выродиться в локальную окрестность, в которой будет очень много схожих особей. Скрещивание их в гаплоидном ГА непременно приведёт лишь к усилению застревания популяции в этой точке. В полиплоидном же случае инцест приводит к тому, что начнут себя проявлять рецессивные, ранее не проявляющиеся в фенотипе гены. Таким образом механизм инцеста в полиплоидных организмах позволяет легче выбираться из локальных экстремумов.
Источники информации
- Статья "Плоидность" в Википедии
- Демон Дарвина... -- Отлично рассмотрен с точки зрения математики накопительный эффект от рецессивности (см. выше "плоидность");
- Г. К. Вороновский и др., Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности -- пример положительного эффекта диплоидности на качество схождения ГА в глобальном экстремуме.