Представление образов динамических процессов в системах автоматического управления с помощью самонастраивающихся агентов

УДК 004.942: 004.89

И. С. КОНОХ

ПРЕДСТАВЛЕНИЕ ОБРАЗОВ ДИНАМИЧЕСКИХ ПРОЦЕССОВ В СИСТЕМАХ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ С ПОМОЩЬЮ САМОНАСТРАИВАЮЩИХСЯ АГЕНТОВ

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

1. Введение

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

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

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

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

28

2. Структура агента

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

К основным задачами агентов можно отнести:

- распознавание векторов входных сигналов и определение степени принадлежности текущего вектора к запомненному;

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

- хранение логических правил (продукций) и вычисление продукционных заключений;

- формирование тактовых импульсов и тактированное восприятие входных сигналов для придания динамических свойств отдельному агенту или агентной группе;

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

Входные сигналы агента можно разделить на четыре группы: вектор текущих сигналов; вектор запомненных сигналов; вектор управляющих флагов; вектор весовых коэффициентов и констант. К выходным сигналам относятся - степень принадлежности текущего вектора входных сигналов запомненному (alfa), выходная константа (zet), их произведение (alfazet). Выход произведения функции активации на выходную константу проходит через элемент настраиваемой временной задержки (Delay). Тип данных всех сигналов - вещественный.

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

Рис. 1. Структурная схема агента: а - вариант распознавания вектора

29

Вариант, при котором управляющие флаги с[0]=1 и с[1]=1 (рис. 1,а), определяет, что рассчитывается абсолютная величина разности между элементами входного и запомненного векторов. От суммы разностей элементов рассчитывается функция y=(1/x). Это соответствует варианту распознавания, при котором выходной сигнал alfa тем больше, чем меньше расстояние Хэмминга между векторами.

Второй вариант (рис. 1,б) целесообразен при вычислении некоторых функциональных зависимостей набором агентов, как в нейронной сети с одним скрытым слоем. Известна теорема [3,4], показывающая, что искусственная нейронная сеть может выступать универсальным аппроксиматором и такой вариант агента может соответствовать модели искусственного нейрона.

Элемент программируемой задержки Delay позволяет за счет внедрения обратных связей получать свойства генераторов сигналов, дискретных интеграторов и фильтров.

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

3. Функционирование ансамбля агентов в единой группе

Необходимо отметить, что интеллектуальные свойства в задачах классификации и распознавания векторов сигналов начнут проявляться при объединении нескольких агентов в единую структуру. Для ее функционирования необходим групповой программный супервизор, обеспечивающий вычисление четкого итогового значения прогнозируемого сигнала, и добавление нового экземпляра агента в случае низкой степени распознавания текущего вектора (значение степеней принадлежности по всему ансамблю агентов ниже заданного порога). Также супервизор должен обладать возможностью разрешать или запрещать работу всех агентов, устанавливая и сбрасывая специальный контрольный сигнал. Выходы всех агентов (сигналы alfa и alfazet), работающих в конфигурации распознавания векторов, обрабатываются супервизором по приближенному методу центра тяжести, аналогично методу дефаззификации в алгоритме нечеткого вывода Сугэно [4,5].

Структура элементарной мультиагентной системы показана на рис. 2.

Рис. 2. Структура агентной группы с супервизором

30

При использовании ее в качестве системы, рассчитывающей будущее значение выходного сигнала динамического объекта (сигнал out), вектор actual содержит предыдущие временные отчеты выходного сигнала объекта и управляющего воздействия:

actual =

где k - количество точек временного сигнала, подаваемого на вход агентов; step - шаг просмотра входных последовательностей в точках входного сигнала.

Сигналы, входящие в набор InCon, служат для управления логикой работы супервизора. В процессе работы мультиагентной системы в дискретные моменты времени на входы actual подается очередной образ управляющих и выходных сигналов объекта управления. В случае, когда сигнал “узнавания” alfa всех агентов ниже заданного порога, то текущий входной образ считается новым и для его запоминания генерируется новый агент. В качестве выходной константы zet берется выход объекта на следующем шаге работы.

