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

Развитие программных агентов и средств из разработки. Средства спецификаций типовых моделей. Языки программирования и программные платформы для создания программных агентов. Архитектура мультиагентных приложений. Модель программного агента ресурсов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.10.2016
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Для достижения этой цели JADE предлагает програмисту-разработчику агентных систем следующие возможности:

1. агентную платформу FIPA-compliant Agent Platform, основанную на FIPA и включающую обязательные типы системных агентов для управления, во-первых, агентной платформой (AMS), во- вторых, каналом коммуникации (ACC) и службы каталогов (DF) (эти типы агентов автоматически активируются при запуске платформы);

2. распределенную агентную платформу Distributed Agent Platform, которая может использовать несколько хостов, при чем на каждом узле запускается только одна Java Virtual Machine. Агенты выполняются как Java- потоки. В зависимости от местонахождения агента, посылающего сообщение, и того, кто его получает, для доставки сообщений используется соответствующий транспортный механизм.

3. Multiple Domains support - ряд основанных на FIPA DF-агентов могут объединится в федерацию, таким образом реализуя мультидоменную агентную среду.

4. Multithreaded execution environment with twolevel scheduling. Каждый JADE-агент имеет собственный поток управления, но он также способен работать в многопотоковом режиме. Java Virtual Machinе проводит планирование задач, исполняемых агентами или одним из них.

5. Object-оriented programming environment. Большинство концепций, свойственных FIPA- спецификации, представляются Java-классами, формирующими интерфейс пользователя.

6. Library of interaction protocols. Используются стандартные интерактивные протоколы fipa request и fipa-contract-net. Для того, чтобы создать агента, который мог бы действовать согласно таким протоколам, разработчикам прикладных программ нужно только имплементировать специфические доменные действия, в то время как вся независимая от прикладной программы протокольная логика будет осуществляться системой JADE.

7. Administration GUI. Простые операции управления платформой могут исполняться через графический интерфейс, отображающий активных агентов и контейнеры агентов. Используя GUI, администраторы платформы могут создавать, уничтожать, прерывать и возобновлять действия агентов, создавать иерархии доменов и мультиагентные федерации DF (фасилитаторов).

JADE базируется на технологиях Java RMI, Java CORBA IDL, Java Serialization и Java Reflection API. Разработка МАС в этой среде упрощается благодаря использованию FIPA-спецификаций и ряда инструментов поддержки фазы отладки и развертывания системы. Эта агентная платформа может устанавливаться на компьютерах с разными операционными системами, и ее можно конфигурировать через удаленный GUI-интерфейс. Процесс конфигурирования этой платформы достаточно гибкий: ее можно изменить даже во время исполнения программ, посредством перемещения агентов с одной машины на другую. Единственным требованием для работы системы является установка на машине Java Run Time 1.2.

Каждый запущенный экземпляр среды JADE является контейнером, т.к. может содержать несколько агентов. Группа активных контейнеров образуют платформу. Главный контейнер всегда должен быть активен, а все другие контейнеры должны быть зарегистрированы им при их создании. Поэтому, первый контейнер, запущенный на платформе является основным контейнером, а все остальные - обычными контейнерами и должны получить указания о том, где находится их основной контейнер, на котором они должны быть зарегистрированы. Если в сети запускается еще один основной контейнер, то он представляет собой другую платформу, на которой новые обычные контейнеры имеют возможность зарегистрироваться. На рисунок 2.4 показаны приведенные выше концепции платформы и контейнера и показывает сценарий с двумя JADE платформами, состоящими из трёх и одного контейнера соответственно.

Рис. 2.4 Среда «существования» агентов JADE

