Автореферат по теме выпускной работы
Актуальность темы работы
Сложность и распределенность современных организаций, процессов, компьютерных систем, компонентами которых являются люди и/или трудно формализуемые объекты, приводят к тому, что традиционные формальные способы описания таких объектов автоматизации не обеспечивают адекватность создаваемых моделей.
Теория многоагентных систем – это новая парадигма информационной технологии, ориентированной на совместное использование научных и технических достижений и преимуществ, которые дают идеи и методы искусственного интеллекта, современные локальные и глобальные компьютерные сети, распределенные базы данных и распределенные вычисления.
Теория многоагентных систем строит качественно новые модели сложных объектов в виде интеллектуальных организаций, представленных автономными искусственными агентами. При этом важна оценка как агентной методологии, так и качества создаваемых моделей.
Цели и задачи работы
Целью работы является многоагентное моделирование сложной распределенной системы на примере процесса производства промышленных смесей.
В процессе работы необходимо решить следующие задачи:
- Обзор методологий и инструментальных средств анализа и проектирования многоагентных систем.
- Описание синтаксиса и семантики агентных моделей.
- Построение агентно-ориентированных моделей на примере формализации процесса производства промышленных смесей.
- Выбор архитектуры программных агентов.
- Выбор инструментального средства.
- Программная реализация многоагентной системы процесса производства промышленных смесей.
- Анализ результатов моделирования.
Предполагаемая научная новизна и планируемые практические результаты
Заключаются в:
- развитии нового агентно-ориентированного способа представления программ;
- повышении качества моделирования за счет интеллектуализации поведения и взаимодействия искусственных агентов многоагентной системы;
- создании гибкой системы для анализа, управления, реинжиниринга процесса производства промышленных смесей.
Обзор исследований и разработок по теме
В Донецком национальном техническом университете исследования и разработки в области теории многоагентных систем представлены трудами преподавателей и их школы:
- Магистр Грач Е.Г., руководитель Федяев О.И. Выпускная работа «Модель предприятия как интеллектуальная искусственная система для анализа и управления на основе знаний».
- Магистр Лямин Р.В., руководитель Федяев О.И. Выпускная работа «Многоагентная система обучения студентов на кафедральном уровне».
- Магистр Зайцев И.М. руководитель Федяев О.И. Выпускная работа «Модели коллективного поведения интеллектуальных агентов в многоагентных системах моделирования и управления предприятием».
- Аспирант Жабская Т.Е., руководитель Федяев О.И.
- Магистр Терзи И.И., руководитель Святный В.А. Выпускная работа «Анализ и разработка концепции механизмов координации и сотрудничества для агентно-ориентированных систем».
- Магистр Гаврик С.С., руководитель Телятников А.О. Выпускная работа «Разработка системы управления командой роботов-футболистов».
- Магистр Евдокимов А.А., руководитель Вороной С.М. Выпускная работа «Разработка и исследование программных агентов для распределённых вычислений в Грид среде».
Помимо ДонНТУ исследованиями в области многоагентных систем занимаются в Донецком государственном университете информатики и искусственного интеллекта.
Теория многоагентных систем для Украины в целом является развивающимся направлением научной деятельности, в отличие от России, где исследованиям многоагентной проблематики посвящено множество работ Городецкого В.И., Поспелова Д.А., Тарасова В.Б. и их школ. В качестве обзора направлений применения многоагентных систем можно указать результаты поиска по ключевым фразам по сайту http://www.lib.ua-ru.net – электронном каталоге российских и украинских диссертаций.
В мировой практике активно проводятся исследования и разработки в области применения многоагентных систем для решения различных промышленных задач. В качестве обзора можно указать результаты поиска по ключевой фразе "multi-agent industry" на следующих сайтах-каталогах научных публикаций:
Понятие искусственного агента
На сегодняшний день не выработано общепринятое определение понятия агента.
Согласно спецификации FIPA (Foundation for Intelligent Physical Agents – международная организация, выполняющая работы по стандартизации агентных систем и технологий), искусственный агент – это сущность, помещенная в некоторую среду, от которой она получает данные, отражающие события, происходящие в среде, интерпретирует их и исполняет команды, воздействующие на среду. Агент может содержать программные и аппаратные компоненты [7].
Т.е. под искусственным агентом понимается высокоуровневая абстракция для формализации и структурирования сложных сущностей предметной области в виде программно-аппаратного средства, способного автономно действовать в интересах достижения заложенных в него целей [3].
Под интеллектуальным агентом в информатике и искусственном интеллекте понимается любая физическая или виртуальная единица [5]:
- способная действовать на объекты в некоторой среде, на других агентов и на саму себя;
- способная общаться с другими агентами;
- исходящая из некоторых потребностей и способная к целеобразованию; обладающая набором интенциональных характеристик (убеждения, желания, намерения и пр.);
- несущая определенные обязанности и предоставляющая ряд услуг;
- обладающая собственными ресурсами, обеспечивающими ее автономию;
- способная к восприятию среды;
- способная строить частичное представление этой среды на основе ее восприятия, т.е. перцептивных навыков и умений;
- способная к обучению, эволюции и адаптации;
- способная к самоорганизации и самовоспроизведению.
Таким образом, под интеллектуальным агентом понимается активная, автономная, коммуникабельная, мотивированная сущность, действующая в сложных, динамических и, чаще всего, виртуальных средах в рамках наделенных полномочий в интересах достижения заложенных в нее целей [3].
К настоящему времени сформировался довольно большой список свойств, которыми должны обладать интеллектуальные агенты [1]:
- автономность (autonomy, autonomous functioning) – способность к самостоятельному формированию целей и функционированию с самоконтролем своих действий и внутреннего состояния;
- общественное поведение (social ability, social behavior) – способность согласовать свое поведение с поведением других агентов в условиях определенной среды и правил поведения путем обмена сообщениями на языке коммуникации;
- реактивность (reactivity) – способность адаптированно воспринимать состояние внешней среды (среды функционирования и множества других агентов) и своевременно реагировать на происходящие изменения;
- активность (pro-activity) – способность проявлять инициативу, т.е. самостоятельно генерировать цели и действовать рационально для их достижения, а не только пассивно реагировать на внешние события;
- базовые знания (basic knowledge) – постоянная часть знаний агента о себе, о среде, а также постоянные знания о других агентах, которые не изменяются в рамках жизненного цикла агента;
- убеждения (beliefs) – переменная часть знаний агента о среде и других агентах, которая может изменяться во времени, но агент может об этом не знать и продолжать использовать их для своих целей;
- желания (desires) – состояния и/или ситуации, достижение которых является желательным и важным для агента, однако которые могут быть противоречивыми и не все будут достигнуты;
- цели (goals) – совокупность состояний, на достижение которых направлено текущее поведение агента;
- намерения (intentions) – это то, что агент обязан сделать в силу своих обязательств, или то, что вытекает из его желаний;
- обязательства (commitments) – задачи, которые берет на себя агент по просьбе и/или поручению других агентов.
Понятие многоагентной системы
Многоагентную систему можно определить как совокупность взаимосвязанных программных и/или аппаратных агентов, способных взаимодействовать друг с другом и с окружающей средой, обладающих определенными интеллектуальными способностями и возможностью индивидуальных и совместных действий.
Можно дать формализованное определение многоагентной системы [5]:
MAS = (A, E, R, ORG, ACT, COM, EV),
где MAS – многоагентная система, А – множество агентов, Е – множество сред, находящихся в определенных отношениях R и взаимодействующих друг с другом, формирующие некоторую организацию ORG, обладающих набором индивидуальных и совместимых действий ACT (стратегия поведения и поступков), включая возможные коммуникативные действия COM и возможность эволюции EV.
В многоагентной системе задачи распределены между агентами системы. Идея многоагентности предполагает кооперацию агентов при коллективном решении задач.
Типы агентных моделей и архитектур
В зависимости от концепции, выбранной для организации многоагентной системы, обычно выделяются три базовых класса архитектур:
- делиберативные (интеллектуальные) архитектуры и модели (deliberative architectures) – архитектуры, которые базируются на принципах и методах работы со знаниями;
- реактивные архитектуры и модели (reactive architectures) – архитектуры, основанные на поведенческих моделях типа «стимул-реакция»;
- гибридные архитектуры и модели (hybrid architecture).
Архитектуры многоагентных систем и их характеристики, широко используемые в настоящее время, представлены в табл. 1 [6].
Таблица 1 – Архитектуры многоагентных систем и их характеристики
Архитектура | Представление знаний | Модель мира | Решатель |
---|---|---|---|
Методологии агентно-ориентированного анализа
Методологии агентно-ориентированного анализа применяются на стадиях анализа и проектирования многоагентных систем. Путем абстрагирования создаются концептуальные модели и методы многоагентных систем.
Методологии проектирования многоагентных систем можно разделить на четыре основных класса:
- базирующиеся на объектно-ориентированных методах и технологиях с использованием соответствующих расширений (AUML);
- использующие традиционные методы инженерии знаний (MAS-CommonKADS);
- основанные на организационно-ориентированных представлениях (Gaia [3, 10]);
- комбинирующие в различной степени методы трех первых классов.
Инструментальные среды разработки многоагентых систем
Инструментальные среды используются на стадиях реализации и тестирования многоагентных систем. Они используют свои модели, соответствующие этому уровню детализации системы. Можно выделить два основных класса инструментальных сред: фреймворки (JADE [9], Agent Development Kit [2]) и среды разработки (Zeus [8], Agent Builder).
Комплекс современных требований к инструментальным средам можно разделить на два класса – общесистемные и инструментально-технологические требования.
К первому классу следует отнести:
- сквозную поддержку всех фаз жизненного цикла многоагентной системы;
- наличие единой интегрированной среды разработки всех компонентов многоагентной системы;
- поддержку различных категорий пользователей;
- обеспечение средств визуального проектирования;
- автоматическое создание исполняемых программных кодов агентов;
- поддержку коллективной работы над проектом системы и автоматизированного документирования всех фаз процесса разработки.
Ко второму классу относятся такие составляющие:
- обеспечение построения распределенных баз знаний и механизмов логического вывода;
- поддержка процесса формирования логических моделей распределенной системы (формирования онтологий описываемых областей и распределения знаний по интеллектуальным компонентам многоагентной системы);
- обеспечение способов построения моделей поведения агентов;
- реализация механизмов параллельного функционирования, коммуникации и координации агентов;
- поддержка модифицируемости и расширяемости моделей агентов в процессе реального функционирования и другие.
Постановка задачи: процесс производства промышленных смесей как распределенная система
Объектом многоагентного моделирования в работе выступает реальный технологический процесс производства промышленных смесей [3], описываемый структурной схемой на рис. 1.
Рисунок 1 – Схема технологического процесса производства промышленных смесей
Объекты (устройства) и субъекты (персонал) распределены территориально, обладают сложным поведением.
Разрабатываемая модель, представленная в виде многоагентной системы, должна обеспечивать необходимую адекватность реальному технологическому процессу производства.
Участники процесса производства (устройства и персонал) моделируются автономными программными агентами соответствующей архитектуры. Каждый из агентов наделяется полномочиями того субъекта производственного процесса, которого он представляет, и обладает поведением, определяемым этими полномочиями. Взаимодействуя с другими агентами и оценивая текущее состояние процесса производства, каждый агент самостоятельно принимает решение о своих дальнейших действиях.
Успешное решение задачи многоагентного моделирования процесса производства промышленных смесей позволит:
- моделировать процесс производства при заданном плане приготовления смесей и графике поставок сырья, количестве конвейерных линий и единиц оборудования при нормальных условиях работы;
- оценивать и реорганизовывать процесс производства при сбоях в работе оборудования и нарушении поставок сырья;
- делать вывод об эффективности используемой или проектируемой структуры производства.
Представление участников процесса производства в виде программных агентов позволяет создать гибкую модель системы, в которой легко, путем добавления или исключения агентов, можно проводить реинжиниринг структуры производства и оценивать ее жизнеспособность.
Собственные результаты исследования на данный момент
На начальном этапе разработки многоагентной системы проведен агентно-ориентированный анализ предметной области. Результатами такого анализа стали абстракции и концептуальные модели многоагентной системы, которые используются для дальнейшей конкретизации на уровне инструментальной среды.
В качестве методологии агентно-ориентированного анализа выбрана организационно-ориентированная методология Gaia. В качестве инструментальной среды – среда разработки Zeus.
В рамках организационно-ориентированной методологии Gaia многоагентная система проектируется в терминах поведений и структур человеческих организаций и представляет собой совокупность взаимодействующих ролей. Gaia предусматривает создание следующих моделей: ролей, взаимодействий, агентов, услуг и связей (рис. 2).
Рисунок 2 - Взаимосвязь моделей методологии Gaia и инструментальной среды Zeus
В многоагентной системе процесса производства промышленных смесей выделены такие роли: Технолог, Кладовщик, Расфасовщик, Кран-балка, Бункер, Грохот, Дробилка, Сепаратор, Дозатор, Смеситель, Винтовой конвейер, Накопительная емкость. Некоторые из ролей (Расфасовщик, Кран-балка, Дозатор) объединяют в себе функции устройства (таких как, Тележки с готовой смесью, Кран-балки, Дозатора) и управляющего им работника.
Инструментальная среда Zeus оперирует такими базовыми концептами, как агент, факт, цель и задача. На их основе она строит следующие модели: онтологии, программных агентов, задач, координации и организации (рис. 2).
Разработана методика трансформации моделей методологии Gaia в концепты инструментария Zeus, представляемые в структурной и алгебраической форме [4].
На данный момент рассмотрено взаимодействие двух агентов разрабатываемой многоагентной системы [4]. Агент Кладовщик выдает порцию сырья со склада, а агент Кран-балка принимает и транспортирует сырье к месту назначения (бункеру) (рис. 3).
Рисунок 3 - Иллюстрация и временная диаграмма взаимодействия агентов Кладовщик и Кран-балка разрабатываемой многоагентной системы
(анимация - разрешение: 701 x 434 px; объем: 28.1 kb; кадров: 7; задержка между кадрами: 1.5с; количество повторений: 5)
Выполнено:
- созданы схемы описания ролей Кладовщика и Кран-балки (как часть модели ролей Gaia);
- описаны протоколы выдачи сырья со склада и приемки сырья на склад (как часть модели взаимодействия Gaia);
- создана часть модели агентов Gaia на основе выделенных ролей;
- составлена часть модели услуг Gaia в рамках рассматриваемого взаимодействия;
- создана часть модели связей Gaia на основе выделенных агентных типов;
- разработанные модели Gaia преобразованы в концепты инструментария Zeus, получены описания онтологии и агентов;
- в инструментальной среде Zeus сформирован программный код на языке Java рассматриваемого взаимодействия агентов.
Перспективы дальнейшего исследования
Планируется:
- дальнейшее исследование возможностей многоагентного моделирования поставленной задачи;
- дальнейшее изучение возможностей выбранной инструментальной среды разработки многоагентной системы;
- разработка программного прототипа многоагентной системы процесса производства промышленных смесей;
- анализ результатов моделирования: оценка эффективности применения агентной методологии для решения поставленной задачи, оценка качества создаваемых моделей.
Примечание
При написании данного автореферата выпускная работа еще не завершена. Окончательное завершение: декабрь 2010г. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.
Перечень ссылок
- Городецкий В.И., Грушинский М.С., Хабалов А.В. Многоагентные системы (обзор) [Электронный ресурс] / В.И. Городецкий, М.С. Грушинский, А.В. Хабалов. – Режим доступа: http://www.raai.org/library/ainews/1998/2/GGKHMAS.ZIP
- Зудикова Ю.В., Федяев О.И. Разработка программных агентов в инструментальной среде Agent Development Kit / Ю.В. Зудикова, О.И. Федяев // Комп’ютерний моніторинг та інформаційні технології – 2009 / Матеріали V науково-технічної конференції студентів, аспірантів та молодих науковців. – Донецьк, ДонНТУ. – 2009. – с. 272-274.
- Зудикова Ю.В., Федяев О.И. Разработка многоагентной модели процесса производства промышленных смесей / Ю.В. Зудикова, О.И. Федяев // Інформатика та комп’ютерні технології / Матеріали V міжнародної науково-технічної конференції студентів, аспірантів та молодих науковців – 24-26 листопада 2009р. – Донецьк, ДонНТУ. – 2009. – с. 261-264.
- Зудикова Ю.В., Федяев О.И. Трансформация моделей методологии Gaia в концепты инструментальной среды Zeus при многоагентном моделировании процесса производства промышленных смесей / Ю.В. Зудикова, О.И. Федяев // Інформаційні управляючі системи та комп’ютерний моніторинг (ІУС та КМ-2010) / Материіали I всеукраїнської науково-технічної конференції студентів, аспірантів та молодих вчених – 19-21 травня 2010р., Донецьк, ДонНТУ. – 2010. – с. 196-200.
- Тарасов В.Б. От многоагентных систем к интеллектуальным организациям [Электронный ресурс] / В.Б. Тарасов. – Режим доступа: http://www.yugzone.ru/x/tarasov-v-b-ot-mnogoagentnykh-sistem-k-intellektual-nym-organizacsiyam/
- Чекинов Г.П., Чекинов С.Г. Применение технологии многоагентных систем для интеллектуальной поддержки принятия решения [Электронный ресурс] / Г.П. Чекинов, С.Г. Чекинов // Сетевой электронный научный журнал «СИСТЕМОТЕХНИКА». – 2003. – № 1. – Режим доступа: http://systech.miem.edu.ru/2003/n1/Chekinov.htm
- Швецов А.Н. Агентно-ориентированные системы: от формальных моделей к промышленным приложениям [Электронный ресурс] / А.Н. Швецов. – Режим доступа: http://www.ict.edu.ru/lib/index.php?id_res=5656
- Hyacinth S. Nwana, Divine T. Ndumu, Lyndon C. Lee. ZEUS: An Advanced Tool-Kit for Engineering Distributed Multi-Agent Systems [Электронный ресурс] / Hyacinth S. Nwana, Divine T. Ndumu, Lyndon C. Lee. – Режим доступа: http://www.agent.ai/doc/upload/200302/nwan98.pdf
- Giovanni Caire (перевод с английского Зайцев И.М.). Руководство для начала работы с JADE [Электронный ресурс] / Giovanni Caire (перевод с английского Зайцев И.М.). – Режим доступа: http://www.masters.donntu.ru/2009/fvti/zaytsev/library/book1/
- M.Wooldridge, N.Jennings, D.Kinny. The Gaia methodology for agent-oriented analysis and design [Электронный ресурс] / M.Wooldridge, N.Jennings, D.Kinny. – Режим доступа: http://www.csc.liv.ac.uk/~mjw/pubs/jaamas2000b.pdf