Agent

protected: int п;//число сигналов c1"

double у[50];//текущая входная последовательность double ,^50];//весовые коэффициенты входов

int c[4];// управление операциями модуля и типом //активационной функции double zet^/константа-терм выходной переменной double out contrl[10];//внешние сигналы управления double dt; 1

out_res pout;

public: Agent(int nn,double zz); void inp(double *in1,double *in2,double *in3, double *in4); void inp c(int *in1, double *in2); void inp chk(double *in1); void inp chk2(double *in1,double *in2); void fout(); double a out(); double az_out(); double action(); double out zet();

out_res

double alfa;//выходной сигнал агента g.2.

double az;//выходной сигнал агента умноженный на константу-терм

double з^/выходной сигнал активности агента

Super_Agent

protected:

Agent *pSN;

QList<Agent> nList;

QList<double> Sprod;//выходной сигнал агенті, //умноженный на константу-терм

QList<double> SSum^/выходной сигнал агента int п_іп;//число входных сигналов всех агентов группы double trshld ;//порог узнавания для создания нового агента double out;//выход агентной группы double Max;//максимальное значение alfa int Max_i;//номер агента с наиболее соотв. выходом double Safa,Safaz;

void ins_agent();/^^ra вставки нового агента в группу

public:

Super_Agent(int nn,double p);//nn-число входных //сигналов всех агентов группы void inp_signals(double *in1,double *in2,double *in3, double *in4,int *in_c, double *in2c);

//функция ввода входных сигналов //агентной группы

void agents_fout(double *in 1);// ф-ция расчета выходных //сигналов агентов в группе

void group_fout();// ф-ция расчета выходных сигналов //агентной группы int k_out(); double res(); int Mi();

double Alfamax(); double Alfazmax(); double Zmax(); double out_Salfa(); double out_Saz(); double Alfa_i(int in); double Alfaz_i(int in);

void set_agent(int in,double *in2,double *in3, double *in4,

int *in_c, double *in2c);

void create_append_agent(int nn);

Рис. 3. UML-диаграмма классов тестовой мультиагентной системы UML-диаграмма классов приложения (рис. 3), позволяющая исследовать эффективность применения агентного подхода для автоматизированного построения модели динамического объекта, содержит классы Agent и SuperAgent, которые реализуют сущности агентов и их супервизора. Классы связаны отношением композиции и один супервизор (один экземпляр класса Super Agent) может содержать в контейнерном классе QList список из любого количества агентов. Структура out res используется для хранения последних рассчитанных значений основных выходных сигналов агента.

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

31

- в переменной n_in количество входных сигналов группы (оно одинаковое для всех агентов);

- в переменной trshld численное значение порога для сигналов alfa, которое служит критерием для создания нового агента в группе (если сигналы alfa всех агентов меньше порогового значения, то образ считается нераспознанным и добавляется новый агент);

- в переменных Ssum и Sprod список основных выходных сигналов по всему ансамблю агентов;

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

- процедуру create_append_agent(...) для добавления нового агента в список;

- процедуру set_agent(...) для задания всех констант и коэффициентов нового агента;

- процедуру inp_signals(...) для ввода нового значения входных сигналов во все агенты группы.

Остальные процедуры класса Super Agent выполняют интерфейсные функции.

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

4. Описание тестовой задачи

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

На входы мультиагентной системы подаются мгновенные отчеты входного и выходного сигналов динамического звена с заданным шагом, как показано на рис. 4.

Рис. 4. Схема формирования входных сигналов мультиагентной системы

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

5. Исследование эффективности применения агентной системы

В среде разработки IDE Qt 5.3 было создано тестовое приложение, позволяющее исследовать как работу одиночного агента, так и группы агентов под управлением супервизорного класса. На рис. 5 приведена UML-диаграмма активности приложения, в котором реализовано формирование тестовых примеров, работа мультиагентной системы и визуализация результатов.

32

