Обеспечение вычислительной эффективности генетического поиска

УДК 519.718

DOI 10.21685/2307-4205-2019-3-12

А. И. Имамутдинов

ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ЭФФЕКТИВНОСТИ ГЕНЕТИЧЕСКОГО ПОИСКА

A. I. Imamutdinov

PROVIDING COMPUTATIONAL EFFICIENCY OF GENETIC SEARCH

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

Ключевые слова: оптимизация, модели эволюционного поиска, генетические операторы, маскирующие функции.

Abstract. Background. Evaluation of reliability and quality indicators of multiparameter dependencies is possible by means of evolutionary-genetic calculations that do not require data on the internal structure of the connections and dependencies of the analyzed objects. Evolutionary methods show high performance, either with the application of specialized types of genetic search, or with effective management of the search in the solution process. Methods. A promising method for increasing the efficiency of optimization models of computations based on evolutionary methods with the universality of the computation model is to preserve arbitrary lengths in the encoding of indestructible information, which places additional demands on the implementation of the main genetic operators. Results. Additional requirements can be reduced to the properties of preserving templates with high rates regardless of their length, as well as the ability to highlight, determine their properties, note the suitability. The implementation of such an extension in the search management is proposed to implement the introduction of masks and mask control mechanism. Conclusions. The proposed approach to improving the efficiency of genetic search can be implemented using modified genetic operations based on masking and a fixed set of rules to significantly increase computational costs.

Keywords: optimization, evolutionary search models, genetic operators, masking functions.

Введение

Генетические методы поиска - группа методов вычислений, основанных на аналогиях с механизмами биологической эволюции, при компьютерной реализации характеризуются простотой и универсальностью в применении к достаточно широкому кругу задач, в которых возможности традиционных методов вычислений по разным причинам могут быть ограничены. Показателем востребованности одной из разновидностей методов эволюционных вычислений - генетических алгоритмов (ГА) является их включение как одного из возможных вариантов оптимизационного поиска в стандартный пакет MS OFFICE, конкретно, в инструмент ПОИСК РЕШЕНИЯ Excel.

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

© Имамутдинов А. И., 2019 100

RELIABILITY AND QUALITY OF COMPLEX SYSTEMS

подходе реализация эволюционно-генетических вычислений включает следующую последовательность шагов/этапов генетических вычислений [1]:

- определение/выбор общего критерия эволюционного процесса для данной реализации;

- определение/выбор частных параметров эволюционных операторов, определяющих в основном временные показатели и условия сходимости процесса;

- формирование исходной популяции - задание по сути начального приближения к решению;

- оценку полученной популяции;

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

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

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

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

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

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

Оператор селекции (репродукция) реализует некоторый критерий отбора и определяется целью поиска, т.е. задается либо лицом, осуществляющим поиск, либо типом задачи.

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

Для множества всех двоичных строк длины Ь проводится поиск строки Х. Дано: XI и Х2 -строки длины Ь; р - множество номеров позиций, для которых Х1 и Х2 различны; р = {11 < I < Ь

и Х1[/] Ф Х2[/]}, £(2Р22) - количество позиций, в которых различаются строки 21 и 22.

НАДЕЖНОСТЬ И КАЧЕСТВО СЛОЖНЫХ СИСТЕМ № 3 (27), 2019

Конечная цель ГА - максимизация оценочной функции F ( она же - функция приспособленности), - т.е. найти x е X , такой, что F(x) = max{F(z) | z e X}.

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

Она образует строку со следующими свойствами:

- в позициях, не вошедших в p, строка совпадает с X1 и X2;

- половина позиций, вошедших в p, в среднем, совпадает с позициями в X1, другая половина позиций из p, в среднем совпадает с позициями в X2.

