Агентно-ориентированный подход
Определение
Агентно ориентированный подход — разновидность представления программ, или парадигма программирования, в которой основными концепциями являются понятия агента и поведения. Сравните объектно-ориентированный подход. Агент в данном случае понимается как некая программная сущность, которая обладает собственной свободой поведения[1]. Агент представляет собой более сложную, активную и автономную единицу чем объект.
Причины возникновения агентно-ориентированного подхода
— необходимость преодоления границ операционных сред;
— устранение разнородности объектных моделей, вызванных тем что классы и объекты построенные в различных инструментальных средах имеют определенные отличия;
Распределенные объектные архитектуры (CORBA, DCOM, Java RMI, WEB-services) стремясь преодолеть указанные ограничения, не решают следующих проблем:
— необходимость перекомпиляции программных кодов при внесении изменений в объекты и интерфейсы;
— невозможность динамической адаптации поведения программных объектов в зависимости от состояний и поведения среды;
— невозможность работы в явной форме с моделями знаний;
Что такое АОП?
В ООП вычислительный процесс понимается как система, собранная из модулей, которые взаимодействуют друг с другом и имеют собственные способы обработки поступающих сообщений. В свою очередь, АОП уточняет эти рамки, фиксируя активность агентов и изменения их состояний через анализ убеждений, обязательств, намерений и пр. Наличие у агента механизма целеобразования обеспечивает принципиально новый уровень автономии. Агент необязательно выполняет распоряжения какого либо другого агента или пользователя, а просто зависит от условий среды, включая цели и намерения других агентов. В отличие от объекта, агент может принять на себя определенные обязательства или, наоборот, отказаться от выполнения некоторой работы, мотивируя это отсутствием компетентности, занятостью другой задачей и т. п. В то же время, агент может выполнять такие действия как порождение, подавление и замена других агентов, активизация функций (как своих, так и у других агентов), активизация сценария деятельности, запоминание текущего состояния других агентов и пр. Все это наглядно показывает, что агент, будучи «активным объектом» или «искусственным деятелем», формирующим свое собственное поведение, находится на более высоком уровне сложности по отношению к традиционным объектам в ООП [2].
Основными свойствами агентов считаются:
- Автономность — способность выполнять действия самостоятельно.
- Гомогенность/гетерогенность — способность объединять однородные или разнородные функции
- Способность к обучению, и «интеллект» — машинное обучение коррекция поведения для улучшения собственной эффективности
- Активное поведение, постоянный обмен информацией «внутри» агента и между агентом и средой
- Коммуникативность — обмен данными
- Восприятие среды — наличие специальных «средств» восприятия среды функционирования агента
- Мобильность — перемещение агента внутри других программных и физических сред и / или компонентов
Структурно агента можно изобразить следующим образом:
Агент | |->Ресурсы | |->Объекты | |->функции | |->данные
Типичным примером агентно ориентированного подхода можно назвать специальные программы, имитирующие действия игроков в компьютерных играх. Распространенное название для таких программ — боты. Однако, использование ботов не ограничивается применением в компьютерных играх. Их можно встретить как элемент программы в чатах и форумах, выполняющих роль «собеседника» и поддерживающих «дискуссии». Однако некоторые боты выполняют не только роль имитаторов в процессе общения или игры, они используются для редактирования текстовой информации (в том числе и в Википедии), для наладки сетевых соединений, модерирования ресурсов и т. п.
Примечания
Контекстные ссылки
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....