Цикл исследования начинается с задания параметров динамического звена второго порядка, его начальных состояний, промежутка модельного времени и постоянного шага интегрирования (дискретности изменения модельного времени). Кроме того, необходимо задать базовое значение входного сигнала х, от которого будут вычислены мгновенные значения входного сигнала динамического звена по формуле:

0 • х, if (i < n);

1 • х, if ((i > n) & &(i < n • 2));

1.25 • x, if ((i > n • 2) &&(i < n • 3)); 0.5 • x,if ((i > n • 3) & &(i < n • 4));

0.7 • x, if ((i > n • 4) & &(i < n • 5));

0 • x, if ((i > n • 5) & &(i < n • 6)).

Здесь (2): i = (0 1 ———) - номер точки; n = ———

’ dt 61 dt .

интервал, на протяжении

которого входное воздействие постоянно; t1,12, dt - соответственно, границы модельного

времени и шаг его изменения.

Пользователь может создать экземпляр класса, выполняющего функцию численного расчета выхода звена, дать команду на вычисление и вывести в графической форме результаты. На рис. 6 приведено окно графического интерфейса пользователя, открытого на вкладке генерации переходных процессов. Базовое значение входного сигнала равно 0,9 отн. ед., соответственно, получены переходные процессы для последовательно изменяющихся ступенчатых воздействий [0; 0,9; 1,125; 0,45; 0,63; 0], равномерно распределенных на доступном временном интервале. Рис. 6 также демонстрирует результаты моделирования динамического звена при заданных параметрах. Эти данные используются дальше для обучающего цикла работы мультиагентной системы, которая на момент создания экземпляра класса содержит только один агент, который соответствует правилу, что если входной вектор содержит нулевые значения, то и выход агента равен нулю.

Опциональное изменение параметров генерации агентов для тестового примера доступно на вкладке “Настройка” (рис. 7). Можно установить шаг просмотра точек переходных процессов, количество осведомительных входов мультиагентной системы (длину вектора actual), пороговое значение критерия генерации нового агента, запуск обучения. Поле “Количество объектов прямой модели” показывает текущее количество сгенерированных агентов, строка прогресса информирует пользователя о количестве просмотренных точек обучающей последовательности.

На вкладке “Тест прямой идентификации”, фрагмент которой показан на рис. 8, в графической форме отображены результаты расчета выхода динамического звена и мультиагентной системы в одной системе координат. Можно сделать вывод о хорошей точности воспроизведения поведения динамического объекта агентной системой при условии совпадения контрольных и обучающих последовательностей. Уменьшая шаг просмотра, увеличивая порог и количество входов агентов, (см.рис. 7) возможно добиться полного совпадения результатов для выбранной дискретности расчета ценой значительного увеличения количества агентов после цикла обучения. По сути, для представленного сценария по окончанию цикла обучения формируется продукционная база знаний, в которой каждый агент соответствует простому правилу, а выход всех агентов агрегируется по упрощенному методу центра тяжести, как на этапе дефаззификации в алгоритме Сугэно.

Для дальнейшего развития информационной технологии поддержки интеллектуального управления сложными технологическими процессами на основе самоорганизующихся агентных систем представляет интерес исследование точности воспроизведения реакции динамического объекта для случаев, не входящих в обучающую выборку. Были рассчитаны переходные процессы по приведенному сценарию для базового значения входного воздействия 1,2 отн. ед. Последовательно изменяющиеся ступенчатые воздействия принимали значения [0; 1,2; 1,5; 0,6; 0,84; 0]. Результаты моделирования для контрольного примера показаны на рис. 9.

33

Рис. 5. UML-диаграмма активности работы тестового приложения, использующего агентный супервизор

Можно отметить, что агентная система работает с абсолютными значениями сигналов и в случае, когда входные сигналы находятся внутри пределов обучающей выборки, наблюдается сохранение подобия кривых и малые (в пределах 10-15%) рассогласования абсолютных значений. Они зависят от заданных шага просмотра и порога узнавания. Если входные сигналы находятся за границами обучающей выборки, то рассогласование выхода агентной системы по сравнению с истинным значением достигает неприемлемо большой величины (кривые 5 и 4 рис. 9).

