От эволюционных вычислений до эволюции мемов: некоторые общие тенденции

А.В. Спиров1

ОТ ЭВОЛЮЦИОННЫХ ВЫЧИСЛЕНИЙ ДО ЭВОЛЮЦИИ МЕМОВ: НЕКОТОРЫЕ ОБЩИЕ ТЕНДЕНЦИИ2

1. Введение:

Эволюционные процессы в природе, технике и обществе

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

Биолог может определить эволюцию как естественный процесс развития жизни на Земле. Более формальное и более общее определение из Википедии: эволюция - процесс не онтогенетического развития, одноуровневой качественной трансформации и / или деградации, процесс структурного изменения чего-то от одного состояния к другому. Наконец, можно сказать, что эволюция - это естественный процесс развития Вселенной как целого или ее частей.

Таблица 1 сводит (с отсылками на некоторые репрезентативные публикации) наиболее известные области небиологических эволюций. Это отнюдь не полный список. Вопрос в том, насколько разнятся разные эволюции. И когда термин «эволюция того-то» становится лишь метафорой?

1 Исследование выполнено за счет гранта Российского научного фонда (проект № 17-18-01536).

2 В основу статьи легли материалы доклада, представленного на семинаре Центра перспективных методологий социально-гуманитарных исследований ИНИОН РАН.

243

Таблица 1

Разнообразие эволюций: Эволюционные процессы в природе, технике и человеческом обществе, культуре

Химическая или пребиотическая эволюция [Rauchfuss, 2008]

Звёздная эволюция и эволюция галактик [Шкловский, 1984]

Социальная (социокультурная) эволюция [Коротаев, 2003]

Эволюционная лингвистика [Croft, 2008]

Эволюция идей (меметика) [Heylighen, Chielens, 2009]

Эволюция программного обеспечения [Types of software, 2001]

Эволюция компьютерных вирусов [Iliopoulos, Adami, Szor, 2011]

Технологическая эволюция [Bloomfield, 1993]

Эволюционная экономика [Friedman, 1998]

Таблица 2

Эволюции, к которым приложима концепция селекционизма

Эволюционные вычисления (генетические алгоритмы и генетическое программирование) Моделирование эволюции на компьютере (эволюция «цифровых» и виртуальных организмов

и моделей генных сетей)_

Направленная эволюция биомолекул (SELEX)_

Биологическая микро- и макроэволюция_

Эволюция техники / технологий_

Эволюция мемов (идей), включая процессы в Интернете / соцсетях_

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

Интересующие нас эволюции характеризуются «дарвиновскими» изменчивостью, наследственностью и отбором. Не вдаваясь в обширнейшую проблематику современной синтетической теории эволюции, мы в этих заметках сочтем в первом приближении достаточным выполнение этих трех общих положений селекционизма. Примечательно, что «дарвиновская» триада приложима к очень многим столь различным эволюциям.

Наследственность обусловлена тем, что имеется возможность представить / имплементировать особь в популяции как последовательность символов, фрагменты кода, предложений (формального) языка или, на-

244

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

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

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

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

2. Единство и разнообразие «дарвиновских» эволюций

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

2.1. Эволюционные вычисления и эволюция на компьютере

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

Компьютерная эволюция - обширнейшая область, которая охватывает как сугубо академические (моделирование биологической эволюции), так и сугубо прикладные (техники эволюционных вычислений в реальных прикладных задачах) сферы [Holland, 1975, Onwubolu, Babu, 2004].

Эволюция на компьютере (достаточно) строго и математически формализована [de Castro, 2006]. Как обширная область под названием «эволюционные вычисления» или «эволюционные алгоритмы», она включает такие известные разделы, как генетические алгоритмы, генетическое программирование, эволюционное программирование, эволюционные стратегии, системы классификаторов и немало других.

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

245

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

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

2.1.1. Генетические алгоритмы и генетическое программирование