JADE агенты должны иметь уникальные имена, знать имена друг друга и, благодаря этому, они могут общаться напрямую, независимо от их фактического местонахождения, т.е. внутри одного контейнера (например, агенты A2 и A3), в различных контейнерах внутри одной платформы (например, A1 и A2) или в различных платформах (например, A4 и A5). Основной контейнер отличается от обычных тем, что содержит систему управления агентами и маршрутизатор, которые автоматически запускаются при запуске основного контейнера. Система управления агентами AMS (Agent Management System), представляет собой «власть» в платформе (создание / удаление агентов в удаленных контейнерах, запрашиваемых через AMS) и обеспечивает службу именования агентов. Маршрутизатор каталогов DF (Directory facilitator), который обеспечивает сервис «Жёлтых страниц», помогает найти агенту других агентов, для получения от них необходимых услуг, необходимых ему для достижения своих целей.

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

В последних версиях системы используется Java RMI, event-notification и IIOP. Однако, можно легко добавить и другие протоколы. Также предусмотрена возможность интеграции SMTP, HTTP и WAP. Большинство коммуникационных протоколов, которые уже определены международным сообществом разработчиков агентных сред, доступны и могут иллюстрироваться на конкретных примерах после определения поведения системы и ее основных состояний. Вместе с поддержкой определенных пользователем контентных языков, реализованы онтологии управления агентами, а также онтологии, которые могут быть реализованы и зарегистрированы агентами и использованы системой. С целью существенного расширения работоспособности JADE, предусмотрена возможность интеграции с JESS и Java-оболочкой CLIPS.

Сравнительный анализ возможностей рассматриваемых инструментальных сред для разработки программных агентов приводится в таблице 4. А на рисунке 2.5 приведены результаты данного анализа.

Таблица 4. Сравнительный анализ возможностей инструментальных сред для разработки программных агентов

Возможности инструментальных сред

Agent Builder

Bee-gent

JACK

JADE

Средства построения агентств

да

нет

нет

нет

Средства управления проектом

да

нет

да

нет

Графическая среда для определения спецификаций агентов

да

нет

да

нет

Механизм контроля целостности

да

нет

да

нет

Средства построения онтологии

да

нет

нет

нет

Библиотека для разработки МАС

да

да

да

да

Механизм рассуждений агента о своих способностях и способностях других агентов

да

нет

да

нет

Формальный язык коммуникации

да

да

да

да

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

да

нет

да

да

Механизм поиска агентов с заданными способностями

нет

нет

нет

да

Оценка возможностей инструментальных сред в %

90%

20%

70%

40%

Рис. 2.5 Оценка возможностей инструментальных сред в %

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

Необходимо обратить внимание на то, что для платформы JADE существует дополнительное BDI расширение - среда Jadex. Эта среда предусматривает гибридную реактивно-делиберативную архитектуру, в которой агент рассматривается как «черный ящик», принимающий и отправляющий сообщения. Основываясь на результатах обработки сообщений, внутренних и внешних событий, делиберативный механизм принимает решения о переходе к новому плану действий или продолжению старого. Действующий план может посылать сообщения другим агентам, изменять базу убеждений, формировать новые цели и вызывать внутренние события. Система использует библиотеку планов, которые обрабатываются как Java-классы.

Одним из главных преимуществ разработки интеллектуальных агентов на платформе Jadex является то, что не требуется изучения новых языков программирования. Вместо этого агенты кодируются на базе объектно-ориентированного программирования в интегрированной среде разработки (IDEs), типа Eclipse и Intellij IDEA.

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

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

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

Проведенный анализ наиболее известных инструментальных систем позволил выбрать эффективную и доступную среду Jadex.

2.2 Модель программного агента ресурсов

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

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

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

Jadex поддерживает 4 вида целей:

1. цель выполнения - утверждает, что должно быть выполнено, но не обязательно приведет к определенному результату;

2. цель достижения - описывает абстрактное целевое состояние, которое необходимо достигнуть, без определения как это сделать. Таким образом, агент может опробовать разные альтернативы, для достижения цели;

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

4. цель поддержания - специфицирует состояние, которое должно сохраняться, и может вызываться, после того как будет выполнена.

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

