Могут ли геномы быть гетерогенными и экспрессировать объекты с гетерогенными элементами? - PullRequest
0 голосов
/ 20 сентября 2018

Я никогда не проходил формальный курс ГА, поэтому этот вопрос может быть расплывчатым: я пытаюсь понять, хорошо ли я подхожу к этой проблеме.

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

Моя проблема связана с развитиемграфик компонентов, скажем, X, Y и Z: граф может иметь N узлов, и каждый узел является экземпляром X, Y или Z. Кодирование такой структуры графа в геноме довольно просто, однако, I также необходимо приложить дополнительную информацию о том, что X, Y и Z делают сами - , который на самом деле является основным объектом ГА.

Так что, похоже, мой геном долженкод для гетерогенного объекта: объект, который состоит из структурного графа и спецификации функциональности.Не исключено перечислить элементы (гены), которые кодируют структуру, и элементы, которые кодируют функциональность под одним родительским «геном», а затем просто разделить их при сборке сущности, но это не похоже направильный подход.

Это общая проблема в ГА?Должен ли я найти «низкоуровневое» представление / кодирование генома в этой ситуации?Каковы соответствующие соображения?

1 Ответ

0 голосов
/ 21 сентября 2018

Да, вы можете сделать это с помощью GA, но, строго говоря, вы будете использовать генетическое программирование (GP), а не генетические алгоритмы.GP считается частным случаем GA, когда представление генома неоднородно.Это означает, что ваш человек - это «компьютерная программа», а не просто «необработанные данные» смотрите здесь и здесь .Это означает, что вы действительно можете проявить творческий подход к тому, что означает эта «компьютерная программа», как представить ее и обработать.

Что касается дополнительной информации, все будет в порядке, если учесть все ваши генетические операторы.это представление .Например, твой кроссовер.Можно было бы обменяться половиной дерева и половиной дополнительной информации родителей.Если по какой-либо причине дополнительная информация не может быть разделена, ваш кроссовер может решить клонировать ее от одного из родителей.

Основным недостатком этого хорошо настроенного подхода является то, что вы, вероятно, не можете использовать GA высокого уровня /Фреймворки GP там (я только предполагаю, я не знаю много о них).

...