Генетические алгоритмы (ГА) [Mitchell, 1996] - самая развитая область эволюционных вычислений. Как правило, особи / решения представляют собой строку символов или чисел, называемую «хромосомой», и не только это формально роднит ГА с биологической молекулярной эволюцией. Замены символов / чисел в строке - это мутации. Поскольку хромосомы здесь - последовательности «элементов», как в ДНК, то кроссинговер по аналогии с биологическим реализуется как «перекрест» родительских хромосом в одной или двух точках (иногда во многих), чтобы отпрыски получили перекомбинированные копии родительских хромосом. Именно в ГА было оценено количественно значение кроссинговера для эффективности эволюционного поиска [Holland, 1975].

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

Теорема схем и строительные блоки. Как достаточно простая и интенсивно исследуемая область, ГА имеет свои теоретические обоснования. Предложенная Джоном Холландом (одним из основателей ГА) в 1975 г., теорема схем [Holland, 1975] оказала в последующем немалое влияние не только на область ГА, но и на другие эволюции. Из этих рассмотрений Холланда (которые я опускаю) вытекают определения схем и строительных блоков.

246

Строительные блоки - фрагменты искомых решений. Гипотеза строительных блоков

Кроссинговер соединяет СБ, кроссинговер разрушает СБ. Из теоремы Холланда следует критически важная роль кроссинговера в эволюционном поиске в ГА [Li, Goodman, 2008; Sudholt, 2017]. Кроссинговер необходим прежде всего для того, чтобы соединять в потомке разные СБ от родителей, тем самым повышая фитнес отпрыска. Вместе с тем кроссинговер (обычный) имеет тенденцию разрушать (разрывать) СБ, тем самым замедляя эволюционный поиск [Mitchell, 1996]. Суть в том, что точки перекреста в рутинном алгоритме кроссинговера или фиксированы, или произвольны. Но они в рутинных процедурах - независимы от контекста. Поэтому кроссинговер «не знает», где в хромосомах локализованы СБ, и зачастую будет при «перекресте» родительских хромосом для потомства разрывать их «по живому». То есть если кроссинговер при перекресте поделит и перетасует в отпрысках родительские хромосомы так, что СБ родителей не будут «разорваны» и целыми передадутся отпрыскам, то фит-нес отпрысков вырастет. Но если же перекрест пройдет через СБ родителя и этот блок не передастся целым не одному из отпрысков, то фитнес отпрыска не увеличится (по сравнению с таковым родителей), а данный СБ потеряется в эволюционном поиске. Возникает проблема - эволюционный процесс (конкретнее - процедуры кроссинговера) должен быть устроен так, чтобы поддерживать появление, умножение и перекомбинации СБ.

2.1.1.1. Генетическое программирование

Охарактеризуем теперь кратко генетическое программирование (ГП) [Koza, 1990], которое во многом сходно с ГА. Ключевое различие здесь в том, что особь - программа, а не последовательность. Удобно представлять эти программы в виде «деревьев», где функции представлены внутренними узлами, к которым в качестве входных параметров присоединены поддеревья [Koza, 1990]. Листьями такого дерева будут константы, входные параметры задачи или директивные команды программы. Тогда замены узлов и листьев - это мутации, к тому же, добавляя узлы и листья, можно обеспечивать рост деревьев.

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

247

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

ГП: ветви дерева - строительные блоки. В обобщение теоремы Холланда, в ГП структуры (части графов = ветви дерева) могут интерпретироваться как СБ [McPhee, Ohs, Hutchison, 2008 ]. В ГП наличие СБ (модульность) выглядит более естественно, чем в ГА (хотя немало проблем создается деталями ГП). Переход в эволюциях от последовательностей к структурам и к явной модульности - это тенденция, прослеживаемая и далее по ряду наших эволюций.

2.1.2. Операторы кроссинговера, сохраняющие строительные блоки

Потребность в операторах кроссинговера, сохраняющих СБ (как и возлагаемые на них надежды), была осознана в эволюционных вычислениях в ходе развития теории и практики применения ГА и ГП. Это происходило независимо от положения дел в областях других эволюций.

