Научная статья на тему 'ЭФФЕКТИВНАЯ РЕАЛИЗАЦИЯ СКРЕЩИВАНИЯ В ГЕНЕТИЧЕСКОМ АЛГОРИТМЕ ПСЕВДО-БУЛЕВОЙ ОПТИМИЗАЦИИ'

ЭФФЕКТИВНАЯ РЕАЛИЗАЦИЯ СКРЕЩИВАНИЯ В ГЕНЕТИЧЕСКОМ АЛГОРИТМЕ ПСЕВДО-БУЛЕВОЙ ОПТИМИЗАЦИИ Текст научной статьи по специальности «Математика»

CC BY
4
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
псевдо-булевая оптимизация / генетический алгоритм / псевдослучайные числа / скрещивание / pseudo-boolean optimization / genetic algorithm / pseudo-random numbers / geometric distribution / crossingover

Аннотация научной статьи по математике, автор научной работы — Ф.В. Безгачев, П.В. Галушин

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

EFFICIENT IMPLEMENTATION OF A CROSSINGOVER IN A GENETIC ALGORITHM OF PSEUDO-BOOLEAN OPTIMIZATION

This paper proposes a uniform crossover implementation for a genetic algorithm that outperforms naive implementations. Specialized algorithm for generating random numbers with Bernoulli distribution is used. This implementation allows to reduce time and energy costs of solving problems of complex systems optimization, including those arising in the design of rocket and space technology.

Текст научной работы на тему «ЭФФЕКТИВНАЯ РЕАЛИЗАЦИЯ СКРЕЩИВАНИЯ В ГЕНЕТИЧЕСКОМ АЛГОРИТМЕ ПСЕВДО-БУЛЕВОЙ ОПТИМИЗАЦИИ»

Секция «Математические методы моделирования, управления и анализа данных»

УДК 004.051

ЭФФЕКТИВНАЯ РЕАЛИЗАЦИЯ СКРЕЩИВАНИЯ В ГЕНЕТИЧЕСКОМ АЛГОРИТМЕ ПСЕВДО-БУЛЕВОЙ ОПТИМИЗАЦИИ

1 2* 2 Ф. В. Безгачев ' , П. В. Галушин

1Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31 2Сибирский юридический институт МВД России Российская Федерация, 660131, г. Красноярск, ул. Рокоссовского, 20 *Е-шай: fedos82-82@mail.ru, galushin@gmail.com

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

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

EFFICIENT IMPLEMENTATION OF A CROSSINGOVER IN A GENETIC ALGORITHM

OF PSEUDO-BOOLEAN OPTIMIZATION

F. V. Bezgachev1,2*, P. V. Galushin2

:Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation 2Siberian Law Institute of Ministry of Internal Affairs of the Russian Federation 20, Rokossovsky Str., Krasnoyarsk, 660131, Russian Federation Е-mail: fedos82-82@mail.ru, galushin@gmail.com

This paper proposes a uniform crossover implementation for a genetic algorithm that outperforms naive implementations. Specialized algorithm for generating random numbers with Bernoulli distribution is used. This implementation allows to reduce time and energy costs of solving problems of complex systems optimization, including those arising in the design of rocket and space technology.

Keywords: pseudo-boolean optimization, genetic algorithm, pseudo-random numbers, geometric distribution, crossingover.

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

Актуальные проблемы авиации и космонавтики - 2021. Том 2

Для решения сложных задач оптимизации, как правило, используются стохастические методы. Достаточно широкое распространение получили эволюционные методы оптимизации, например, генетический алгоритм [1], самонастраивающийся генетический алгоритм [2]. Указанные методы оптимизации используют бинарное представление решений, но могут быть использованы и для решения произвольных задач оптимизации за счёт дискретизации (при необходимости) и бинаризации пространства поиска.

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

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

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

1. Порождается целое случайное число R равномерно-распределённое на интервале [0,2L-1]. Соответствующие процедуры реализованы в стандартных библиотеках большинства современных языков программирования.

2. Если R <p-2L, то результат равен единице, иначе - нулю.

Можно показать, что биты двоичного представления целых чисел, равномерно распределённых на указанном интервале, имеют распределение Бернулли с параметром 0,5 [3, с. 39]. Поэтому описанный алгоритм, являясь универсальным, оказывается крайне неэффективным в интересующем нас случае p равно 0,5: для получения одного случайного бита используются L случайных бит.

С аналогичной ситуации мы сталкиваемся при прямолинейной реализации мутации в генетическом алгоритме [4]. Воспользуемся специализированной процедурой для распределения Бернулли с параметром 0,5, описанной в указанной работе.

Описанное выше свойство битов равномерно-распределённых целых чисел можно использовать для более эффективной инициализации битов. Будем каждое случайное число R использовать для получения не одного, а L бит. То есть для получения случайного бита будем брать очередной бит числа R (начиная, например, с самого младшего двоичного разряда), а новое число R будем порождать только после исчерпания всех L битов.

Для подтверждения эффективности описанного метода порождения равномерно распределённых битов в операторе равномерной селекции были проведены численные эксперименты c различным количеством двоичных переменных. Для каждой размерности порождалось 100 000 случайных векторов, а затем производилось их равномерное скрещивание. В одном случае в реализации равномерного скрещивания использовался универсальный метод порождения чисел с распределением Бернулли, а в другом -специализированный для параметра 0,5. Тестовая программа была написана на языке программирования C++17, использовался компилятор GCC [5] версии 7.2.0 с уровнем оптимизации -O2. Для тестирования использовался ПК с процессором AMD Phenom™ X4 955 и 8 ГБ оперативной памяти. В таблице 1 приведено время (в миллисекундах), которое заняло выполнение тестовой программы.

Секция ееМатематические методы моделирования, управления и анализе да н н ы х »>

Время выполнения скрещивания (миллисекунды)

Таблица 1

Количество бит 20 30 40 50 60 70 80 90 100

Общий метод 28 46 53 64 84 110 110 116 122

Специализированный метод для p=0,5 10 15 17 10 31 31 36 47 46

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

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

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

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

1. Goldberg, D. E. Genetic algorithms in search, optimization, and machine learning. Reading, MA: Addison-Wesley, 1989.

2. Semenkin E., Semenkina M. Stochastic Models and Optimization Algorithms for Decision Support in Spacecraft Control Systems Preliminary Design. Informatics in Control, Automation and Robotics, Lecture Notes in Electrical Engineering, 2014, Vol. 283, P. 51-65.

3. Булинский А.В., Ширяев А.Н. Теория случайных процессов. - M. : ФИЗМАТЛИТ, 2003.

4. Безгачев Ф.В., Галушин П.В., Рудакова Е.Н. Эффективная реализация инициализации и мутации в генетическом алгоритме псевдо-булевой оптимизации // E-Scio. 2020. № 4 (43). С. 224-231.

5. GCC, the GNU Compiler Collection [Электронный ресурс]. - Режим доступа: gcc.gnu.org (дата обращения: 29.03.2021).

© Безгачев Ф. В., Галушин П. В., 2021

i Надоели баннеры? Вы всегда можете отключить рекламу.