УДК 519.7
М. А. Федорова
ЭВОЛЮЦИОННЫЕ МЕТОДЫ В СИСТЕМАХ С ОБНАРУЖЕНИЕМ И АДАПТАЦИЕЙ
В статье рассмотрены вопросы, связанные с применением эволюционных методов к задаче оптимизации сложных взаимосвязанных систем фильтрации и управления в условиях неопределенности. Необходимость поддержания работоспособности системы в условиях априорной неопределенности и резких, непредвиденных изменений привела к развитию большого числа разнообразных численных методов, сейчас часто называемых «классическими». Но в то же время стандартные численные методы и методы математического программирования иногда не способны гарантировать хорошие результаты: надежное обнаружение изменений и быстродействующую
адаптацию к вновь возникшим условиям при низкой вычислительной стоимости. Эти обстоятельства усиливают интерес к альтернативным решениям, иногда эвристическим; в их числе заимствование механизмов адаптации из природной эволюции. В данной работе рассматривается применение эволюционных методов, в частности генетических алгоритмов, в качестве альтернативы стандартным численным методам и проводится сравнительное исследование классических методов и генетического подхода на основе экспериментальных данных, полученных с помощью специально разработанного программного продукта, в классе стохастических систем с обнаружением и адаптацией.
Введение
В настоящее время во многих областях математической кибернетики, математического моделирования и системного анализа получают развитие неклассические методы, берущие свое происхождение из науки об эволюционном отборе и развитии организмов в биологии, так называемые эволюционные алгоритмы. Эти исследования тесно связаны с другими «неклассическими» направлениями - теорией нейронных сетей, теорией нечетких множеств, теорией «возможностей» и др., которые вместе с методами эволюционного моделирования составляют основу так называемых «мягких вычислений» (soft computing) [1]. Начиная с 70-х гг. прошлого века эти методы в различных формах применялись ко многим научным и техническим проблемам [2-4]. Однако возможности указанных нетрадиционных подходов к построению самоорганизующихся (адаптивных) систем изучены не в полной мере. Этот факт стимулирует проведение сравнительных исследований между классическими и неклассическими методами.
Также необходимо отметить, что решение практических задач обработки экспериментальных данных в ряде технических областей - навигации, радиолокации, связи и телекоммуникациях, в экономике и промышленности, в биологии, медицине и сейсмологии - приводит к применению систем фильтрации и управления с линейными стохастическими моделями. Теория таких систем хорошо разработана для условий, когда все свойства моделей полностью известны. Если же эти свойства неизвестны или подвержены резким, непредвиденным изменениям, адаптивные системы могут дать приемлемое решение, при этом адаптация включает как обнаружение, так и идентификацию изменений в моделях с целью реоптимизации системы. Создание систем,
априорно ориентируемых для работы в условиях неполноты или нечеткости исходной информации, неопределенности внешних возмущений и среды функционирования, мотивирует привлечение, наряду с классическими методами, также и нетрадиционных подходов к управлению с использованием методов и технологий искусственного интеллекта [5].
В данной работе предложено использование эволюционных методов как возможной альтернативы классическим подходам для решения задач обнаружения и идентификации в классе адаптивных стохастических систем с управлением. Также на основе экспериментальных данных, полученных с помощью специально разработанного программного продукта, выполнен сравнительный анализ трех методов: простой стохастической аппроксимации, метода наименьших квадратов и генетического алгоритма.
1. Описание задачи
Пусть дана стохастическая система с управлением. Пусть эта система параметризована вектором 0, где 0 - параметр неопределенности из множества 0 возможных режимов работы системы. Предполагается, что 0 подвергается внезапным изменениям, и каждое такое изменение происходит в неизвестный момент времени гс. Это событие можно представить как переключение 0 с 0о на некоторое другое неизвестное значение 01. Чтобы обратная связь была близка к оптимальной для вновь возникшего режима работы (определенного 01), необходимо соответствующим образом ее перенастроить. Классический подход к решению этой проблемы заключается в использовании калмановской фильтрации. В соответствии с этим подходом оптимальной перенастройкой будет фильтр Калмана (КШ), который оптимально соответствует 01. Таким образом перенастроенная обратная связь (отмеченная индексом 1) должна быть непосредственно подставлена вместо начальной обратной связи (отмеченной индексом 0). Однако указанная выше оптимальная перенастройка не может быть выполнена, поскольку сфера применения калмановской фильтрации ограничена вследствие того, что этот алгоритм предполагает точное знание параметров системы. Кроме того, параметры системы изменяются в моменты времени не известные априори. Поэтому 01 и гс неизвестны и на практике могут быть заменены только их оценками 01 и Тс , полученными от некоторого практически применимого алгоритма оценки параметра для перенастройки. Можно выполнить только субоптимальную перенастройку, при этом фактически необходимо решать две задачи: задачу обнаружения и задачу адаптации.
1. Обнаружение. Необходимо с наименьшими затратами обнаружить каждый момент изменения гс с приемлемой задержкой и требуемой надежностью, т.е. необходим некоторый генератор решений, Бв. В момент «тревоги» 1а генератор подтверждает внезапное изменение и задает 1С := 1а. В качестве возможных решений данной задачи выбраны два подхода: метод полярного коррелометра и метод взвешенных квадратов невязок [6, 7].
2. Адаптация. После того как принято решение о том, что произошло нарушение, необходимо провести адаптацию системы к вновь возникшему режиму с 01. Поскольку из-за априорной неопределенности критерий качества системы недоступен непосредственному измерению, особый интерес для ре-
шения задачи идентификации представляет теория вспомогательного функционала качества (ВФК) [8]. Согласно этой теории формируется эквивалентный, но доступный критерий. При этом предполагаем, что минимум критерия качества достигается только при таких значениях параметров, которые в точности совпадают с фактическими значениями соответствующих параметров объекта и/или оптимального установившегося фильтра. Для сравнения с нетрадиционными подходами к задаче оптимизации в качестве стандартных алгоритмов идентификации на основе метода ВФК выбраны процедура простой стохастической аппроксимации и метод наименьших квадратов. А в качестве неклассических алгоритмов использованы эволюционные методы, в частности генетический алгоритм. К сожалению, пока далеко не все идеи биологической адаптации могут быть формализованы и использованы в технических системах. Однако то, что уже доступно, дает неплохие результаты.
2. Эволюционные методы
Эволюционные методы принадлежат направлению, которое описывает системы по типу вычислительных моделей эволюционных процессов. Усилия, направленные на моделирование эволюции по аналогии с природными системами, в настоящее время можно разделить на две категории. К первой относятся алгоритмы моделирования биологических систем, которые успешно используют для задач структурной и функциональной оптимизации. К ней относятся эволюционные алгоритмы, включающие три главных направления фундаментальных исследований: генетические алгоритмы, эволюционное моделирование (в некоторых работах говорят об эволюционных стратегиях) и эволюционное программирование. Ко второй категории относятся более реалистичные биологически, но не имеющие пока прикладного значения алгоритмы [9]. Они представляют системы, известные под обобщающим названием «искусственная жизнь».
Генетические алгоритмы (ГА) представляют особый интерес, поскольку их потенциальная возможность заключается в манипулировании сложными оптимизационными задачами с использованием простой и относительно недорогой модели. Генетические алгоритмы по аналогии с эволюционным механизмом работают с популяцией, каждая особь которой представляет возможное решение данной задачи. Для работы алгоритма выбирают множество параметров проблемы и кодируют их последовательностями конечной длины в некотором алфавите, называемыми «хромосомами». Каждая хромосома оценивается мерой ее «приспособленности» - фитнес-функцией. Наиболее приспособленные особи получают возможность «воспроизвести» потомство с помощью «скрещивания» с другими особями популяции. В результате появляются новые особи, сочетающие в себе характеристики, наследуемые от родителей. Наименее приспособленные особи постепенно исчезают из популяции в процессе эволюции. Генетический алгоритм в своей работе использует три основных генетических оператора: «отбор», «скрещивание», «мутация» [10, 11].
С математической точки зрения генетические алгоритмы - это разновидность методов оптимизации, объединяющая свойства вероятностных и детерминированных методов оптимизации с элементами случайного поиска. Здесь необходимо отметить [12], что случайный поиск является наиболее эффективным средством адаптации сложных систем: он прост в реализации, легко модифицируется и программируется, имеет высокое быстродействие.
Но генетические алгоритмы - это не просто случайный поиск. Они эффективно используют информацию, накопленную в процессе эволюции. ГА, согласно [13], отличаются от других численных методов оптимизации следующим:
- работают в основном не с параметрами задачи, а с закодированным множеством параметров;
- осуществляют поиск не путем улучшения одного решения, а путем использования сразу нескольких альтернатив на заданном множестве решений;
- используют фитнес-функцию, а не ее различные приращения для оценки качества принятия решений;
- не налагают ограничений на пространство поиска (таких, как непрерывность, дифференцируемость и т.д.).
Впервые подобный алгоритм был предложен в 1975 г. Джоном Холландом. Он получил название «репродуктивный план Холланда» и лег в основу практически всех вариантов генетических алгоритмов. Он представил свой репродуктивный план как абстракцию биологической эволюции и сформулировал теоретическую основу алгоритма. Затем на основе его работ был впервые описан простой генетический алгоритм.
В последние несколько лет в результате взаимодействия исследователей, изучающих различные эволюционные вычислительные методы, границы между генетическими алгоритмами, эволюционными стратегиями, эволюционным программированием и другими эволюционными подходами в некотором роде стерлись. В настоящее время термином «генетические алгоритмы» называют не одну модель, а достаточно широкий класс алгоритмов, подчас мало похожих друг на друга и лишь отдаленно напоминающих исходную концепцию Холланда.
Согласно существующим исследованиям, можно сказать, что генетические алгоритмы позволяют решать те проблемы, решение которых традиционными оптимизационными методами затруднительно. Также необходимо отметить, что эффективность генетического алгоритма сильно зависит от таких деталей, как кодировка решений, выбор генетических операторов, способ представления фитнес-функции, которые определяет разработчик алгоритма в зависимости от конкретной задачи.
3. Моделирование стохастического трекера
Для исследования стандартных и эволюционных подходов к задаче оптимизации систем фильтрации и управления в условиях априорной неопределенности и резких, непридвиденных изменений взят пример стохастической следящей системы из [14]. Стохастическая следящая система (для краткости - трекер) - система, состоящая из двух независимых подсистем, одна из которых замкнутого типа, другая - разомкнутого. Таким образом, в трекере некоторый «управляемый объект» следит за некоторой «опорной моделью». На примере трекера можно одновременно проследить процессы, происходящие как в системе открытого типа, так и замкнутого.
Итак, имеем следующую следящую систему.
Управляемый объект:
Г хс (ц+1) = 0,82 хс (Х{) + 0,18м (ц) + м>с (ц);
1 *с (Ц ) = *с (М ) + ^с (М ).
Опорная модель:
Г хг (ц+х) = 0,61х(гг-) + wr (ц);
[ ^ (Ь ) = Хг (ц) + Уг (ц).
Управление описывается следующим законом:
и (^1) = -0,36:гс (г+) + 0,19 Хг (г+).
Здесь м>с, Ус, н,г, уг - дискретные белые гауссовы шумы с нулевым средним. При этом предполагается, что значения ковариаций указанных шумов неизвестны и могут изменяться в моменты времени, не известные априори.
При реализации генетического алгоритма необходимо определиться с множеством настраиваемых параметров, генетическими операторами и фитнес-функцией. В этом примере настраиваемые параметры - коэффициенты усиления фильтра для управляемого объекта и фильтра для опорной модели, каждый из которых является действительным числом и принадлежит интервалу (0;1). Ниже приведены генетические операторы, которые использовались при моделировании указанной системы.
Оператор кодирования - оператор, при помощи которого осуществляется кодирование параметров и декодирование хромосом. При моделировании на выбор предлагаются следующие три разновидности оператора кодирования: двоичное кодирование, интервальное кодирование с бинарным кодом и интервальное кодирование с кодом Грея.
Фитнес-функция - функция оценки приспособленности индивида. Данная функия построена на основе метода статистической ортогональности (реализуемого по схеме полярного коррелометра) [7]. Значение фитнес-функции сопоставляется каждой хромосоме в популяции, при этом чем больше значение функции, тем лучше приспособленность данного индивида. Для получения оценок всех индивидов в текущей популяции необходима выборка размера М .
Отбор - оператор, посредством которого осуществляется копирование хромосом согласно их приспособленности в промежуточную популяцию для последующего применения операторов скрещивания и мутации и формирования новой популяции. При моделировании на выбор предлагаются следующие два вида этого оператора: «колесо рулетки» и остаточный отбор.
Скрещивание - оператор, который с определенной вероятностью применяется к хромосомам, выбранным оператором отбора. В результате действия этого оператора происходит появление новых индивидов в популяции. При этом скрещивание может быть: одноточечным, двуточечным и маскированным.
Мутация - оператор, который применяется к каждому потомку индивидуально после скрещивания. Мутация случайно изменяет ген хромосомы с небольшой вероятностью.
Элитизм - оператор, задаваемый коэффициентом элитизма. Коэффициент элитизма - это число хромосом, переходящих из текущей популяции в новую без применения каких-либо генетических операторов.
Для проведения экспериментов предложенные алгоритмы полностью реализованы в специально разработанном программном продукте [15]. При моделировании в этом приложении доступны следующие функции:
- выбор моделируемых систем (управляемый объект, опорная модель, управляемый объект и опорная модель);
- выбор точки внезапного изменения;
- выбор алгоритмов идентификации (простая стохастическая аппроксимация, метод наименьших квадратов, генетический алгоритм);
- изменение параметров модели;
- изменение параметров алгоритмов;
- построение графиков;
- просмотр данных в табличном виде и т.д.
Для тестирования алгоритмов проведены несколько серий экспериментов, одна из них представлена в таблице 1.
Таблица 1
Параметры серии экспериментов
Общие параметры
Количество экспериментов в серии 100
Максимальное количество итераций 5000
Параметры и обозначения численных алгоритмов
Простая стохастическая аппроксимация ПСА
Метод наименьших квадратов МНК
Параметр экспоненциального сглаживания 0,5
Параметры и обозначения генетического алгоритма
Генетический алгоритм ГА
Длина хромосомы 7
Мощность популяции 50
Вероятность мутации 0,1
Вероятность скрещивания 0,8
Коэффициент элитизма 1
Режим отбора остаточный отбор
Режим скрещивания маскированный
Кодирование интервальное с кодом Грея
Параметры внезапного изменения и идентификации
Итерация внезапного изменения 300
Истинное значение идентифицируемого параметра до изменения (опорная модель) 0,258
Истинное значение идентифицируемого параметра после изменения (опорная модель) 0,736
Истинное значение идентифицируемого параметра до изменения (управляемый объект) 0,900
Истинное значение идентифицируемого параметра после изменения (управляемый объект) 0,547
На рисунке 1 представлено поведение генетического алгоритма в качестве метода идентификации.
Для проведения сравнительного анализа различных алгоритмов идентификации использована интегральная относительная ошибка, усредненная по результатам серии экспериментов. Графики изменения интегральной относительной ошибки процедуры простой стохастической аппроксимации, метода наименьших квадратов и генетического алгоритма в зависимости от номера итерации представлены на рисунке 2.
0.8
0.6
0.4
— і- - ______________["
1-Г
I ■
1_—Г
'-'-и.
' '"'І г--. Г~-—! -Г
Идентификация параметра опорной модели Идентификация параметра управляемого объекта Истинное значение параметра опорной модели Истинное значение параметра управляемого объекта
1000
2000
3000
4000
5000
Рис.1 Поведение генетического алгоритма при идентификации параметров опорной модели и управляемого объекта
0
70
60
50
40
30
20
10
Простая стохастическая аппроксимация Метод наименьших квадратов . Генетический алгоритм
0 1000 2000 3000 4000 5000
Рис. 2 Изменение интегральной относительной ошибки
Как показывают результаты экспериментов, в большинстве случаев усредненное поведение генетического алгоритма дает меньший уровень интегральной относительной ошибки, чем процедура простой стохастической аппроксимации или метод наименьших квадратов. Однако важно отметить,
0
что индивидуальное поведение генетического алгоритма более непостоянно, чем индивидуальное поведение стандартных численных методов.
Существенное отличие между этими двумя типами методов заключается, как и ожидалось, в самом механизме их работы. Численные методы последовательны в своих операциях, в то время как генетический алгоритм -параллелен. Последний алгоритм требует наличия множества индивидов, формирующих текущую популяцию адаптивных фильтров.
Заключение
В работе предложено использование эволюционных методов, в частности генетических алгоритмов, в качестве инструмента для решения задач адаптации в широком классе систем фильтрации и управления с линейными стохастическими моделями сигналов и помех. Проведено моделирование стохастической следящей системы и представлены результаты многочисленных вычислительных экспериментов по ее оптимизации разнородными методами - численными и эволюционными.
Несмотря на эвристический (в определенной степени) характер примененных генетических алгоритмов, можно считать, что общий вывод о пригодности этих эволюционных методов к решению указанной проблемы оптимизации проведенными здесь экспериментами обоснован. Благодаря сравнительному методу исследования эта работа делает очередной шаг к уменьшению разрыва, существующего между стандартными численными методами решения экстремальных задач и более гибкими и простыми в реализации генетическими методами
Список литературы
1. Zadeh, L. Fuzzy logic, neural network and soft computing / L. Zadeh // Communications of the ACM. - 1994. - V. 37. - № 3. - Р. 65-83.
2. Kristinsson, K. System identification and control using genetic algorithms / K. Kristinsson, G. Dumont // IEEE Transactions on Systems, Man and Cybernetics. -1992. - V. 22. - № 5. - Р. 1033-1046.
3. Perneel, C. Optimization of fuzzy expert systems using genetic algorithms and neural networks / C. Perneel [et al.] // IEEE Transactions on Fuzzy Systems. - 1995. -V. 3. - № 3. - Р. 332-341.
4. Jin, Y. Evolutionary optimization in uncertain environments / Y. Jin, J. Branke // IEEE transactions on Evolutionary Computation. - 2005. - V. 9. - № 3. - Р. 303-317.
5. Интеллектуальные системы автоматического управления / под ред. И. М. Макарова,
B. М. Лохина. - М. : ФИЗМАТЛИТ, 2001. - 576 с.
6. Семушин, И. В. Контроль оптимальности адаптивного фильтра Калмана по реализации скалярного процесса / И. В. Семушин // Известия академии наук СССР. - 1979. - № 6. - С. 195-198. - (Техническая кибернетика).
7. Семушин, И. В. Адаптивные схемы идентификации и контроля при обработке случайных сигналов / И. В. Семушин. - Саратов : Саратовский университет, 1985. -180 с.
8. Семушин, И. В. Адаптивное управление стохастическим линейным объектом в условиях неопределенности / И. В. Семушин // Нелинейные динамические системы: качественный анализ и управление : сборник научных трудов / Институт системного анализа РАН ; под ред. акад. РАН С. В. Емельянова, чл.-кор. РАН
C. К. Коровина. - Вып. 2. - М. : Изд-во МГУ, 1994. - С. 104-110.
9. Ярушкина, Н. Г. Основы теории нечетких и гибридных систем : учеб. пособие / Н. Г. Ярушкина. - М. : Финансы и статистика, 2004. - 320 с.
10. Beasley, D. An Overview of Genetic Algorithms: Part 1, Fundamentals / D. Beasley, D. Bull, R. Martin. - University Computing, 1993. - V. 15. - № 2. - Р. 56-58.
11. Beasley, D. An Overview of Genetic Algorithms: Part 2, Research Topics / D. Beasley, D. Bull, R. Martin. - University Computing, 1993. - V. 15. - № 4. -Р. 170-181.
12. Растригин, Л. А. Адаптация сложных систем / Л. А. Растригин. - Рига : Зинатне, 1981. - 375 с.
13. Goldberg, D. E. Genetic Algorithms in search, optimization and machine learning /
D. E. Goldberg. - Addison-Wesley Publishing Company Inc., 1989. - 412 p.
14. Maybeck, P. S. Stochastic models, estimation and control / P. S. Maybeck. - N. Y. : Academic Press, 1982. - V. 3. - 291 p.
15. Федорова, М. А. Моделирование адаптивной стохастической системы MASSS / М. А. Федорова // М. : ВНТИЦ. Программное и информационное обеспечение поддержки научно исследовательских работ, 2007. - ЕСПД.03254577.01880-01.