Параллельно и независимо развиваются молекулярно-инженерные подходы для манипулирования с доменами (СБ для этой области) в направленной эволюции биологических макромолекул ([Protein building, 2002], см. раздел 2.2). Вместе с тем идея модульного дизайна (наличие СБ) была во многом заимствована современной биологической инженерией из обычной инженерии ([From molecular to modular, 1999], см. раздел 2.3).

Кроссинговер, сохраняющий СБ, требуется в ГА и ГП, эволюционном дизайне моделей генных сетей, направленной эволюции макромолекул и ряде других областей. В эволюционных вычислениях разрабатывается немало специальных операторов кроссинговера, умеющих сохранять СБ [Skinner, Riddle, 2004; Zaritsky, Sipper, 2004; Li, Min, Yang, 2006; Tarek, 2006; Kameya, Prayoonsri, 2011; Umbarkar, Sheth, 2015 ]. Есть надежда, что эти операторы удастся применить и в других эволюциях.

Таким образом, сквозная тема нашего анализа - это потребность в таких операторах кроссинговера, которые сохраняли бы в эволюции СБ.

2.1.3. Эволюция виртуальных организмов и моделей генных сетей

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

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

248

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

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

Рассматриваемый нами эволюционный дизайн оперирует с генными сетями как с графами, а не как с последовательностями (нуклеотидов). Справедливости ради отметим, что можно реализовывать на компьютере эволюцию генных сетей на уровне последовательностей ДНК. И такие работы ведутся. Однако скорость и эффективность эволюционного поиска в таком случае будут ощутимо ниже.

Модульность в эволюции генных сетей широко обсуждается в современной биологии. Замечено, что некоторые конструкции, проще всего представимые ориентированными графами, повсеместно встречаются в реальных генных сетях, от геномов бактерий и до генома человека. Их называют «сетевыми мотивами» («сетевой мотив» - такой способ связи (паттерн) узлов сети, который встречается в разных участках сети значительно чаще, чем другие (паттерны) [Mangan, Alon, 2003; Mangan, Zaslaver, Alon, 2003]). Например, известные сетевые мотивы (на примере трех узлов-генов) - это два типа петли прямой связи (I II 1С, Feed-forward loop): когер-рентная ППС (coherent type 1 FFL, C1-FFL) и некогерентная ППС (incoherent type 1 FFL, I1-FFL) [Mangan, Alon, 2003; Mangan, Zaslaver, Alon U, 2003]. В рамках нашего анализа здесь и в приложении к компьютерной эволюции генных сетей у нас есть резоны трактовать сетевые мотивы как СБ, особенно СБ в ГП. Эти структуры при кроссинговере желательно передавать отпрыскам от родителей как целое, не разрывая.

