АДАПТИВНЫЙ ГЕНЕТИЧЕСКИЙ Алгоритм ДЛЯ

advertisement
АДАПТИВНЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ДЛЯ ДИНАМИЧЕСКОЙ
ИДЕНТИФИКАЦИИ СИСТЕМЫ
Аль-Сабул Али Хуссейн Хасан
Аспирант каф. АТМ, Тульский государственный университет
Научный руководитель – Лукашин Олег Вячеславович
В статье предлагается методика разработки генетических алгоритмов,
которая сокращает общее время их сходимости. Результаты моделирования
показывают, что предложенный подход значительно уменьшает количество
поколений, необходимых генетическому алгоритму для нахождения приемлемого
решения, в результате чего сокращается общее время оптимизации. Это дает
возможность использовать данные алгоритмы в пространстве состояний
динамической системы идентификации, которая включает в себя идентификацию
неизвестных параметров.
Ключевые слова: генетические алгоритмы,
динамические
идентификации, идентификации пространства состояния системы.
системы
Процесс получения (синтеза) математического описания объекта на основе
экспериментально полученных сигналов на его входе и выходе называется
идентификацией объекта. Идентификация может быть структурной, когда ищется
структура математического описания объекта, или параметрической, когда для
известной структуры находят величины параметров, входящих в уравнения модели.
Построение математической модели реальной динамической системы возможно на
основе результатов либо пассивного, либо активного эксперимента. Методы пассивной
идентификации предполагают обработку информации, собранной путем наблюдения за
входом и выходом объекта. Активные методы идентификации предполагают подачу на
вход исследуемого объекта пробного тестирующего сигнала, синтез которого
осуществляется на основе теории оптимального эксперимента, и обработку реализаций
"входа-выхода".
Генетические алгоритмы (ГА) в настоящее время представляют собой
перспективное и динамично развивающееся направление интеллектуальной обработки
данных, связанное с решением задач поиска и оптимизации [2 - 3]. Область применения
генетических алгоритмов достаточно обширна. Они успешно используются для
решения ряда больших и экономически значимых задач в бизнесе и инженерных
разработках. Наряду с другими методами эволюционных вычислений генетические
алгоритмы обычно используются для оценки значений непрерывных параметров
моделей большой размерности, для решения комбинаторных задач, для оптимизации
моделей, включающих одновременно непрерывные и дискретные параметры. Другая
область их применения - использование в системах извлечения новых знаний из
больших баз данных, создание и обучение стохастических сетей, обучение нейронных
сетей, оценка параметров в задачах многомерного статистического анализа, получение
исходных данных для работы других алгоритмов поиска и оптимизации.
В данной работе предлагается быстрый ГА, в котором за счет наличия
специальной элитной популяции удается значительно сократить время поиска
приемлемых решений на отдельных шагах измерений, по сравнению с классическим
ГА, что делает этот алгоритм удобным для использования в задачах реального времени.
Поскольку в этом случае освобождается значительная часть интервала времени между
текущими измерениями, она может быть использована для выполнения динамической
идентификации исследуемой системы.
Предлагаемый генетический алгоритм подробно описан в [1].
1
Пример применения алгоритма.
описываемую в пространстве состояний:
x(k  1)  Fx(k )  Gu(k )  w(k )
z (k  1)  Hx (k  1)  v(k ) ,
Рассмотрим
динамическую
систему,
(1)
(2)
где x  R n – вектор состояния, u  U  R p – вектор управления, z  R m – вектор
наблюдения, F  R nn , G  R n p и H  R mn – матрицы состояния, управления и
наблюдения, соответственно, k  1,..., N – дискретное время.
 x1 (k  1)  1
 x (k  1)  
 2
  2
1  x1 (k )   3 

u (k )  w(k )
0  x 2 (k )  0 
(3)
 x (k  1) 
~
z (k  1)  1 0 1
  v(k )
 x2 (k  1)
(4)
Процесс идентификации заключается в применении ГА для поиска лучших
z (k  1)  z (k  1) , где k  0,1,2,..... дискретное время;
хромосом, так что ~
u (k )  sin( 2nf ) – известное входное воздействие f  5 герц и время выборки
T  0.001 секунды, n  kT ; z (k ) – измеряемый выход;  – коэффициенты,
подлежащие идентификации. Шум векторов v (k ) и w(k ) с нулевым средним и
0.1 0 
E[v(i )vT ( j )]   ij Q(i ); Q  
,
 0 10 
0.1 0 
E[ w(i ) wT ( j )]   ij R(i ); R  
;
 0 0.1
  символ
