Агенты в AIAssistant часть 1. Основы.

Агенты в системе AIAssistant аналогичны Демонам в FreeBSD или Службам в Windows.

1. Концепция агента.

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

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

1.3. Агент - это объект ООП, который реально создан в оперативной памяти компьютера и который может выполнять определенные операции над данными.

1.4. Агенты - единственная "движущая сила" программы AIAssistant.

2. Структура объекта агента.

2.1. Интерфейс.

2.1.1. Единственным способом общения агента с окружающей средой является посылка и прием сообщений.

2.1.2. Сообщения должны соответствовать языку xxx (нужно придумать название и сам язык).

2.1.3. Сообщения могут быть адресованы другим агентам, либо контейнеру - группе.

2.2. База Знаний агента.

2.2.1. Единственным хранилищем информации в программе AIAssistant являются изолированные Базы Знаний (БЗ) агентов.

2.3. Машина принятия решений.

2.3.1. Машина принятия решений (МПР) является основным компонентом агента.

3. Принципы обработки информации агентом.

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

4. Создание агента.

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

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

4.3. Каждый вновь создаваемый агент выполняется в отдельном программном потоке. Это позволяет агентам работать параллельно или псевдопараллельно.

5. Деятельность агента.

5.1. Обучение.

5.1.1. После создания агента он может быть подключен к агенту - учителю, в том числе и родителю, способному передать ему дополнительные знания, если ГЗ окажется недостаточно для выполнения работ.

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

5.2. Самостоятельное поведение.

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

6. Классификация агентов.

6.1. Классификция по выполняемым функциям.

6.1.1. Управляющий агент. Это агент, занимающийся управлением собственного поведения и поведения подчиненных агентов. Это как бы "Я", "Элементарный кирпичик" поведения.

6.1.2. Исполнитель. Такой агент занимается выполнением порученной управляющим агентом работой. Это "рабочий муравей". Поэтому решения. выработанные им, касаются лишь решаемой задачи.

6.2. Классификация по длительности жизни.

6.2.1. Системные сервисы. Это агенты, которые существуют всегда и постоянно активны.

6.2.2. Пользовательские сервисы. Это долгоживущие постоянно активные агенты, кот. может создать и уничтожить пользователь.

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

6.2.4. Временные, одноразовые агенты. Это агенты, которые создаются на время выполнения конкретной работы, а затем после выполнения работы уничтожаются.


© AIKernel 2007-2011
29.07.2007 - 27.04.2011