
- •1. Програмні агенти та мультиагентні системи. Коротка історична довідка.
- •2. Автономні агенти та їх класифікація.
- •3. Поняття програмного агента.
- •4. Властивості програмних агентів.
- •5. Таксономія програмних агентів.
- •6. Приклади використання програмних агентів.
- •7. Партнерські агенти.
- •8. Інтерфейсні агенти.
- •9. Мобільні агенти.
- •10. Інформаційні та Internet агенти.
- •11. Реактивні агенти.
- •12. Гібридні агенти.
- •13. Суть мультиагентних систем та деякі основні поняття.
- •14. Елементи реалізації мультиагентних систем.
- •15. Зв'язок в мультиагентних системах.
- •16. Питання взаємодії агентів в мультиагентних системах.
- •17. Когерентність та координація в мультиагентних системах.
- •18. Переваги мультиагентних систем.
- •19. Основні характеристики і види взаємодії агентів.
- •20. Критерії і ситуації взаємодії агентів.
- •21. Причини взаємодії агентів.
- •22. Установлення базових типів співробітництва і суперництва агентів у мас.
- •23. Кооперація агентів.
- •24. Вимоги до мов програмування агентів.
- •25. Класифікація мов програмування агентів.
- •26. Порівняльна характеристика мов. Мова Java.
- •27. Порівняльна характеристика мов. Мова kqml.
- •28. Порівняльна характеристика мов. Мова sktp та мова April.
- •29. Порівняльна характеристика мов. Мова kif.
- •30. Порівняльна характеристика мов. Мова AgentSpeak.
- •31. Порівняльна характеристика мов. Мова TeleScript.
- •32. Порівняльна характеристика мов.Мова Agent-Tcl та мова Oz.
- •33. Порівняльна характеристика мов. Мова akl та мова Penguin.
- •34. Висхідний і низхідний підходи до проектування мас.
- •35. Еволюційне та коеволюційне проектування мас.
- •36. Опис ключових моделей, що визначають мас.
- •37. Основи стандартної методології проектування мас.
- •38. Основи об’єктно-орієнтованої розробки мас.
- •39. Методика низхідного проектування мас.
- •40. Архітектура взаємодії системи агентів.
- •41. Загальна класифікація архітектур.
- •42. Архітектури агентів, засновані на знаннях.
- •43. Архітектура на основі планування (реактивна архітектура).
- •44. Приклади архітектур агентів.
- •45. Вимоги до інструментальних засобів для побудови мультиагентних систем.
- •46. Інструментальне середовище mas-dk.
- •47. Інструментальне середовище jade (Java Agent Development Framework).
- •48. Інструментальне середовище ingenias Development Kit (idk).
- •49. Інструментальне середовище jason.
- •50. Інструментальний програмний комплекс disit (Distributed Intellectual System Integrated Toolkit).
- •51. Мультиагентні системи в електронній комерції.
- •52. Мультиагентна система для підтримки прийняття рішень на фондовому ринку.
- •53. Мультиагентні системи для вирішення задач логістики.
- •54. Мультиагентні системи в державному управлінні та соціальній сфері.
- •55. Мультиагентні системи в електроенергетиці.
- •56. Моделювання як спосіб вирішення проблем в реальному світі.
- •57. Імітаційне моделювання та його основні парадигми.
- •58. Агентно-орієнтоване моделювання. Суть агентно-орієнтованого моделювання.
- •59. Агентно-орієнтоване моделювання. Суть агентно-орієнтованого моделювання. Побудова агентних моделей. Засоби розробки систем аом.
- •60. Соціально-економічні системи як сукупності активних агентів.
- •61. Приклади агентно-орієнтованого моделювання соціально-економічних процесів та систем. Агентно-орієнтоване моделювання діяльності на фондовому ринку.
- •62. Приклади агентно-орієнтованого моделювання соціально-економічних процесів та систем. Агентно-орієнтоване моделювання ланцюгів постачань на підприємствах.
- •63. Приклади агентно-орієнтованого моделювання соціально-економічних процесів та систем. Використання агентно-орієнтованого моделювання в банківській діяльності.
- •64. Приклади агентно-орієнтованого моделювання соціально-економічних процесів та систем.
25. Класифікація мов програмування агентів.
Класифікацію агентів можна провести в двох напрямках – на їхінструментальної реалізації (мови програмування агентів) і за основнимиприкметами, якими вони володіють.Слід зазначити, що на сьогодні не існує мови програмування, чи інструментальної системи розробки, яка б повністю відповідалавимогам побудови агентів. З точки зору принципів розподіленогооб'єктно-орієнтованого програмування (ООП) необхідність передачіметодів може бути істотно скорочена в тому випадку, якщо може бутизабезпечений віддалений доступ до загальних методів за допомогою передачі посилань навіддалені об'єкти, даних примірників цих об'єктів і їх статків. Однакна додаток до концепції ООП, кожний агент має можливість створення копійсамого себе з повною або обмеженою функціональністю, забезпечуючиможливість налаштування на середу шляхом виключення неефективних методів ізаміни їх новими. Традиційна для ООП схема клас/об 'єкт порушується, тому щоагент має можливість постійної зміни сценарію поведінки без йогозміни в батьківському класі. Багатозначне спадкування дозволяєстворювати екземпляри агентів, змішуючи сценарії поведінки, схемиуспадкування та атрибути, визначені у батьківських класах. Отже, система розробки, яка б повністю відповідалавимогам побудови агентів, мала б відповідати такимвимогам: забезпечення перенесення коду на різні платформи,доступність на багатьох платформах, підтримка мережевої взаємодії,Багатопотокова обробка та деякі інші. Нижченаведена класифікаціямов, що найчастіше використовуються у технології інтелектуальних агентів. Слід зазначити, що границі між групами носять достатньо умовний характер. 1) Універсальні мови програмування (Java). 2) Мови, «орієнтовані на знання»: а) мови представлення знань (KIF), б) мови переговорів і обміну знаннями (KQML, AgentSpeak, April), в) мови специфікацій агентів. 3) Спеціалізовані мови програмування агентів (TeleScript). 4) Мови сценаріїв і scripting languages (Tcl/Tk). 5) Символьні мови і мови логічного програмування (Oz).
26. Порівняльна характеристика мов. Мова Java.
Java – імовірно, одна з найбільш популярних мов, щовикористовуються останнім часом для програмування агентів. Java представляє із себе мову програмування, подібну до C++ за синтаксисом, але більш схожу зі Smalltalk і Objective-C за ідеологією. Система програмування на Java містить у собі віртуальну машину Java і транслятор з Java у bytecode.Мова Java передбачає створення додатків, що переносяться на різні платформи. Програма, написана на Java, компілюється в спеціальний машинно-незалежний байт-код. Потім цей код може бути виконаний за допомогою інтерпретатора Java на будь-якому комп'ютері, де реалізована Java Virtual Machine.Тим самим забезпечується платформо-незалежність Java - додатків на рівні байта-коду, що може надходити відкіля завгодно, включаючи Web-сторінку, у якій міститься посилання на нього. Java Virtual Machine працює в середовищівитискуючої мультизадачності і підтримує полегшені процеси (threads). Засоби створення і синхронізації таких процесів включені в Java на рівні мовних конструкцій і класів. Засоби мультизадачності також покликані забезпечити реакцію системи в реальному часі для мультимедійнихх додатків, критичних дочасу. Java являє собою дійсно об’єктно-орієнтовану мову програмування із сильною типізацією. Схожість з C++ робить її простою для вивчення програмістами. В ній відсутній гранично чіткий розподіл пам'яті і для підвищення надійності програм з мови виключена арифметика покажчиків. Кожен тип даних розуміється як клас об'єктів, будь-яка функція є методом класу. Її виклик розглядається з об’єктно-орієнтованихпозицій як посилка повідомлення об'єкту. Існуєвбудована розширювана бібліотека класів, що включає Abstract Window Toolkit (AWT) для створення користувацьких інтерфейсів, класи підтримки основних типів даних, threads, мережних можливостей, графіки, мультимедіа тощо. Мова Java був спроектована з урахуванням можливості створення додатків, щопрацюють у розподіленому середовищі.Крім підтримки можливостей TCP/IP, таких як читання URLs, роботу із сокетами та обмін повідомленнями на рівні датаграмм, у Java передбачений механізм віддаленого виклику об'єктів, визначений у специфікації RMI (Remote Method Invocation). Цей механізм дозволяє викликати методи віддаленихоб'єктів, оголошені в спеціальному інтерфейсі, причому синтаксично такий виклик виглядає ідентично виклику простого методу. Ця схема надає більш гнучкі можливості в порівнянні з традиційним протоколом RPC (Remote Procedure Call). Механізм серіалізації (Serialization) дозволяє зберігати об'єкти і графи об'єктів у потоках даних (файлах, мережних каналах) і відновлювати їх при необхідності. На сьогоднішній день Java доступна на наступних платформах: Windows 95/NT, Solaris (Intel, SPARC), Macintosh System 7.5.