1.5 Архитектура мультиагентных приложений - Средства для создания программных агентов
В общем случае среда, в которой действует агент, имеет определенное поведение, которое может быть известно полностью или частично. Состояние среды зависит от информации, имеющейся у агента, а также от таких ее свойств: дискретность состояния, детерминированность действий, динамичность или статичность, синхронное или асинхронное изменение состояния и т. п.
В отличие от традиционных систем, в которых решение ищется с помощью централизованных, последовательных и детерминированных алгоритмов, в мультиагентных системах решение достигается в результате распределенного взаимодействия множества агентов - автономных программных объектов, нацеленных на поиск возможно не столько полностью оптимального, сколько наилучшего из возможных решений на каждый момент времени. Если найденный агентом лучший вариант уже забронирован другим агентом, агенты оказываются способны выявить конфликт и разрешить его путем переговоров, в ходе которых достигается компромисс, отражающий временное, и, как правило, неустойчивое равновесие (баланс) их интересов.
Этот новый принцип радикально отличает такие решения и позволяет применять мультиагентные инструменты, продукты и системы для решения самых сложных задач.
В целом, мультиагентные системы или агентно-ориентированное программирование являются следующим шагом в развитии объектно-ориентированного программирования (ООП) и интегрируют в себе достижения последних десятилетий в сфере искусственного интеллекта, параллельных вычислений и телекоммуникаций.
Различают три базовых типа архитектуры мультиагентных систем (МАС):
- 1. архитектура, основанная на принципах и методах работы со знаниями; 2. архитектура, основанная на поведенческих моделях; 3. гибридные построения, сочетающие в различных соотношениях особенности двух первых архитектур.
C классической точки зрения архитектура на основе знаний это такая архитектура, которая содержит символьную модель мира, представленную в явной форме, и в которой принятие решений о действиях, которые должны быть предприняты агентом, осуществляется на основе рассуждений логического или псевдо-логического типов. Такой агент может рассматриваться как специальный случай системы, основанной на знаниях.
Сначала идея агента, основанного на знаниях, строилась на чисто логической основе и представлялась весьма перспективной. Однако позднее было обнаружено, что лежащее в основе такого подхода исчисление предикатов первого порядка неразрешимо. Более того, такие ментальные свойства агента, как убеждения, желания, намерения, обязательства по отношению к другим агентам и т. д, невыразимы в терминах исчисления предикатов первого порядка. Были разработаны некоторые специальные варианты расширений модальных логик и подобных модальным, которые оказались с точки зрения реализуемости более удачными. Такие архитектуры были названы Belief-Desire-Intention (BDI) - архитектурами. [6]
В системах, построенных на поведенческих моделях, главным образующим понятием является "ситуация", в которой оказался агент, и "побудительный мотив" к выработке адекватного этой ситуации действия или поведения ("реакция") агента. Поведенческие модели чаще всего строятся на правилах выработки адекватных реакций. Или, если разнообразие ситуаций не катастрофично - применяются алгоритмы, позволяющие создать конечный автомат с ограниченными возможностями. Агенты МАС данного типа называются реактивными, а их реакция на тот или иной побудительный мотив всегда рассматривается как результат соотнесения состояния внешней среды и внутреннего состояния агента.
Наиболее перспективны гибридные МАС, сочетающие "лучшие" качества поведенческих и продукционных моделей. Гибридные МАС часто используют принцип специализации своих агентов. Примечательно, что БЗ агентов таких систем имеет знания трех уровней - о предметной области, о возможных взаимодействиях с другими агентами (если своих недостаточно) и специальные знания, обеспечивающие оптимальное управление системой.
Выводы по I главе
В данной главе было дано определение программного агента, а так же проведен анализ существующих программных агентов. В рамках данной работы были рассмотрены следующие типы программных агентов: агенты-покупатели или торговые боты, пользовательские и персональные агенты, агенты по мониторингу и наблюдению и агенты по добыче и анализу данных.
В рамках данной главы рассмотрен инструментарий для создания программных агентов, который включает языки и программные средства реализации агентов, языки коммуникации агентов, языки описания поведения агентов и законов среды, языки представления и управления знаниями, языки формализации и спецификации агентов и мультиагентных систем (МАС).
Так же в данной главе рассмотрены языки программирования программных агентов, в результате чего можно сделать вывод, что при программировании агентов чаще всего применяются языки объектно-ориентированного программирования (Си++, Java), реже используются символьные языки и языки логического программирования (LISP, Oz).
Кроме этого проведен анализ существующих программных платформ для создания программных агентов, рассматривались такие платформы как NetLogo, StarLogo, Repast Simphony, Eclipse AMP, JADE, Jason.
В результате данного анализа можно сделать вывод, что наиболее предпочтительна платформа JADE, так как единственным существенным минусом при таком подходе является необходимость детального изучения библиотеки. Однако использование самостоятельных систем не даст нам в этом особого преимущества, поскольку тоже требует детального изучения особого языка программирования, притом довольно небогатого по предоставляемой функциональности и расширяемости.
В данной главе рассмотрены средства спецификаций типовых моделей на примере специального объектно-ориентированного языка RADL (Reticular Agent Definition Language).
Далее в данной главе более подробно рассматриваются мультиагентные системы и архитектура мультиагентных приложений. В результате проделанной работы можно сделать вывод, что мультиагентные системы - это одно из новых перспективных направлений искусственного интеллекта. Ключевым элементом этих систем становится программный агент, способный воспринимать ситуацию, принимать решения и взаимодействовать с другими агентами. Эти возможности радикально отличают МАС от существующих "жестко" организованных систем, обеспечивая им такое принципиально важное новое свойство, как способность к самоорганизации.
Похожие статьи
-
2.2 Модель программного агента ресурсов - Средства для создания программных агентов
Программный агент в мультиагентной системе имеет свое описание в виде BDI модели, которая содержит его знания, планы и цели, которые агент выполняет по...
-
1.4 Средства спецификаций типовых моделей - Средства для создания программных агентов
Рассмотрим типовую модель, которая получила название Reticular Agent Mental Model (RAMM) и является развитием модели Шохама (Shoham), где все действия...
-
Для создания программных агентов используют языки описания и реализации, которые удобно представить в виде многослойной структуры, включающей пять слоев:...
-
3.2 Построение модели программного агента - Средства для создания программных агентов
В данной работе для построения программного модуля используется технология Jadex, которая позволяет моделировать BDI агентов с наборами фактов, целей,...
-
2.1 Среды разработки для построения программных агентов Инструментальные средства разработки программных агентов формируют среду, которая оптимизирована...
-
1.1 Анализ существующих программных агентов Согласно классическому определению, программный агент -- это программа-посредник. Эти посредники...
-
3.1 Описание программного модуля Jadex - это агент, ориентированный на собственный механизм принятия решений, взаимодействуя с XML и Java файлами,...
-
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования. В рамках этого направления...
-
Для программирования агентов могут применяться: универсальные языки (Java, C++ , Visual Basic и др.), языки представления знаний (SL, KIF), языки...
-
Система Windows NT не является дальнейшим развитием ранее существовавших продуктов. Ее архитектура создавалась с нуля с учетом предъявляемых к...
-
Тестируемый программный продукт является высокопроизводительным приложением, которое предоставляет возможность создания и настройки сетей беспроводного...
-
Архитектура Teradata Teradata Database - система массовой параллельной обработки данных. Поставляется она в виде комплекса оборудования и программного...
-
Математическое и программное обеспечение (МО, ПО)- совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач...
-
При разработке практически всех инструментальных средств за основу принимается методология автоматизации проектирования на базе использования прототипов....
-
Проектирование модели - Разработка программного приложения "Калькулятор коммунальных услуг"
При проектировании информационных систем предметная область отображается моделями данных нескольких уровней. Число используемых уровней зависит от...
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
Обоснование выбора средств для разработки В качестве платформы была взята платформа NET, потому что платформа NET на текущий момент самая передовая и...
-
Введение: - Классификация программ для ПК: системные и прикладные программные средства
На сегодняшний день в мире существует более 130 миллионов ком-пьютеров и бо-лее 80 % из них объединены в различные информационно-вычислительные сети от...
-
Программные средства создания растровых изображений Среди программ, предназначенных для создания компьютерной двумерной живописи, самыми популярными...
-
ОС Android - операционная система для мобильных телефонов, планшетных компьютеров и нетбуков, основанная на ядре Linux. Изначально разрабатывалась...
-
Комплекс инструментов Oracle Exalytics Комплексное решение Oracle Exalytics создано для обеспечения высокой производительности аналитических систем и...
-
Для разработки программного продукта нами была выбрана СУБД Microsoft Access 2010, которая позволяет выполнять простейшие операции с данными: Ѕ добавить...
-
Для вызова ЛЕКСИКОНа следует набрать LEXICON или LEXICON имя редактируемого - файла Если в команде вызова ЛЕКСИКОНа указано имя файла, которого нет на...
-
Проектирование и разработка сайта Средства разработки Язык гипертекстовой разметки HTML В Интернете сосредотачивается и передается достаточно большое...
-
Проблема представления знаний в компьютерных системах - одна из основных проблем в области искусственного интеллекта. Решение этой проблемы позволит...
-
Общие сведения Данное программное средство должно помочь в расчете коммунальных услуг, упростить ввод данных о квартиросъемщике и ЖЭС, осуществлять...
-
Появление на рынке систем управления электронными документами - EDMS (Electronic Document Management Systems) вызвано стремлением сократить поток...
-
При перезагрузке Raspbery счетчик counter сбрасывается и файлы начинают перезаписываться. Для того, чтобы обойти данную проблему воспользуемся переносом...
-
Стек технологий При выборе стека технологий основное внимание уделялось следующим факторам, в порядке убывания значимости: § Кроссплатформенность; §...
-
Инструменты разработки - Разработка программного приложения "Калькулятор коммунальных услуг"
Инструментами разработки для программного приложения будут являться: - визуальная среда проектирования Microsoft Visual Studio 2008; - Microsoft...
-
Для реализации поставленной задачи методом конечных элементов будут использованы следующие программные обеспечения (ПО): - MATLAB - ПО и одноименный язык...
-
Введение - Разработка программного средства, позволяющего оптимизировать SQL-скрипты
Актуальность. В настоящее время трудно найти фирму, которая не использовала бы базы данных в той или иной форме - учет сотрудников, клиентов, продаж....
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
Для проверки соответствия требованиям ТЗ, была поставлена задача разработки 3-D модели корпуса Kyocera KD-PB1D79 при помощи системы AutoCAD. В этой части...
-
В работе использовались следующее программное обеспечение для решения поставленных задач: AutoCAD, ANSYS Workbench, ANSYS Icepak. Система AutoCAD...
-
В настоящее время систем видеонаблюдения на рынке продается очень много, и обычно бывает очень сложно принять правильное решение, выбрать нужное решение....
-
Программные средства защиты - Инженерно-техническая защита объектов
Системы защиты компьютера от чужого вторжения весьма разнообразны и классифицируются, как: Средства собственной защиты, предусмотренные общим программным...
-
В данном разделе была разработана функциональная схема работы программного комплекса, которая в общем виде описывает состав комплекса, характер и виды...
-
Введение - Программное обеспечение для пропускной системы на основе технологии NFC
Массовые мероприятия стали неотъемлемой частью современного мира. Для таких мероприятий требуется быстрая организация временного разделенного доступа для...
-
Гражданский кодекс Российской Федерации в части четвертой регулирует вопросы охраны результатов интеллектуальной деятельности и средств индивидуализации....
1.5 Архитектура мультиагентных приложений - Средства для создания программных агентов