Эволюция виртуальных креатур и виртуальных роботов. В продолжение темы рассмотрим эволюцию виртуальных креатур на примере разработок Карла Симса [Sims, 1994 a, 1994 b; http://www.karlsims.com/ evolved-virtual-creatures.html]. Подход Симса сходен с ГА и ГП, и тема модульности (СБ) находит свое выражение и в этой области.

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

249

гично развивающаяся область эволюций, где отрабатываются подходы к дизайну реальных эволюционирующих роботов [The horizons of evolutionary, 2014].

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

От строительных блоков к модульному дизайну. Для нас в этих креатурах важно то, что они реализованы как модульные. Здесь, как и в других эволюциях, модульность может способствовать быстрому эволюционному поиску (см. разделы 2.2 и 2.3). В частности, умножение СБ в генотипе обусловливает умножение модулей в дизайне робота и приводит в итоге к сегментной организации его тела и конечностей (как, например, у насекомых, ракообразных и пауков).

Модульность генотипа и ей соответствующая модульность фенотипа позволяют быстро находить серии усложняющихся дизайнов (виртуальных) роботов. Таким образом, если эволюционная задача имплементи-рована так, что позволяет появляться СБ в генотипе и сохраняет их при кроссинговере (а картирование от генотипа в фенотип определяет и сохраняет модульность), то это может давать существенные преимущества, например в эволюционной робототехнике.

2.2. Направленная эволюция биомолекул и биологическая эволюция

Эта следующая важная для нас область эволюции популярно именуется эволюцией в пробирке. Эволюция в пробирке также известна как SELEX («Systematic Evolution of Ligands by Exponential Enrichment», «Систематическая эволюция лигандов экспоненциальным обогащением»), или эволюция in vitro, или направленная (directed) эволюция [Lutz, 2010]. Эволюция в пробирке - тоже обширнейшая область, охватывающая как сугубо академические сферы, непосредственно пересекаясь с проблематикой биологической молекулярной эволюции, так и сугубо прикладные задачи (получения химерных протеинов и энзимов с новыми свойствами).

Модульная организация РНК и протеинов. Модульность биологических макромолекул протеинов и нуклеиновых кислот широко изучается биологами. Эволюционное значение модульности макромолекул так же широко обсуждается. В частности, для сохранения модульности требуются специальные кроссинговерные механизмы. Такие механизмы раз-

250

работаны, например, в области направленной эволюции макромолекул. Есть ли такие механизмы в живой природе - открытый вопрос.

Реальные кроссинговеры, сохраняющие модули. Такие экспериментальные молекулярно-биологические процедуры разработаны в области sexual methods в белковой инженерии [Lutz, Benkovk, 2008]. Эти биотехнологические подходы предполагают перетасовку экзонов (exon shuffling), сходно с тем, как, полагают, это происходило в биологической эволюции.

Как известно, ген эукариот состоит из экзонов и интронов, экзоны кодируют части протеина, а интроны - это «служебные» вставки (последовательности) между ними. Не всегда, но часто экзон соответствует домену (модулю; так называют СБ в этой области). Биохимики -молекулярщики могут эти блоки вырезать из разных генов и перетасовывать по своему желанию. Получаются в итоге химерные протеины, которых нет в природе. Некоторые из них имеют новые свойства. В этих подходах используют ферменты и особенности организации генов. Возможно, так может идти эволюция белков и РНК в живой природе.

2.2.1. Биологическая эволюция

Биологическая эволюция включает в себя такие разномасштабные процессы, как микроэволюция и макроэволюция. Эти разномасштабные биологические эволюционные процессы различаются по временным масштабам и по механизмам. Некоторые современные биологи полагают, что в процессах макроэволюции задействованы специфические для них молекулярные механизмы рекомбинаций генетического материала. В рамках нашего рассмотрения интересны те (во многом гипотетические) механизмы реорганизации ДНК, которые способны сохранять домены протеинов (и РНК), распространяя их по геному и создавая новый генетический материал для новых, химерных генов, кодирующих новые, химерные макромолекулы [Patthy, 1987].

В современной молекулярной биологической эволюции широко обсуждаются модульность биологических макромолекул, РНК и протеинов. Под модулями (доменами) понимают структурно и функционально автономную часть молекулы биополимера, которая неоднократно встречается в не слишком измененном виде во многих РНК / протеинах, включая совсем неродственные. В этом смысле такие модули можно сопоставить со СБ в ГА и ГП [Voigt, 2002]. Полагают, что модули имеют тенденцию переноситься в эволюции как целое. Рассматриваются разнообразные генетические механизмы перекомбинирования доменов при эволюционном возникновении новых генов [Marsh, Teichmann, 2010]. Широко обсуждаемое и давно известное наблюдение, что протеиновые модули на уровне организации гена эукариот имеют тенденцию соответствовать экзонам

251

(кодирующие сегменты генов), ставит вопрос о роли разделяющих их ин-тронов (некодирующие сегменты генов) в механизмах и частотах перекомбинирования экзонов [РайЬу, 1987].

Таким образом, идея СБ относится к мейнстриму современной биологии, а механизмы рекомбинации генетического материала, сохраняющие и распространяющие в эволюции эти СБ, активно обсуждаются в течение последних десятилетий.

2.3. Эволюция техники / технологий

Модульный дизайн в инженерии. Принцип модулей активно развивается в современной инженерии (можно даже представить модульный самолет). На бытовом уровне прекрасный пример для нас - это модульный дизайн смартфона, и есть ожидания, что смартфон скоро будет модульным. Для нас в этой области эволюции важен принцип модульности, который отслеживается в наших эволюциях систематически [Schilling, 2002].

Строительные блоки и модульность дизайна. Я проиллюстрирую идею СБ на примере плодов эволюции техники, а конкретно - «эволюции» персональных компьютеров. Мы покупаем модель, а потом в течение ряда лет имеем возможность улучшать ее, покупая более совершенные блоки или новые блоки, которые не выпускались на момент покупки нашего ПК. Модульность дизайна позволяет нам легко делать апгрейд, добавляя новые блоки.

Здесь уместно отметить в заключение, что принцип модульности в инженерии, достаточно часто обсуждаемый в современной литературе, с целым рядом областей, где важна модульность инженерных разработок, неоднократно сопоставлялся с идеями модульности в современной биологии [From molecular to... 1999].

2.4. Эволюция мемов

И остановимся кратко на мемах и смежных с меметикой областях. Это область эволюции идей - меметика, которую мы рассмотрим на примере шуток / анекдотов.

Откуда берутся новые анекдоты? Шутки в общем случае отбираются из случайных разговоров нацеленными на эту деятельность людьми -«экспертами». Меметика рассматривает передачу шуток от человека к человеку (распространение в человеческой популяции) как размножение (данной) шутки [Hurley, Dennett, Adams, 2011].

Шутки / анекдоты - объекты языка высокого уровня (человеческого языка). Они «мутируют» при их начальном отборе из «речевого шума». Они «мутируют» при их передаче от одного носителя к другому. В этой

252

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

Зачастую шутки меняются при «передаче» от человека к человеку так, что шутка в итоге становится другой, хотя часто мы можем вспомнить ее старую, начальную версию. В меметике считают, что шутки / анекдоты отбираются по их качеству как шуток. Пример мутации шутки, существенно повышающей в данное время ее фитнес и приводящей к ее распространению, - это ситуация, когда старая и подзабытая шутка переиначивается на новый лад под новые реалии (например, шутка про Буша-старшего может снова распространиться, если ее переиначат под персонаж нового, действующего президента).

Люди отбирают не только шутки, но и более серьезные вещи. Имеются разработки в ГА, идея которых была предложена в свое время До-кинзом [Dawkins, 1996], - «ориентированные на человека» эволюционные вычисления (Human-centric Evolutionary Computation) [Takag, Iba, 2005]. Отбор в этой области эволюционных вычислений осуществляется не программой, а экспертом-человеком, а все остальное делается компьютером. Привлечение людей в качестве экспертов в эволюционных вычислениях -очень интересная область в свете наших рассмотрений. Это демонстрирует связь определенных критических процессов в меметике с таковыми в эволюционных вычислениях.

От бейсика к английскому. Тенденция к разработке все более высокоуровневых языков программирования наблюдается и в компьютерных науках. Языки программирования высокого и сверхвысокого уровня становятся все ближе к человеческим языкам. Например, коды программ на языке программирования Inform читаются почти так же, как текст на английском, тем самым существенно облегчая работу пользователям-непрофессионалам в программировании [Nelson, 2005]. Мы приходим к заключению, что чем более высокого уровня эволюционный процесс в направлении «гуманитарно-сти», тем более высокого уровня языки обычно используются для имплемен-тации особей в эволюционирующей популяции.

3. Заключения и выводы

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

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

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

253

графы). Исключение составляет биология, где, при всей сложности эволюционных процессов, наследственный аппарат основан на последовательностях символов.

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

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

