Education "D. Mendeleyev University of Chemical Technology of Russia", Novomoskovsk branch,
Leu Huy Duc, postgraduate, huyducvn ht@mail.ru, Russia, Novomoskovsk, Federal State Educational Establishment of Higher Professional Education "D. Mendeleyev University of Chemical Technology of Russia", Novomoskovsk branch
УДК 519.7
БЫСТРЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ДЛЯ ПРИЛОЖЕНИЙ РЕАЛЬНОГО ВРЕМЕНИ
Х. Аль-Сабул Али Хусейн, А.Н. Грачев
Предлагается методика разработки генетических алгоритмов, которая сокращает общее время их сходимости. Результаты моделирования показывают, что предложенный подход значительно уменьшает количество поколений, необходимых генетическому алгоритму для нахождения приемлемого решения, в результате чего сокращается общее время оптимизации. Это дает возможность использовать данные алгоритмы в приложениях реального времени, в том числе для идентификации стационарных и нестационарных динамических объектов.
Ключевые слова: генетические алгоритмы, приложения реального времени, идентификация динамических объектов.
Генетические алгоритмы (ГА) в настоящее время представляют собой перспективное и динамично развивающееся направление интеллектуальной обработки данных, связанное с решением задач поиска и оптимизации [1 - 5]. Область применения генетических алгоритмов достаточно обширна. Они успешно используются для решения ряда больших и экономически значимых задач в бизнесе и инженерных разработках. Наряду с другими методами эволюционных вычислений генетические алгоритмы обычно используются для оценки значений непрерывных параметров моделей большой размерности, для решения комбинаторных задач, для оптимизации моделей, включающих одновременно непрерывные и дискретные параметры. Другая область их применения - использование в системах извлечения новых знаний из больших баз данных, создание и обучение стохастических сетей, обучение нейронных сетей, оценка параметров в задачах многомерного статистического анализа, получение исходных данных для работы других алгоритмов поиска и оптимизации.
В данной работе предлагается быстрый ГА, в котором за счет наличия специальной элитной популяции удается значительно сократить время
поиска приемлемых решений на отдельных шагах измерений по сравнению с классическим ГА, что делает этот алгоритм удобным для использования в задачах реального времени, поскольку в этом случае освобождается значительная часть интервала времени между текущими измерениями, которая может быть использована для выполнения других задач.
Предлагаемый генетический алгоритм, как показано на рис. 1, включает в себя следующие основные шаги.
1. Задание ключевых параметров ГА.
Изначально задаются важнейшие параметры ГА: КШО - количество особей (хромосом) в каждом поколении; MAXELIT - максимальное количество элитных особей (хромосом) в элитной популяции; MAXGEN -максимальное количество поколений на каждом шаге оптимизации; е -заданная точность оптимизации целевой функции (некоторое малое положительное число); Р - вероятность кроссовера; р - вероятность мутации.
2. Инициализация первого поколения.
Инициализация первого поколения, состоящего из количества особей, равного параметру NIND, производится путем случайного выбора генов - действительных чисел из некоторой области, которой должен принадлежать соответствующий элемент искомого решения (хромосомы)
в <вк <б;,уке[1,2,....М1, (1)
где М - количество элементов (генов) в решении (хромосоме); Б[ и Бик -
нижняя и верхняя границы к -го элемента решения.
Заметим, что подобная схема кодирования с использованием действительных чисел экономит память и повышает скорость обработки данных [1, 3 - 6].
3. Новые измерения.
Новые измерения проводятся для уточнения текущих значений целевой функции (функции приспособленности) в задачах реального времени.
4. Оценка приспособленности каждой особи в поколении.
Для каждой особи в текущем поколении по заранее заданным формулам рассчитывается функция приспособленности. Например, в задачах идентификации динамических объектов это может быть квадрат ошибки предсказания выхода в текущий момент времени.
5. Добавление лучшей особи в элитную популяцию.
Элитная популяция, имеющая размер, равный параметру MAXELIT, в ходе работы алгоритма постоянно формируется из особей с наилучшими функциями приспособленности. Изначально, т.е. на самом первом шаге работы алгоритма, элитная популяция может быть полностью заполнена, например, особью, имеющей наилучшую функцию приспособленности в самом первом поколении.
Рис. 1. Схема быстрого генетического алгоритма
Далее, если у особи из текущей популяции, имеющей наилучшую функцию приспособленности, эта функция оказывается лучше, чем текущие функции приспособленности одной или нескольких особей из элитной популяции, то эта особь заменяет собой особь, имеющую наихудшую текущую функцию приспособленности в элитной популяции.
6. Проверка критерия завершения оптимизации по элитной популяции.
Решение о завершении процедуры поиска приемлемого решения на текущем шаге измерений алгоритма и выводе полученных результатов принимается, если в элитной популяции находится хотя бы одна такая особь, функция приспособленности которой оказывается лучше, чем заданная точность оптимизации (s). Если таких особей оказывается несколько, то, естественно, выбирается особь с наилучшей функцией приспособленности. В противном случае принимается решение о выполнении основных этапов классического ГА.
7. Классический ГА (внутренний цикл на рис. 1).
Классический ГА, как известно, состоит из следующих основных
этапов [1 - 6]: селекции (выбора) родителей - особей наиболее подходящих для участия в создании нового поколения (рекомбинации); кроссовера -обмена генами в ходе рекомбинации (выполняемого с вероятностью P); мутации - процесса случайного изменения отдельных генов, который служит для сохранения генетического разнообразия особей в популяции на протяжении всего времени работы ГА (выполняемой с вероятностью p ); формирования нового поколения и оценивания для входящих в него особей их функций приспособленности. Наконец, для каждого нового сформированного поколения проверяется критерий окончания процесса оптимизации. Данный критерий считается выполненным в двух случаях: если хотя бы у одной из особей текущего поколения функция приспособленности оказывается лучше, чем заданная точность оптимизации (s), т.е. происходит так называемое схождение (convergence) популяции ГА [3, 6]; или если оказывается достигнуто максимальное количество поколений на данном шаге оптимизации (MAXGEN). При таком подходе в принципе исключается зацикливание процедуры оптимизации, и обязательно происходит выход из ГА.
8. Выбор наилучшей особи из текущей или элитной популяций и вывод полученного результата.
На этом шаге из текущей или элитной популяции выбирается особь с наилучшей функцией приспособленности, которая и принимается за результат решения задачи на текущем шаге измерений алгоритма реального времени.
Таким образом, данный алгоритм в реальном времени на каждом шаге измерений способен обеспечить некоторый приемлемый результат,
который, чаще всего, будет удовлетворять заранее заданному требованию по точности (s), и лишь в относительно редких случаях, когда и в элитной популяции, и во всех (MAXGEN) поколениях классического ГА не получится найти подходящую особь, это требование будет нарушаться. Кроме того, из схемы алгоритма (см. рис. 1) следует, что в тех случаях, когда удается найти приемлемое решение в элитной популяции, процедура классического ГА не выполняется, а это приводит к освобождению значительной части промежутка времени между соседними измерениями для выполнения других параллельных задач реального времени.
В качестве примера применения предлагаемого алгоритма рассмотрим задачу идентификации линейной динамической стохастической системы вида
y(k +1) = ay (k) + bu (k) + w(k), (2)
где k=0, 1,... - дискретное время; u(k)=sin(k/6) - известное входное воздействие; y(k)- измеряемый выход (отклик системы); a и b - неизвестные априори коэффициенты, подлежащие идентификации; w(k) - белая гаус-совская последовательность с нулевым средним и некоторой конечной дисперсией.
Предположим также, что заданы истинные значения параметров: a = -0.3;b = 0.4 и начальные значения переменных: y(0) = 0;u(0) = 0.
Зададимся следующими основными параметрами ГА: NIND=20; MAXELIT=20; MAXGEN=100; s = 105; p = 0.9; P = 0.04.
5 5 5 c 5 m
В качестве функции приспособленности каждой хромосомы будем рассматривать квадратичную функцию следующего вида:
вг = (y(k) - y, (k))2, i = 1,2,.. NIND, (3)
где i - номер хромосомы в поколении; y (k) - выход системы, предсказанный по текущей модели для каждой хромосомы:
~ (k +1) = a.y(k) + bu(k), (4)
где a и b - текущие оценки идентифицируемых параметров (гены соответствующих хромосом).
Согласно предлагаемому алгоритму сгенерируем случайным образом первое поколение из NIND=20 хромосом, a. при этом выбираем, как
случайное число, равномерно распределенное в диапазоне [-1...0], а b- в диапазоне [0.1] в соответствии с правилом (1). Далее согласно предлагаемому алгоритму заполняем элитную популяцию хромосомами с наилучшей функцией приспособленности, вычисленной с использованием выражений (3) и (4), после чего проверяем критерий завершения оптимизации по элитной популяции. Если этот критерий не выполняется, то переходим к реализации классического ГА (см. рис. 1).
Основные этапы работы классического ГА на одном из первых шагов измерений представлены в таблице. В качестве алгоритма селекции поколения родителей был использован метод рулетки, основанный на линейном ранжировании [7]. При таком подходе все особи текущего поколения сначала упорядочиваются в соответствии со значением своей функции приспособленности путем присвоения им специального рейтинга, который рассчитывается по формуле [7]
Яапк = 2 - 8Р + 2.0 • (5Р -1)
1
М1МО -1
I = 1,2,... МАО,
где I - номер особи в упорядоченном относительно функции приспособленности поколении (особь с наихудшей функцией приспособленности имеет номер 1=1, а с наилучшей - I=М1МО); 8Р - так называемый параметр «селективного давления», выбираемый в диапазоне 1,0 < 8Р < 2,0 [7]. В данном случае выберем этот параметр равным 2, тогда особь с наихудшей функцией приспособленности будет иметь рейтинг, равный 0, а с наилучшей - равный 2 (см. третий столбец таблицы). Далее родительские особи выбираются из текущего поколения путем «запуска рулетки» М1МО раз. Однако вероятность выбора соответствующей особи в этом случае будет пропорциональна рассчитанному ранее рейтингу, а не абсолютному значению функции приспособленности, как в классическом методе рулетки [7].
Основные этапы работы классического ГА
Текущее поколение
Функция приспособленности е
Рейтинг
Выбор поколения родителей
~ ь
Кроссовер
~ Ь
Новое поколение после мутации и переметив ания
Функция приспо-собленно-
сти е
-0.2276 -0.9043 -0.8554 -0.9058 -0.3963 -0.7527 -0.2566 -0.6633 -0.2396 -0.1686 -0.2503 -0.6774 -0.1943 -0.5713 -0.4896 -0.8567 -0.0748 -0.5397 -0.7361 -0.2044
0.5943 0.1557 0.6367 0.5489 0.8742 0.2065 0.1317 0.7183 0.2833 0.6913 0.1931 0.6044 0.6337 0.5204 0.3073 0.3407 0.0641 0.6694 0.6929 0.3948
1.24е-2 6.38е-3 5.99е-3 2.37е-3 2.40е-2 4.00е-3 7.70е-3 1.08е-2 1.45е-3 9.08е-3 4.58е-3 4.47е-3 5.85е-3 1.55е-3 9.18е-4 3.76е-4 1.20е-2 7.77е-3 9.18е-3 2.82е-5
0.1052 0.8421 0.9473 1.473 0
1.368 0.7368 0.3157 1.684 0.5263 1.157 1.263 1.052 1.578 1.789 1.894 0.2105 0.6315 0.421 2.000
-0.6774 -0.6774 -0.9043 -0.2396 -0.2396 -0.2044 -0.2566 -0.6633 -0.2396 -0.7527 -0.5397 -0.5397 -0.1943 -0.0748 -0.1943 -0.6774 -0.5713 -0.8567 -0.8567 -0.2503
0.6044 0. 6044 0.1557 0.2833 0.2833 0.3948 0.1317 0.7183 0.2833 0.2065 0.6694 0.6694 0.6337 0.0641 0.6337 0.6044 0.5204 0.3407 0.3407 0.1931
-0.6774 -0.6774 -0.2396 -0.9043 -0.2396 -0.2044 -0.6633 -0.2566 -0.2396 -0.7527 -0.5397 -0.5397 -0.1943 -0.0748 -0.1943 -0.6774 -0.5713 -0.8567 -0.8567 -0.2503
0.6044 0.6044 0.1557 0.2833 0.3948 0.2833 0.1317 0.7183 0.2833 0.2065 0.6694 0.6694 0.0641 0.6337 0.6044 0.6337 0.3407 0.5204 0.1931 0.3407
-0.1943 -0.2396 -0.6774 -0.5713 -0.2566 -0.1943 -0.2044 -0.0748 -0.8567 -0.7527 -0.9043 -0.2396 -0.5397 -0.6774 -0.5397 -0.2396 -0.6633 -0.8567 -0.2503 -0.6774
0.0641 0.2833 0.6044 0.3407 0.7183 0.6044 0.2833 0.6337 0.5204 0.2065 0.2833 0.2182 0.6694 0.6337 0.6694 0.3948 0.1317 0.1931 0.3407 0.6044
0.0121
0.0015
0.0045
3.7338е-4
0.0109
0.0045
0.0015
0.0059
0.0016
0.004
0.0015
0.0035
0.0078
0.0059
0.0078
2.6291е-6
0.0077
0.0046
3.7338е-4
0.0045
Далее с вероятностью Р производится кроссовер по принципу «дискретной рекомбинации» [6], т.е. обмен соответствующими хромосомами поочередно между двумя расположенными по соседству родитель-
скими особями. Наконец, последним шагом ГА является мутация, производимая с вероятностью рт классическим для хромосом в виде наборов вещественных чисел способом [3 - 6], с дальнейшим случайным перемешиванием особей в новом поколении.
На рис. 2 показаны функция отклика исследуемой линейной динамической стохастической системы (2) и ее предсказание на основе текущей модели вида (4), полученные в процессе имитационного моделирования с использованием предлагаемого ГА.
_____,1- .1 Ьг.1 ¡1___1______1._______ ¡1 1-й^ЗрИт ¡/11— "Б|П1|Е[1
---/. .....
Л....1......
! Ч 1 1
и т а я т я а т
Рис. 2. Функция отклика исследуемой системы и ее оценка
На рис. 3 представлены результаты идентификации параметров а и Ь линейной динамической стохастической системы (2) с использованием предлагаемого ГА. Оценки параметров сходятся к истинным значениям после обработки примерно 60 измерений.
Рис. 3. Результаты идентификации параметров а и Ь
На рис. 4 показаны процессы идентификации линейной динамической стохастической системы (2) с использованием предлагаемого и классического генетических алгоритмов.
* U !
л. 4s t ...Ti.j — f..... 24 i ...... г ! ( ! :
i : -T"p"Y:....." t : *
—ti...... ......II...... ! в j t M......If-
I * V ......,......1 ( — : »
1 ^ ' to ......1......"т - ......:......:"4" ... U-AliHl&iSlim. L..... "New flgoiilm it rtifcsiin .CMrtifciim !
а б
Рис. 4. Процесс идентификации системы: а - предлагаемым ГА; б - классическим ГА
Таким образом, предлагаемый быстрый ГА, как и предполагалось, с одной стороны, обеспечивает приемлемое качество идентификации неизвестных параметров, как показано на рис. 3. С другой стороны, за счет наличия специальной элитной популяции он позволяет существенно сократить время поиска приемлемого решения при обработке каждого измерения, включая классическую генетическую процедуру оптимизации функции потерь лишь в ситуациях, когда ее значение превышает некоторый допустимый пороговый уровень, что отчетливо следует из рис. 4. Очевидно также, что такой алгоритм сохранит свою работоспособность даже в случае нестационарности параметров системы.
Список литературы
1. Michalewicz Z. Genetic Algorithms + Data Structures = Evolution Programs. Berlin: Springer-Verlag, 1996. 387 p.
2. Koza R.J. Genetic Programming. On the programming of computers by means of natural selection. Cambridge Massachusetts: The MIT Press., 1998. 609 p.
3. Haupt R.L., Haupt S.E. Practical Genetic Algorithms. Hoboken, New Jersey: John Wiley & Sons, Inc., 2004. 253 p.
4. Mitchell M. An Introduction to Genetic Algorithms. Cambridge Massachusetts: The MIT Press, 1998. 158 p.
5. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы / пер. с пол. И.Д. Рудинского. М.: Горячая линия - Телеком, 2006. 452 с.
6. Панченко Т.В. Генетические алгоритмы: учебно-методическое пособие / под ред. Ю.Ю. Тарасевича. Астрахань: ИД «Астраханский университет», 2007. 87 с.
7. Razali N.M., Geraghty J. Genetic algorithm performance with different selection strategies in solving TSP // Proceedings of the World Congress on Engineering. Vol. II, London, 2011. 6 p.
Аль-Сабул Али Хуссейн Хасан, аспирант, ali hussen hassan@ yahoo. com, Ирак, Дих-Кар, Дих-Карский Университет
Грачев Александр Николаевич, канд. техн. наук, доц., ga150161@mail.ru, Россия, Тула, Тульский государственный университет
FAST ONLINE GENETIC ALGORITHM APPROACH
A fast online genetic algorithm approach that reduces the time of convergence is proposed. The results of simulation show that the proposed algorithm highly reduces the number of generation required to find the global optimum (or sub-optimum) solution, as a result reduces the total optimization time, which enables the proposed algorithm in real time applications, e.g. for dynamical system identification.
Key words: genetic algorithms, fast online genetic algorithm, dynamical system identification.
Al-Sabool Ali Hussen Hasan, postgraduate, ali hussen hassan@yahoo.com, Iraq, ThiQar, ThiQar University,
Grachev Aleksandr Nikolaevich, candidate of technical science, docent, ga150161@,mail.ru, Russia, Tula, Tula State University