Знания представляют осведомленность агента об окружающей среде и о себе непосредственно. В Jadex знания могут быть представлены любыми объектами java. Они сохраняются в базе знаний и могут быть упомянуты в выражениях, доступны и изменяются в зависимости от планов, использующих базы знаний приложения. Знания описываются в ADF-файле и обращаются к измененному плану, определяя единственную оценку плана и соответствии его требуемым результатом. Рассмотрим схему работы программного агента ресурсов (рис. 2.6). Работа агента начинается с того, что агент координатор (1 блок модели) посылает агенту ресурса запрос на поиск информации. Далее запускается агент ресурсов (2 блок модели), после подачи запроса на поиск информации, которую ищет пользователь с помощью других агентов. После этого управление передается в следующей блок модели для поиска необходимой информации по метаданным. Агент координатор управляет взаимодействием между всеми агентами. В данной схеме возможно два варианта событий, при которых искомая информация либо найдена, либо нет. Если информация не найдена, агенту координатору отправляется сообщение о том, что данный ресурс отсутствует (блок 4). Если же информация найдена (блок 5), тогда агенту координатору перенаправляется материал, который был найден. При выполнении блока 4 или 5 функция агента считается выполненной. После чего агент переходит в спящий режим (блок 6), до того времени пока не появится новая необходимость в работе агента.

Рисунок 2.6 Схематическая модель работы программного агента ресурса

На рассматриваемой схематической модели (рис 2.6) наглядно разобрана схема работы программного агента ресурса. Кроме этого на данной схеме описаны цели, факты и планы, которые агент будет достигать в процессе своей работы.

Выводы по II главе

Широта исследований в области мультиагентных систем, сложность архитектуры и многообразие компонент агентов, различные методологии представления МАС породили множество программных средств для их разработки.

В данной главе были подробна рассмотрены наиболее известные и популярные среды разработки агентов, а так же проведен сравнительный анализ возможностей таких инструментальных сред для разработки программных агентов, как АВЕ (Agent Building Environment), Bee-gent, JACK и JADE.

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

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

Глава III. Развитие программных агентов и средств их разработки

3.1 Описание программного модуля

Jadex - это агент, ориентированный на собственный механизм принятия решений, взаимодействуя с XML и Java файлами, поддержки этих решений.

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

Чтобы создать агента необходимо определить в системе свойства агента.

Действия агента описываются с помощью представлений, целями и планами. Помещая их, в так называемую библиотеку XML файла, этот файл называется ADF (agent definition file) файл определения агента. В ADF файле определяются агент как объект, описанный в классах java-файлов.

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

Функционирование в агента в системе происходит за счет получения от системы и отправка измененных сообщений в систему. Система подает на вход агенту какое-то сообщение, после чего агент заносит его так в так называемый модуль событий. Передавая его в блок обработки сообщений, и далее передавая его по цепочке в блок планов, анализирует его. Где событие анализируется к принадлежности агента. Если сообщение не принадлежит агенту, то оно передаётся обратно в систему не изменённым. Блок планов, обрабатывая событие, сравнивает их с собственной базой планов и при положительном сравнении с планами начинает обработка сообщения в базе знаний, откуда поступает для сравнения с целями агента для передачи в модуль событий. Пройдя весь цикл сравнения и преобразования данных, в установленные задачи, поступает в систему для дальнейшего функционирования.

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

Рассмотрим базовый алгоритм построения агента на платформе Jadex. Разрабатывая приложение с использованием Jadex, программист обязан создавать два типа файлов: XML-файлы обозначая агента и Java-файлы для выполнения планов. Файл определения агента используется как спецификация для классов выполнения плана, базирующийся на объявлениях действий этого плана и основных фактах взаимосвязи между ними. Файлы с форматом XML и Java, определяют функциональные возможности агента.

В главном файле агента XML определяются все функциональные возможности, которыми будет наделен агент такие как: imports, capabilities, beliefs, goals, plans, events, expressions, properties, initial states. Когда ADF и java загружены, объекты созданные для xml в ADF, позволяют системе взаимодействовать, используя Jadex платформу для принятия решений по определенным действиям и взаимодействия внутри программного модуля.

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