При отборе оценка уровня соответствия «особи» (фитнес) в эволюционирующих популяциях демонстрирует тенденцию к тому, чтобы осуществляться в рамках все более высокоинтеллектуальных подходов (искусственный интеллект или люди-эксперты).

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

Список литературы

Коротаев А.В. Социальная эволюция. - М.: Восточная литература, 2003. - 278 с. Шкловский И.С. Звёзды: Их рождение, жизнь и смерть. - М.: Наука, главная редакция физико-математической литературы, 1984. - 384 с. BloomfieldM. Mankind in Transition: A View of the Distant Past, the Present, and the Far Future. -

Canoga Park, CA: Masefield Books, 1993. - 197 p. Types of software evolution and software maintenance / Chapin N., Hale J.E., Khan K.M., Ramil J.F., Tan W-G. // Journal of software maintenance and evolution: Research and Practice. Wiley Online Library. - Hoboken, NJ, 2001. - Vol. 13(1). - P. 3-30. Croft W. Evolutionary Linguistics // Annual Review of Anthropology. Annual Reviews. - Palo Alto; California, 2008. - Vol. 37. - P. 219-234.

254

DawkinsR. The Blind Watchmaker. - N.Y.: W.W. Norton & Company, Inc., 1996. - 466 p.

de Castro L.N. Fundamentals of Natural Computing: Basic Concepts, Algorithms, and Applications. - CRC Press, 2006. - 662 p.