В ходе исследования была исследована возможность улучшения работы агентной системы путем введения дополнительных агентов, воплощающих априорное знание об

34

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

Рис. 6. Создание динамического звена второго порядка и моделирование серии переходных процессов

Рис. 7. Однократный просмотр точек переходного процесса с заданной дискретностью, настройка

мультиагентной системы

4 \ 3

13 J А Г ^

"е"в:вт""

Рис. 8. Графическое отображение выхода мультиагентной системы, наложенного на обучающие переходные процессы (1 - ось модельного времени; 2 - границы окна; с выводом результатов в текстовой форме; 3 - входные воздействия; 4 - реакция динамического звена; 5 - реакция

мультиагентной системы)

35

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

Агрегация выходов обученной агентной группы и дополнительной, с априорными знаниями о коэффициенте передачи звена, позволила сформировать сигнал (кривая 6 рис. 9), который более адекватно аппроксимировал выход тестового объекта, сводя ошибку в установившемся режиме к нулю.

6. Выводы

По результатам проведенных исследований можно утверждать:

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

- набор агентов эквивалентен нечеткой экспертной системе или искусственной нейронной сети и, таким образом, может выступать в качестве универсального аппроксиматора;

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

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

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

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

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

36

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

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

Список литературы: 1. Васильев С. Н., Жерлов А. К., Федосов Е. А., Федунов Б. Е. Интеллектуальное управление динамическими системами. М.: Физико-математическая литература, 2000. 352 с. 2. Швецов А. Н. Агентно-ориентированные системы: от формальных моделей к промышленным приложениям // Всероссийский конкурсный отбор обзорно-аналитических статей по приоритетному направлению "Информационно-телекоммуникационные системы”, 2008. 101 с. [http://www.ict.edu.ru/lib/ index.php?id_res=5656]. 3. Горбань А. Н. Обобщенная аппроксимационная теорема и вычислительные возможности нейронных сетей // Сибирский журнал вычислительной математики. 1998. Т. 1, № 1. С. 1224. 4. Дьяконов В., Круглов В. Математические пакеты расширения MATLAB. Специальный справочник. СПб.: Питер, 2001. 480 с. 5. Леоненков А. В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. Спб.: Бхв-Петербург, 2003. 736 с.

Поступила в редколлегию 11.05.2014 Конох Игорь Сергеевич, канд.техн.наук, доцент кафедры информационно-управляющих систем КрНУ им. М. Остроградского. Научные интересы: автоматизация, интеллектуальные системы управления. Адрес: Украина, 39600, Кременчуг, ул. Первомайская, 20, тел.: (05366) 30157. E-mail: kis_saue@mail.ru.

УДК 629.391

В.В. БАРАННИК, Д.Э.ДВУХГЛАВОВ, В.В. ТВЕРДОХЛЕБ

МЕТОД ДИНАМИЧЕСКОГО УПРАВЛЕНИЯ БИТОВОЙ СКОРОСТЬЮ ВИДЕОПОТОКА С ИСПОЛЬЗОВАНИЕМ ТРЕХМЕРНОГО ПРЕДСТАВЛЕНИЯ ТРАНСФОРМАНТ

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

Введение

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

Для решения указанной задачи необходимо снижение времени передачи данных путем использования методов разгрузки сетевого траффика на уровне конечных узлов и узлов сети, к которым относят маршрутизацию данных и использование резервных каналов. Однако в ряде работ показано, что более актуальным является управление при контроле уровня кодирования источника. На сегодняшний день предложены некоторые подходы к управлению параметрами обработки для различных вариантов представления кадров видеопотока [1-3]. При этом задача управления предполагает выбор параметров компрессии, обеспечивающих требуемое соотношение двух характеристик видеопотока: битовую скорость и качество визуального восприятия. Битовая скорость r характеризует интенсивность видеопотока сжатых кадров I сж и представляет собой объем сжатых видеоданных,

37