Самая интересная и широко распространенная архитектура агента - это введенная архитектура Цели-Факты-Планы (BDI). Данная архитектура состоит из понятий знаний, фактов и целей как мысленные отношения, которые генерируют человеческое действие. Приняли эту модель, и преобразовали в формальную теорию и модель выполнения для агентов программного обеспечения, основанных на мнении фактов, целей, и планов. Jadex объединяет эту модель в агентов Jade, вводя цели, факты и планы для манипуляции внутри агента. В Jadex, агенты имеют знания, которые могут быть каким-нибудь видом объектов Java, и запомнены в базу знаний. Цели изображают конкретные побуждения (состояния, которые достигнуты)

3.2 Построение модели программного агента

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

Разрабатываемый модуль агента BazaZnanii: содержит модули по формированию терминов BazaZnaniiDictionary.xml к нему прилагается документ BazaZnaniiDictionary.dtd определяющий тип документа, определяет законные блоки документа XML, структуру документа со списком законных элементов (атрибутов). Также содержит модуль логического ответа пользователю BazaZnaniiAgent.xml.

Вся база знаний представлена в XML файле и находится в Приложении 1, а описание его тегов контролируется в DTD файле. В данном XML файле под названием BazaZnaniiDictionary.xml описывается перечень терминов, которые будут использоваться агентом при поиске материала обучаемому студенту.

<?xml version="1.0"?> данный тег обозначает версию документа. <!DOCTYPE bazaznanii SYSTEM "GlossaryDictionary.dtd"> данная строка показывает, что мы определяем структуру нашего документа XML в DTD формате. В начале XML файл описывается заглавным тегом, определяющим его назначение <bazaznanii>…</bazaznanii>. Описываем название с помощью атрибута title ="…" и дату создания orderDate="…?...?..." Уже в нем мы определяем наши термины <terms>…</terms>. Свойства термина описываем, используя, теги: <term>…</term> - тег, которым мы объявляем термин. value="term…" - значения термина при поиске в перечне материла. Далее объявляем его имя с помощью тега <name>…</name>. <image ref="...> данный тег описывает рисунки к тому термину, который ему соответствует. <count>…</count> отвечает за количество определений термина. А в свою очередь определения обозначаются как <definition>…</definition>, и уже в нем мы описываем count="…" какое это определение по счету. Также существуют вложенные гиперссылки - <giperlink>…</giperlink>, которые отвечают за то, что бы при просмотре термина, когда человек переходит на вложенную ссылку агент мог отреагировать на этот запрос.

Описание интеллектуального агента базы знаний происходит также через xml формат. В нем мы описываем цели, которые агенту необходимо достичь. Также описываются планы, факты, события с помощью каких агент достигает этих целей. Описание агента базы знаний можно увидеть на ниже изложенных рисунок 3.1-3.8:

Рисунок 3.1Общееописаниеагентабазы знаний

Рисунок 3.2 Импортируемые библиотеки

Рисунок 3.3Цели работы агента

Рисунок 3.4 Используемые знания агентом, которые описывают исполняемые факты

Рисунок 3.5Исполняемые планы агента

Рисунок 3.7 События, выводимые сообщения для передачи иным агентам или конечному пользователю

Рисунок 3.8Описывает начальное состояние агента и завершение его описания

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

Рассмотримпостроениепрограммного агента с использованием платформы Jadex. Для начала агент описывается в HTML в соответствии с заданными планами, целями и фактами, как это представлено выше.

Рассмотрим характеристики агента. Агент имеет такие характеристики как:

· наличие запроса и поиска дополнительной информации;

· открытие найденой искомой информации;

· просмотр необходимой информации.

Входная информация:

· запрос на поиск необходимого материала.

Выходная информация:

· найденная по ссылке информация.