Кронекера, E[v(i) wT ( j )]  0 .
Предположим также, что заданы истинные значения параметров:
1  1.988;  2  0.99; 1  2.238 и начальные значения переменных: z (0)  0; u (0)  0 .
Зададимся следующими основными параметрами ГА: NIND=20; MAXELIT=20;
5
MAXGEN=100;   10 ; Pc  0.9 ; Pm  0.04 .
В качестве функции приспособленности каждой хромосомы будем рассматривать
квадратичную функцию следующего вида:
(5)
ei  ( z ( k )  ~
z i (k )) 2 , i  1,2,...NIND;
где i – номер хромосомы в поколении;
Согласно предлагаемому алгоритму сгенерируем случайным образом первое
~
поколение NIND=20
хромосом, 1 при этом выбираем как случайное число,
~
~
равномерно распределенное в диапазоне [0,3],  2 – в даипозоне [-2,0], а 3 – в
даипозоне [0,4], в соответствии с правилом (1). Далее, согласно предлагаемому
алгоритму, заполняем элитную популяцию хромосомами с наилучшей функцией
приспособленности, вычисленной с использованием выражений (5), после чего
проверяем критерий завершения оптимизации по элитной популяции. Если этот
критерий не выполняется, то переходим к реализации классического ГА.
В качестве алгоритма селекции поколения родителей был использован метод
рулетки, основанный на линейном ранжировании [6]. При таком подходе все особи
текущего поколения сначала упорядочиваются в соответствии со значением своей
функции приспособленности путем присвоения им специального рейтинга, который
рассчитывается по формуле [6]:
i 1
(6)
Rank i  2  SP  2.0  ( SP  1)
; i  1,2,....NIND,
NIND  1
где i – номер особи в упорядоченном относительно функции приспособленности
поколении (особь с наихудшей функцией приспособленности имеет номер i=1, а с
наилучшей – i=NIND); SP – так называемый параметр «селективного давления»,
2
выбираемый в диапазоне 1.0  SP  2.0 [6]. В нашем случае выберем этот параметр
равным 2, тогда особь с наихудшей функцией приспособленности будет иметь рейтинг
равный 0, а с наилучшей – равный 2. Далее родительские особи выбираются из
текущего поколения путем «запуска рулетки» NIND раз. Однако, вероятность выбора
соответствующей особи в этом случае будет пропорциональна рассчитанному ранее
рейтингу, а не абсолютному значению функции приспособленности, как в
классическом методе рулетки [6]. Далее с вероятностью Pc производится кроссовер по
принципу «дискретной рекомбинации» [6], т.е. обмен соответствующими хромосомами
поочередно между двумя расположенными по соседству родительскими особями.
Наконец, последним шагом ГА является мутация, производимая с вероятностью Pm
классическим для хромосом в виде наборов вещественных чисел способом [5 - 6], с
дальнейшим случайным перемешиванием особей в новом поколении.
На рис. 1 представлены результаты идентификации параметров F(1,1), F(1,2), и
G(1) линейной динамической пространства состояние системы (1-2) с использованием
предлагаемого ГА. Оценки параметров сходятся к истинным значениям после
обработки примерно на (0.01-0.03) секунде измерений.
(а)
(б)
(в)
Рис. 1. Результаты идентификации параметров
(a) - оценки параметра F(1,1), (б) - оценки параметра F(1,2), (в) - оценки
параметра G(1)
3
Таким образом, предлагаемый быстрый ГА, как и предполагалось, с одной
стороны, обеспечивает приемлемое качество идентификации неизвестных параметров.
С другой стороны, за счет наличия специальной элитной популяции, позволяет
существенно сократить время поиска приемлемого решения при обработке каждого
измерения, включая классическую генетическую процедуру оптимизации функции
потерь в ситуациях, когда ее значение превышает некоторый допустимый пороговый
уровень.
Список литературы
1. Аль-Сабул Али Хусейн Х., Грачев А.Н. Быстрый генетический алгоритм для
приложений реального времени / Известия ТулГУ. Технические науки. Вып. 2., Тула:
Изд-во ТулГУ, 2013. – с. 71-79.
2. Michalewicz Z. Genetic Algorithms + Data Structures = Evolution Programs.
Springer-Verlag, Berlin Heidelberg New York, 1996. - 387 p.
3. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические
алгоритмы и нечеткие системы: Пер. с польск. И.Д. Рудинского. - М.: Горячая линия Телеком, 2006. - 452 c.
4. Haupt R.L., Haupt S.E. Practical Genetic Algorithms. John Wiley & Sons, Inc.,
Hoboken, New Jersey, 2004. - 253 p.
5. Панченко Т.В. Генетические алгоритмы: учебно-методическое пособие / Под
ред. Ю.Ю. Тарасевича. – Астрахань: ИД «Астраханский университет», 2007. – 87 с.
6. Razali N.M., Geraghty J. Genetic Algorithm Performance with Different Selection
Strategies in Solving TSP / Proceedings of the World Congress on Engineering, 2011, Vol. II,
London, UK. – 6 p.
4
Download