Строгое формальное описание операции приведено в [1], для наших целей можно отметить только, что вероятность операции между строками с успешным исходом тем выше, чем больше, если во взаимодействующих строках количество позиций совпадения с соответствующими позициями в искомой строке. Задачей управления поиском в таких условиях предполагает ограничение либо полное исключение возможности разрушения высококачественных кодировок. Можно также отметить, что большое количество совпадений значений позиций естественно при формировании строки от общего предка с достаточно благоприятным набором характеристик, что является нормальным для популяции, эволюционирующей в стандартных условиях.

Проблема поиска решения в условиях генетических преобразований имеет и другую сторону, а именно: обеспечение сохранения найденных удачных решений и их фрагментов - строительных блоков. Она состоит в подверженности найденных однажды удачных решений разрушению. Поясним это утверждение. Обозначим H - некоторый шаблон, 8(H) - его длина определения, О(Н) - его порядок. С вероятностью 8(H)/ (l - 1), где l - длина строки, содержащей шаблон, точка кроссовера находится в пределах шаблона. Таким образом, более длинные фрагменты будут разрушаться с большей вероятностью. Подобное нежелательно при кодировании оптимальных в некотором смысле фрагментов генотипа. Исключить в выбранной кодировке наличие стандартных блоков большой размерности может принцип значимых строительных блоков [2, 3].

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

Простейшим способом маскирования в данном случае может быть введение масок как дополнительного множества генов. Управление масками (а следовательно, и направлением поиска) в данном случае проводится за счет механизмов общего процесса, что предполагает простоту реализации, но затрудняет оперативное воздействие на направление поиска.

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

Суть второго подхода состоит в модификации маски после применения операции кроссовера в зависимости от ее результата с точки зрения успеха улучшения потомком существенных характеристик предков. Значение оценки пригодности потомков указывает желательность/нежелательность продолжения поиска в направлении, задаваемом маской, поэтому изменением маски управление процессом осуществляется с учетом текущего состояния.

Маскированный кроссовер (МК). Введем следующие обозначения: S1 и S2 - исходные строки; S3 и S4 - их потомки; М1 и M2 - битовые маски, применяемые соответственно к Si, и S2. Нижний индекс для M указывает позицию бита в строке.

Алгоритм выполнения МК показан на рис. 1.

А: CopyMask (Si , S2 , S3 , S4 ) for i = 1 to L begin

if M2i =1 and Mh =0 Копировать i-й бит из S2 в S3 if M1r =1 and M2i =0 Копировать i-й бит из S1 в S4 end

Рис. 1. Алгоритм выполнения МК

102 RELIABILITY AND QUALITY OF COMPLEX SYSTEMS

Из А следует универсальность МК, поскольку стандартные, такие как одноточечный, равномерный и целый ряд других разновидностей операторов являются его частными случаями: одноточечный кроссовер реализуется через МК установкой первых п битов М1 в 1, остальных - в 0, М2 формируется как дополнение М1; равномерный кроссовер реализуется абсолютно аналогично, при этом ^й бит М1 выбирается случайно.

Для шаблонов, идентифицированных масками, МК пытается обеспечить сохранение доминирующих признаков. Рассмотрим формирование при одинаковых соответствующих разрядах масок М1 и Ы2 для и 52, разряды предка S1 копируются в потомка S3.

Маски. МК сохраняет шаблон £1 в £3, если значение разряда маски соответствует разряду шаблона с высокой оценкой. В не зафиксированных позициях £1 МК добавляет некоторые шаблоны из £2. Формирование £4 проводится аналогично. Смещение поиска для последующих эпох ГА обеспечивается изменением масок правилами управления разрядами масок. Они применяются к исходным строкам - предкам и управляют последующими установками маски. При этом устраняется проблема, возникающая при прямом управлении кроссовером масками, приводящими к феномену появления иерархии метамасок. Правила образуют некоторое множество, а выбор конкретного правила опрелеляется соотношением результата проведенной операции по отношению к исходным параметрам генотипов предшественников.