В разрабатываемом агенте выделяется две цели. Это цели вида запроса (query) и главная цель (main goal). Цель запроса изображает необходимость в информации, выполняет поиск условий. Представляет необходимость в информации. Главная цель - это предоставить студенту дополнительную информацию. Эта цель специфицирует состояние, которое должно быть достигнуто.

В знаниях описываются происходящие факты в ходе работы агента. В нашем случае описывается семь знаний, в которых определяются факты. При запуске агента вызывается факт Restart agent. Следующим фактом есть зарос на поиск QuerySearch, показывает присутствие запроса на дополнительную информацию и выполняет поиск терминов от списка материалов. Открытие искомой информации со словаря выполняется с помощью факта ContentOpen. TermNotFound - говорит о том, что будет отправлено сообщение об ошибке агенту координатору. А агенту чата отправляется сообщение с помощью факта NoTerm о том, что необходимо, чтоб преподаватель выложил необходимый материал, которого нет в наличии. Отсылается сообщение студенту о неправильной ссылке. SleepMode - показывает переход агента в спящий режим.

В разрабатываемом агенте выделяются планы restart, reference, search, content_open, coordinator, chat, student, sleep:

· Restart - выполняет запуск агента при вызове его агентом координаторе;

· Reference - присутствие ссылок по тексту;

· Search - поиск необходимого термина;

· Content_open - отображение содержимого словаря;

· Coordinator - описание взаимодействия с агентом координатором. Отсылает сообщение об ошибке, термин не найден. Является внешним планом;

· Chat - внешний план. Описание взаимодействия с агентом чата. Отсылает сообщение о том, что материала нет в наличии;

· Student - вывод сообщения студенту. Отсылает сообщение о том, что ссылка неправильная и материала нет в наличии;

· Sleep - агент переходит в спящий режим.

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

3.3 Влияние программных агентов на развитие экономики

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

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

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

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

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

Роль программных агентов в развитии экономики весьма существенна. Так например в РФ в МАНПЭ занимаются агент-ориентированными моделями экономики. Агентная модель воспроизводит развитие большой экономики во времени путем симуляции взаимодействия большого множества независимых экономических агентов (фирм, домохозяйств, рынков, гос. регуляторов).

Данный подход позволяет имитировать реальные экономические процессы на микроуровне с любой степенью детализации и измерять суммарный эффект на уровне всей системы. Подход дает возможность проводить реалистичные компьютерные эксперименты развития сложных систем. В контексте экономики России это может быть использовано в целях:

1. оценки последствий проведения экономических политик (потребители - государственные органы, экономические регуляторы);

2. измерения общественных эффектов крупных инфраструктурных проектов (потребители - Банки развития);

3. оценки последствий инвестиционных проектов крупного бизнеса (потребители - крупные бизнес-структуры);

4. оценки влияния внешних экономических и политических шоков на траекторию развития национальной экономики.

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

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

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

· большая протяженность и пространственная неравномерность экономической активности и распределения ресурсов;

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

Выводы по III главе

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

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

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

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

Приложение

Содержание базы знаний в XML

BazaZnaniiTerm.xml

<?xml version="1.0"?>

<!DOCTYPE bazaznanii SYSTEM "BazaZnaniiTerm.dtd">

<bazaznanii title ="The XML- Helpbook" orderDate="2016?10?10">

<terms>

<term value="term1">

<name>dictionary</name>

<count>1</count>

<definition count="1">An abstract data type storing items, or values. A value is accessed by an associated key. Basic operations are new, insert, find and delete. </definition>

<giperlink>abstract data type</giperlink>

<giperlink>key</giperlink>

</term>

<term value="term2">

<name>heap</name>

<count>1</count>

<definition count="1">A complete tree where every node has a key more extreme (greater or less) than or equal to the key of its parent. Usually understood to be a binary heap. </definition>

<giperlink>complete tree</giperlink>

<giperlink>key</giperlink>

<giperlink>node</giperlink>

<giperlink>parent</giperlink>

<giperlink>binary heap</giperlink>

</term>

<term value="term3">

<name>linked list</name>

<count>1</count>