Hybrid Genetic Algorithms: A Review / El-Mihoub T.A., Hopgood A.A., Nolle L., Battersby A. // Engineering Letters. - Hong Kong, 2006. - Vol. 13. - P. EL_13_2_11.

Friedman D. Evolutionary economics goes mainstream: A review of the theory of learning in games // Journal of Evolutionary Economics. - Washington, D.C., 1998. - Vol. 8, Issue 4. -P. 423-432.

Goldberg D. Genetic Algorithms in Search, Optimization and Machine Learning. - Reading, MA: Addison-Wesley Professional, 1989. - 412 p.

From molecular to modular cell biology / Hartwell L.H., Hopfield J.J., Leibler S., Murray A.W. // Nature. - L., 1999. - Vol. 402(6761 Suppl). - P. 47-52.

Heylighen F., Chielens K. Evolution of Culture, Memetics / Meyers B., ed. // Encyclopedia of Complexity and Systems Science. - N.Y.: Springer, 2009. - P. 3205-3220.

Holland J.H. Adaptation in Natural and Artificial Systems. - Michigan: Univ. of Michigan press, 1975. - 217 p.

HurleyM.M., DennettD.C., Adams R.B. Inside Jokes: Using Humor to Reverse-Engineer the Mind. - Cambridge: MIT Press, 2011. - 359 p.

Iliopoulos D., Adami C., Szor P. Darwin inside the machines: Malware evolution and the consequences for computer security. - Mode of access: https://arxiv.org/abs/1111.2503

Kameya Y., Prayoonsri Ch. Pattern-based preservation of building blocks in genetic algorithms // IEEE Congress on Evolutionary Computation. - Piscataway, NJ, 2011. - P. 2578-2585.

Koza J.R. Genetic Programming: A Paradigm for Genetically Breeding Populations of Computer Programs to Solve Problems. - Stanford University, 1990. - 825 p.

Li Z., Goodman E.D. Exploring Building Blocks through Crossover / Kang L., Cai Z., Yan X., Liu Y. (eds.) // Advances in Computation and Intelligence. ISICA 2008. Lecture Notes in Computer Science. - Berlin; Heidelberg: Springer, 2008. - Vol. 5370. - P. 707-714.

A New Adaptive Crossover Operator for the Preservation of Useful Schemata / Li F., Liu Q.H., Min F., Yang G.W. // International Conference on Machine Learning and Cybernetics (ICMLC 2005). - N.Y.: IEEE, 2006. - P. 507-516.

Lutz S., Benkovk S.J. Protein Engineering by Evolutionary Methods // Protein Science Encyclopedia. - Hoboken, NJ, 2008. - P. 177-213.

Lutz S. Beyond directed evolution semi-rational protein engineering and design // Curr Opin Bio-technol. - L., 2010. - Vol. 21. - P. 734-43.