Выделив три градации результата потомка - Удачный (У), Средний (С), Плохой (П), ограничим множество правил формирования и распространения масок 6 вариантами МЖ (рис. 2).

Потомок 1 Потомок 2 Правило

удачный Удачный MF„

плохой Плохой MFnn

средний Средний MFcc

удачный Плохой MFyn

удачный Средний MFyc

средний Плохой MFcn

Рис. 2. Варианты масок ЫЕ

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

Приведем пример правила распространения масок.

Обозначим через Р1 и Р2 - предков, РЫ1 и РЫ2 - соответствующие им маски, С1 и С2 - потомки, СЫ1 и СЫ2 - их маски. Значение позиции # выбирается случайно с одинаковой вероятностью.

П1: MFxx - оба потомка имеют достаточно качественные показатели.

Развитие поиска исключительно успешное и отражено масками на рис. 3 и ниже. Маски объединяются по ОЯ для сохранения вклада обоих предков.

Рис. 3. Развитие поиска

НАДЕЖНОСТЬ И КАЧЕСТВО СЛОЖНЫХ СИСТЕМ № 3 (27), 2019

CM1: PM1 OR PM2. Если в какой-либо позиции остались 0, ей присваивается #. CM2: Аналогично CM1.

PM1: Без изменений, кроме вызванных мутацией PM1. PM2: Аналогично PM1.

Правила масок явно сохраняют информацию о направлении поиска, поэтому МК позволяет одновременно обеспечить как накопление, использование информации о направлении поиска, так и независимость от определяющей длины шаблонов.

В заключение отметим одну особенность МК. Операции генетического преобразования, в частности кроссовер, не исчерпывают всех этапов эволюционного процесса. К критическим этапам необходимо отнести в том числе и селекцию. Стандартная процедура селекции предполагает полное замещение сгенерированной популяцией потомков предшествовавшей исходной популяции предков. Такой механизм препятствует возможности ГА сойтись к одному оптимальному решению вследствие тенденции к разрушению лучших особей при поиске в перспективных направлениях. Для нормализации процесса можно модифицировать процедуры стандартной селекции заменой ее на элитарную, а именно, N потомков совместно с предками формируют популяции из 2N особей, из которых для дальнейшей эволюции отбирается N лучших потомков.

Библиографический список

1. Слепцов, Н. В. Эффективное управление генетическим поиском с помощью операций кроссовера / Н. В. Слепцов // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2009. -№ 3. - С. 32-46.

2. Holland, J. H. Building Blocks, Cohort Genetic Algorithms, and Hyperplane-Defined Functions / J. H. Holland // Evolutionary Computation. - 2000. - № 4 (8). - P. 373-391.

3. Емельянов, В. В. Теория и практика эволюционного моделирования / В. В. Емельянов, В. В. Курейчик, В. М. Курейчик. - Москва : ФМЛ, 2003.

References

1. Sleptsov N. V. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhnicheskie nauki [University proceedings. Volga region. Engineering sciences]. 2009, no. 3, pp. 32-46. [In Russian]

2. Holland J. H. Evolutionary Computation. 2000, no. 4 (8), pp. 373-391.

3. Emel'yanov V. V., Kureychik V. V., Kureychik V. M. Teoriya i praktika evolyutsionnogo modelirovaniya [Theory and practice of evolutionary modeling]. Moscow: FML, 2003. [In Russian]

Имамутдинов Антон Игоревич

аспирант,

Пензенский государственный университет (440026, Россия, г. Пенза, ул. Красная, 40) E-mail: antonim94@yandex.ru

Imamutdinov Anton Igorevich

postgraduate student,

Penza State University

Образец цитирования:

Имамутдинов, А. И. Обеспечение вычислительной эффективности генетического поиска / А. И. Имамутдинов // Надежность и качество сложных систем. — 2019. — № 3 (27). — С. 100—104. — БО! 10.21685/2307-4205-2019-3-12.