<definition count="1">A list implemented by each item having a link to the next item. </definition>

<giperlink>list</giperlink>

<giperlink>link</giperlink>

</term>

<term value="term4">

<name>queue</name>

<count>1</count>

<definition count="1">A collection of items in which only the earliest added item may be accessed. Basic operations are add (to the tail) or enqueue and delete (from the head) or dequeue. Delete returns the item removed. Also known as "first-in, first-out" or FIFO. </definition>

<giperlink>head</giperlink>

<giperlink>tail</giperlink>

</term>

<term value="term5">

<name>stack</name>

<count>1</count>

<definition count="1">A collection of items in which only the most recently added item may be removed. The latest added item is at the top. Basic operations are push and pop. Often top and isEmpty are available, too. Also known as "last-in, first-out" or LIFO. </definition>

</term>

<term value="term6">

<name>tree</name>

<count>2</count>

<image ref="./tree.bmp"/>

<definition count="1">A data structure accessed beginning at the root node. Each node is either a leaf or an internal node. An internal node has one or more child nodes and is called the parent of its child nodes. All children of the same node are siblings. Contrary to a physical tree, the root is usually depicted at the top of the structure, and the leaves are depicted at the bottom. </definition>

<definition count="2">A connected, undirected, acyclic graph. It is rooted and ordered unless otherwise specified. </definition>

<giperlink>node</giperlink>

<giperlink>tree</giperlink>

<giperlink>parent</giperlink>

<giperlink>root</giperlink>

<giperlink>leaf</giperlink>

<giperlink>internal node</giperlink>

<giperlink>child</giperlink>

<giperlink>siblings</giperlink>

<giperlink>connected</giperlink>

<giperlink>undirected</giperlink>

<giperlink>acyclic graph</giperlink>

<giperlink>rooted</giperlink>

<giperlink>ordered</giperlink>

</term>

<term value="term7">

<name>array</name>

<count>1</count>

<definition count="1">A set of items which are randomly accessible by numeric index. </definition>

</term>

<term value="term8">

<name>array index</name>

<count>1</count>

<definition count="1">The location of an item in an array. </definition>

<giperlink>array</giperlink>

</term>

<term value="term9">

<name>child</name>

<count>1</count>

<definition count="1">A node of a tree referred to by a parent node. See the figure at tree. Every node, except the root, is the child of some parent. </definition>

<giperlink>node</giperlink>

<giperlink>tree</giperlink>

<giperlink>parent</giperlink>

<giperlink>root</giperlink>

</term>

<term value="term10">

<name>circular list</name>

<count>1</count>

<definition count="1">A variant of a linked list in which the nominal tail is linked to the head. The entire list may be accessed starting at any item and following links until one comes to the starting item again. </definition>

<giperlink>linked list</giperlink>

<giperlink>link</giperlink>

<giperlink>tail</giperlink>

</term>

<term value="term11">

<name>complete tree</name>

<count>1</count>

<definition count="1">A tree in which all leaf nodes are at some depth n or n-1, and all leaves at depth n are toward the left. </definition>

<giperlink>tree</giperlink>

<giperlink>depth </giperlink>

<giperlink>leaf</giperlink>

</term>

<term value="term12">

<name>connected graph</name>

<count>1</count>

<definition count="1">An undirected graph that has a path between every pair of vertices. </definition>

</term>

<term value="term13">

<name>depth</name>

<count>1</count>

<definition count="1">Of a node, the distance from the node to the root of the tree. </definition>

<giperlink>node</giperlink>

<giperlink>tree</giperlink>

<giperlink>root</giperlink>

</term>

<term value="term14">

<name>doubly linked list</name>

<count>1</count>

<definition count="1">A variant of a linked list in which each item has a link to the previous item as well as the next. This allows easily accessing list items backward as well as forward and deleting any item in constant time. </definition>

<giperlink>linked list</giperlink>

<giperlink>link </giperlink>

</term>

<term value="term15">

<name>dynamic array</name>

