Современные информационные технологии/2. Вычислительная техника и программирова­ние

Д.т.н. Богатиков В.Н., к.т.н. Кириллов И.Е., к.т.н. Морозов И.Н.

ИИММ КНЦ РАН,

Создание распределенных моделей с самонастройкой на основе агентных технологий и нейросетевого аппарата

Аннотация

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

Введение

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

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

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

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

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

Применение агентных технологий в задачах прогнозирования

В качестве системы «механизмов» отвечающих за состояние системы может выступать структура, вид которой представлен на рисунке 2:

Рис.2. Общая структуру системы определения состояний системы  на основе агентных технологий

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

В качестве пояснений к данной иллюстрации рассмотрим не всю систему в целом, а определение текущего состояния для «Подобъекта_1», здесь проведена декомпозиция данного «подобъекта» на k составляющих, состояние  «Подобъекта_1» будет оценивать программный «Агент_1», он же будет генерировать управляющие воздействия с целью перевода данного «подобъекта» в некоторое необходимое состояние. «Агент_1» создает поисковых агентов, которые перемещаются по сети и собирают информацию с сенсоров каждого «подобъекта», в зависимости от критичности времени определения безопасности это может быть или несколько агентов для отдельных «подобъектов» или один агент обслуживающий поочередно каждый «подобъект». Затем данная информация поступает на «Агент_1», и там обрабатывается по определенным алгоритмам, при этом, если необходимость в сборе дальнейшей информации отсутствует, созданные «подагенты» должны быть удалены.

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

Рис.3. Структура взаимодействия агентов и сенсоров

для определения состояния объекта

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

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

Рис.4. Иерархическая структура определения и управления состояниями системы

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

На втором уровне,  порождающим реактивные агенты функционируют агенты, порождаемые верхним уровнем, агенты данного типа называется рефлекторными, они управляют жизненным циклом реактивных агентов и обрабатывают информацию, полученную от них. Рефлекторные агенты не имеют внутренних источников  мотивации и собственных целей, а их поведение характеризуется простейшими (одношаговыми) выводами или автоматизмами[1]. Они представляют собой граничный случай понятия когнитивного агента и могут использоваться как «вспомогательные агенты». Данные агенты способны отвечать на вопросы и выполнять задания, которые ставят перед ними другие агенты, но решение этих задач не приводит к появлению у них собственных целей. Типичными примерами таких вырожденных агентов являются системы поиска в базах данных и простейшие логические регуляторы.

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

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

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

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

http://www.coolreferat.com/ref-1_1107306846-32401.coolpic

Рис.5. Классификация методов прогнозирования

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

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

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

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

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

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

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

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

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

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

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

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

Рис.6. Динамика изменения количества продаж и роста цены на крепкий алкоголь

Данная динамика наглядно показывает тот факт, что спрос на данный вид алкоголя сильно возрастает к праздникам (Новый год, 8ое Марта и т.д.) а так же падает в летний период, что связано с наступившим периодом отпусков.

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

0,00

141

39,00

141,2

34,00

141,2

33,00

141,2

…………..

……………

32,50

167,98

28,00

168,36

27,50

168,74

26,50

169,12

24,50

169,5

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

Рис.7. Окна настройки параметров нейросети

После чего можно сгенерировать и обучить нейросеть, вид самой сети представлен на рисунке 8:

Рис.8. Вид нейросети для прогнозирования объемов продаж

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

Рис.9. Вид фаззифицированных переменных и правила логического вывода

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

Результаты прогнозирования в сравнении с тестовым периодом приведены на рисунке:

Рис.10.результаты прогнозирования спроса на крепкий алкоголь

 с помощью нейросети

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

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

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

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

Рис.11. Статистическая информация по общей численности населения и динамике её изменения в г.Балаково Саратовской области

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

Рис.12. Результаты прогнозирования изменения количества жителей г.Балаково

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

Заключение

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

Литература:

1.     Классификация агентов. -Режим доступа: http://www.aiportal.ru/articles/multiagent-systems/agent-classification.html

2.     Человеческие ресурсы города и рынок труда в Балаково. –Режим доступа: http://www.protown.ru/russia/city/articles/7553.html