ФЭНДОМ



Основная статья: Агентно-ориентированный подход

Определение Править

Агентно ориентированный подход - разновидность представления программ, или парадигма программирования, в которой основными концепциями являются понятия агента и поведения. Сравните объектно-ориентированный подход. Агент в данном случае понимается как некая программная сущность, которая обладает собственной свободой поведения[1]. Агент представляет собой более сложную, активную и автономную единицу чем объект.


Причины возникновения агентно-ориентированного подхода Править

– необходимость преодоления границ операционных сред;

– устранение разнородности объектных моделей,вызванных тем что классы и объекты построенные в различных инструментальных средах имеют определенные отличия;

Распределенные объектные архитектуры (CORBA, DCOM, Java RMI, WEB-services) стремясь преодолеть указанные ограничения, не решают следующих проблем:

- необходимость перекомпиляции программных кодов при внесении изменений в объекты и интерфейсы;

- невозможность динамической адаптации поведения программных объектов в зависимости от состояний и поведения среды;

- невозможность работы в явной форме с моделями знаний;

Что такое АОП? Править

В ООП вычислительный процесс понимается как система, собранная из модулей, которые взаимодействуют друг с другом и имеют собственные способы обработки поступающих сообщений. В свою очередь, АОП уточняет эти рамки, фиксируя активность агентов и изменения их состояний через анализ убеждений, обязательств, намерений и пр. Наличие у агента механизма целеобразования обеспечивает принципиально новый уровень автономии. Агент необязательно выполняет распоряжения какого либо другого агента или пользователя, а просто зависит от условий среды, включая цели и намерения других агентов. В отличие от объекта, агент может принять на себя определенные обязательства или, наоборот, отказаться от выполнения некоторой работы, мотивируя это отсутствием компетентности, занятостью другой задачей и т. п. В то же время, агент может выполнять такие действия как порождение, подавление и замена других агентов, активизация функций (как своих, так и у других агентов), активизация сценария деятельности, запоминание текущего состояния других агентов и пр. Все это наглядно показывает, что агент, будучи «активным объектом» или «искусственным деятелем», формирующим свое собственное поведение, находится на более высоком уровне сложности по отношению к традиционным объектам в ООП [2].


Основными свойствами агентов считаются:

  1. Автономность - способность выполнять действия самостоятельно.
  2. Гомогенность/гетерогенность - способность объединять однородные или разнородные функции
  3. Способность к обучению, и "интеллект" - машинное обучение коррекция поведения для улучшения собственной эффективности
  4. Активное поведение, постоянный обмен информацией "внутри" агента и между агентом и средой
  5. Коммуникативность - обмен данными
  6. Восприятие среды - наличие специальных "средств" восприятия среды функционирования агента
  7. Мобильность - перемещение агента внутри других программных и физических сред и / или компонентов

Структурно агента можно изобразить следующим образом:

Агент
  |
  |->Ресурсы
  |
  |->Объекты
       |
       |->функции
       |
       |->данные



Примечания Править

  1. Камерон Хьюз, Трейси Хьюз агентно-ориентированное программирование. Параллельное и распределенное программирование с использованием С++ . 672 стр. 2004
  2. А.Н. Швецов, Агентно-ориентированные системы: от формальных моделей к промышленным приложениям , 2008



Контекстные ссылки Править

  1. en:Wikipedia:Multi-agent system
  2. en:Wikipedia:Agent-based model
  3. en:Wikipedia:Reinforcement learning - Обучение с подкреплением