<count>1</count>

<definition count="1">An array whose size may change over time. Items are not only added or removed, but memory used changes, too.

</definition>

<giperlink>array</giperlink>

</term>

<term value="term16">

<name>height</name>

<count>1</count>

<definition count="1">The maximum distance of any leaf from the root of a tree. If a tree has only one node (the root), the height is zero.

</definition>

<giperlink>leaf</giperlink>

<giperlink>tree</giperlink>

<giperlink>root</giperlink>

</term>

<term value="term17">

<name>internal node</name>

<count>1</count>

<definition count="1">A node of a tree that has one or more child nodes, equivalently, one that is not a leaf. </definition>

<giperlink>leaf</giperlink>

<giperlink>tree</giperlink>

<giperlink>node</giperlink>

<giperlink>child</giperlink>

</term>

<term value="term18">

<name>leaf</name>

<count>1</count>

<definition count="1">A node in a tree without any children. See the figure at tree. </definition>

<giperlink>leaf</giperlink>

<giperlink>tree</giperlink>

<giperlink>node</giperlink>

<giperlink>children</giperlink>

</term>

<term value="term19">

<name>linear search</name>

<count>1</count>

<definition count="1">Search an array or list by checking items one at a time. </definition>

<giperlink>list</giperlink>

<giperlink>array</giperlink>

</term>

<term value="term20">

<name>link</name>

<count>1</count>

<definition count="1">A reference, pointer, or access handle to another part of the data structure. Often, a memory address. </definition>

<giperlink>list</giperlink>

<giperlink>array</giperlink>

</term>

<term value="term21">

<name>list</name>

<count>1</count>

<definition count="1"> A collection of items accessible one after another beginning at the head and ending at the tail. </definition>

<giperlink>head</giperlink>

<giperlink>tail</giperlink>

</term>

<term value="term22">

<name>matrix</name>

<count>1</count>

<definition count="1">A two-dimensional array. By convention, the first index is the row, and the second index is the column. </definition>

</term>

<term value="term23">

<name>node</name>

<count>2</count>

<definition count="1">A unit of reference in a data structure. Also called a vertex in graphs and trees. </definition>

<definition count="2">A collection of information which must be kept at a single memory location.

</definition>

<giperlink>graphs</giperlink>

<giperlink>trees</giperlink>

<giperlink>vertex</giperlink>

</term>

<term value="term24">

<name>order</name>

<count>4</count>

<definition count="1">The height of a tree. </definition>

<definition count="2">The number of children of the root of a binomial tree. </definition>

<definition count="3">The maximum number of children of nodes in a B-tree. </definition>

<definition count="4">The number of data streams, usually denoted, in a multiway merge. </definition>

<giperlink>height</giperlink>

<giperlink>tree</giperlink>

<giperlink>children</giperlink>

<giperlink>root</giperlink>

<giperlink>node</giperlink>

</term>

<term value="term25">

<name>ordered linked list</name>

<count>1</count>

<definition count="1">A linked list whose items are kept in some order. </definition>

<giperlink>linked list</giperlink>

</term>

<term value="term26">

<name>ordered tree</name>

<count>1</count>

<definition count="1">A tree where the children of every node are ordered, that is, there is a first child, second child, third child, etc.

</definition>

<giperlink>tree</giperlink>

<giperlink>children</giperlink>

<giperlink>node</giperlink>

</term>

<term value="term27">

<name>parent</name>

<count>1</count>

<definition count="1">Of a node: the tree node conceptually above or closer to the root than the node and which has a link to the node. See the figure at tree. </definition>

<giperlink>tree</giperlink>

<giperlink>link</giperlink>

<giperlink>root</giperlink>

<giperlink>node</giperlink>

</term>

<term value="term28">

<name>root</name>

<count>1</count>

<definition count="1">The distinguished initial or fundamental item of a tree. The only item which has no parent. See the figure at tree.

</definition>

<giperlink>tree</giperlink>

<giperlink>parent</giperlink>