Mangan S., Alon U. Structure and function of the feed-forward loop network motif // Proc. Natl. Acad. Sci. U.S.A. - Washington, D.C., 2003. - Vol. 100 (21). - P. 11980-11985.

Mangan S., Zaslaver A., Alon U. The coherent feedforward loop serves as a sign-sensitive delay element in transcription networks // J. Mol. Biol. - Amsterdam, 2003. - Vol. 334 (2). - P. 197-204.

Marsh J.A., Teichmann S.A. How do proteins gain new domains? // Genome Biology. - L., 2010. -Vol. 11. - P. 126.

McPhee N.F., Ohs B., Hutchison T. Semantic Building Blocks in Genetic Programming / O'Neill M. et al. (eds.) // Genetic Programming. EuroGP 2008. Lecture Notes in Computer Science. -Berlin; Heidelberg: Springer, 2008. - Vol. 4971. - P. 134-145.

MitchellM. An Introduction to Genetic Algorithms. - Cambridge, MA: MIT Press, 1996. - 211 p.

Nelson G. Natural language, semantic analysis, and interactive fiction. - 2005. - Mode of access: http://inform7.com/learn/documents/WhitePaper.pdf

Onwubolu G.C., Babu B.V. New Optimization Techniques in Engineering. - Berlin; Heidelberg: Springer-Verlag, 2004. - 714 p.

Patthy L. Intron-dependent evolution: preferred types of exons and introns // FEBS Lett. - N.Y., NY, 1987. - Vol. 214(1). - P. 1-7.

255

A.B. Cnupoe

Rauchfuss H. Chemical Evolution and the Origin of Life. - Berlin; Heidelberg: Springer Verlag, 2008. - 338 p.

SchillingM.A. Modularity in multiple disciplines / Garud R., Langlois R., Kumaraswamy A. (eds.) // Managing in the Modular Age: Architectures, Networks and Organizations. - Oxford (England): Blackwell Publishers, 2002. - P. 203-214.

Sims K. Evolving 3 D Morphology and Behavior by Competition // Artificial Life IV Proceedings / ed.by Brooks & Maes. - Cambridge, Massachusetts: MIT Press, 1994 a. - P. 28-39.

Sims K. Evolving Virtual Creatures. Computer Graphics // 21 st International ACM Conference on Computer Graphics and Interactive Techniques. Orlando, FL (Siggraph '94). - N.Y., NY: ACM, 1994 b. - P. 15-22.

Skinner C., Riddle P. Expected Rates of Building Block Discovery, Retention and Combination Under 1-Point and Uniform Crossover // Parallel Problem Solving from Nature (PPSN 2004). -Berlin; Heidelberg: Springer, 2004. - P. 121-130.

Sudholt D. How crossover speeds up building-block assembly in genetic algorithms // Evol. Comput. - Cambridge, Mass., 2017. - Vol. 25, Issue 2. - P. 237-274.

TakagiH., IbaH. Interactive evolutionary computation // New Gener Comput. - N.Y., 2005. -Vol. 23. - P. 113-114.

Umbarkar A.J., Sheth P.D. Crossover Operators In Genetic Algorithms: A Review // ICTACT Journal on Soft Computing. - Chennai, 2015. - Vol. 06(01). - P. 1083-1092.

The horizons of evolutionary robotics / Vargas P.A., Di Paolo E.A., Harvey I., Husbands P. -Cambrige: MIT Press, 2014. - 303 p.

Protein building blocks preserved by recombination / Voigt C.A., Martinez C., Wang Z.G., Mayo S.L., Arnold F.H. // Nat Struct Biol. - N.Y., NY, 2002. - Vol. 9. - P. 553-558.

Zaritsky A., Sipper M. The preservation of favoured building blocks in the struggle for fitness: The puzzle algorithm // IEEE Transactions on Evolutionary Computation. - N.Y., 2004. -Vol. 8(5). - P. 443-455.

256