Автореферат за темою випускної роботи
Актуальність теми роботи
Складність та розподіленість сучасних організацій, процесів, комп'ютерних систем, компонентами яких є люди і об'єкти, що важко формалізуються, призводять до того, що традиційні формальні засоби опису таких об'єктів автоматизації не забезпечують адекватність створюваних моделей.
Теорія багатоагентних систем – це нова парадигма інформаційної технології, орієнтованої на спільне використання наукових і технічних досягнень і переваг, які дають ідеї й методи штучного інтелекту, сучасні локальні і глобальні комп'ютерні мережі, розподілені бази даних і розподілені обчислення.
Теорія багатоагентних систем будує якісно нові моделі складних об'єктів у вигляді інтелектуальних організацій, які представляються автономними штучними агентами. При цьому важлива оцінка як агентної методології, так і якості створюваних моделей.
Цілі і задачі роботи
Метою роботи є багатоагентне моделювання складної розподіленої системи на прикладі процесу виробництва промислових сумішей.
Під час роботи необхідно вирішити наступні задачі:
- Огляд методологій та інструментальних засобів аналізу і проектування багатоагентних систем.
- Опис синтаксису і семантики агентних моделей.
- Побудова агентно-орієнтованих моделей на прикладі формалізації процесу виробництва промислових сумішей.
- Вибір архітектури програмних агентів.
- Вибір інструментального засобу.
- Програмна реалізація багатоагентної системи процесу виробництва промислових сумішей.
- Аналіз результатів моделювання.
Передбачена наукова новизна та заплановані практичні результати
Полягають у:
- розвитку нового агентно-орієнтованого засобу зображення програм;
- підвищенні якості моделювання за рахунок інтелектуалізації поведінки і взаємодії штучних агентів багатоагентної системи;
- створенні гнучкої системи для аналізу, управління, рєінжинірінгу процесу виробництва промислових сумішей.
Огляд досліджень і розробок за темою
У Донецькому національному технічному університеті дослідження і розробки в галузі теорії багатоагентних систем представлені працями викладачів та їх школи:
- Магістр Грач Є.Г., керівник Федяєв О.І. Випускна робота «Модель підприємства як інтелектуальна штучна система для аналізу і управління на основі знань».
- Магістр Лямін Р.В., керівник Федяєв О.І. Випускна робота «Багатоагентна система навчання студентів на кафедральному рівні».
- Магістр Зайцев І.М. керівник Федяєв О.І. Випускна робота «Моделі колективної поведінки інтелектуальних агентів у багатоагентних системах моделювання та керування підприємством».
- Аспірант Жабська Т.Є., керівник Федяєв О.І.
- Магістр Терзі І.І., керівник Святний В.А. Випускна робота «Аналіз і розробка механізмів координації й співробітництва для агентно-орієнтованих систем».
- Магістр Гаврік С.С., керівник Телятников А.О. Випускна робота «Розробка системи управління командою роботів-футболістів».
- Магістр Євдокімов А.А., керівник Вороной С.М. Випускна робота «Розробка та дослідження програмних агентів для розподілених обчислень в Грiд середовищі».
Окрім ДонНТУ дослідженнями в галузі багатоагентних систем займаються в Донецькому державному університеті інформатики і штучного інтелекту.
Теорія багатоагентних систем для України в цілому є напрямом наукової діяльності, що тільки розвивається, на відміну від Росії, де дослідженням багатоагентної проблематики присвячено багато робіт Городецького В.І., Поспєлова Д.А., Тарасова В.Б. та їх шкіл. Прикладом напрямів застосування багатоагентних систем можуть стати результати пошуку за ключовими фразами на сайті 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]. Агент Комірник видає порцію сировини зі складу, а агент Кран-балка приймає і транспортує сировину до місця призначення (бункеру).
Виконано:
- створени схеми опису ролей Комірника і Кран-балки (як частина моделі ролей 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