</term>

<term value="term29">

<name>search</name>

<count>1</count>

<definition count="1">To look for a value or item in a data structure. There are dozens of algorithms, data structures, and approaches. </definition>

</term>

<term value="term30">

<name>self-organizing list</name>

<count>1</count>

<definition count="1">A list that reorders the elements based on some self-organizing heuristic to improve average access time. </definition>

<giperlink>list</giperlink>

<giperlink>self-organizing heuristic </giperlink>

</term>

<term value="term31">

<name>sibling</name>

<count>1</count>

<definition count="1">A node in a tree that has the same parent as another node is its sibling. </definition>

<giperlink>tree</giperlink>

<giperlink>parent</giperlink>

<giperlink>node</giperlink>

</term>

<term value="term32">

<name>sorted array</name>

<count>1</count>

<definition count="1">An array whose items are kept sorted, often so searching is faster. </definition>

<giperlink>array</giperlink>

</term>

<term value="term33">

<name>sorted list</name>

<count>1</count>

<definition count="1">A list whose items are kept sorted. </definition>

<giperlink>list</giperlink>

</term>

<term value="term34">

<name>square matrix</name>

<count>1</count>

<definition count="1">A n*n matrix, i.e., one whose size is the same in both dimensions. </definition>

<giperlink>matrix</giperlink>

</term>

<term value="term35">

<name>tail</name>

<count>2</count>

<definition count="1">The last item of a list. </definition>

<definition count="2">All but the first item of a list; the list following the head. </definition>

<giperlink>list</giperlink>

</term>

</terms>

</bazaznanii>

Размещено на Allbest.ur


Подобные документы

  • Технология программных агентов. Форматы метаданных, использующиеся для описания электронных ресурсов. Разработка интеллектуальных агентов. Среда разработки Jadex для построения интеллектуальных агентов. BDI модель интеллектуального агента ресурсов.

    курсовая работа [279,8 K], добавлен 20.02.2011

  • Характеристика алгоритмов и программных реализаций поведения агентов в двумерной среде. Исследование разработки структур данных и знаний. Особенность создания интерфейса и карты лабиринта. Экспериментальное тестирование и отладка модулей программы.

    дипломная работа [2,4 M], добавлен 12.08.2017

  • Критерии оценки эффективности и качества создания программных средств. Роль трудоемкости и длительности создания программных средств в определении эффективности их создания. Требования к качеству, суммарные затраты на разработку программного средства.

    реферат [26,7 K], добавлен 10.10.2014

  • Структурные подразделения и отделы организации, ее технические программные средства. Разработка приложений обработки данных на ассемблере, языке программирования высокого уровня. Тестирование и оптимизация программных модулей. Разработка документации.

    отчет по практике [175,0 K], добавлен 30.09.2022

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

    дипломная работа [645,3 K], добавлен 21.11.2010

  • Принципы работы архитектур агентов. Классификация агентных архитектур. Реагирующая агентная архитектура, ее практическое применение. Консультационная агентная архитектура. Гибридная агентная архитектура. Многоуровневая архитектура для автономного агента.

    курсовая работа [616,9 K], добавлен 24.02.2014

  • Разработка программного решения по созданию мобильного приложения. Изучение технологий для разработки приложений. Анализ работы торговых агентов. Обоснование выбора языка программирования. Проектирование интерфейса структуры и верстка, листинг программы.

    дипломная работа [2,2 M], добавлен 08.06.2017

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

    дипломная работа [2,3 M], добавлен 20.05.2013

  • Программное обеспечение как продукт. Основные характеристик качества программного средства. Основные понятия и показатели надежности программных средств. Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств.

    лекция [370,1 K], добавлен 22.03.2014

  • Особенности разработки программ для ЭВМ. Этапы планирования программы. Понятие и особенности алгоритмов. Средства, используемые для создания программ. Виды и классификация языков программирования. Структурное и объектно-ориентированное программирование.

    реферат [59,7 K], добавлен 19.08.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.