Мультиагентный подход и МАS
Простая программа отличается от агента тем, что «не утруждает себя целевым поведением и анализом достигнутых результатов». Тогда как агент, представляя интересы пользователя, «заинтересован» в том, чтобы задание было выполнено. В случае неудачи или какого-то сбоя он должен повторить попытку позднее или иметь про запас альтернативный вариант решения проблемы. Агенты всегда составляют список выполненных действий, результаты тестирования и верификации и отсылают его в управляющую систему.
Было отмечено, что различные определения понятия «агент» подразделяются на «слабые» и «сильные». Слабые определения соотносятся с программистскими взглядами на природу агента. Нередко агенты понимаются как вычислительные единицы, поддерживающие локальные состояния и параллельные вычисления. Более сильные определения полнее отражают когнитивные, коммуникативные, поведенческие, а особенно, интенциональные аспекты агентов. В «сильных» определениях агентов ведущее место отводится ментальным свойствам. Как правило, особое внимание обращается на главное отличие агентов от объектов, связанное с наличием у первых внутренних механизмов мотивации и целеполагания.
Многие задачи агенты могут выполнять и без использования методов искусственного интеллекта, однако ряд проблем без них просто не может быть решен. На данный момент существует ряд технологий, которые успешно применяются в различных специализированных системах, агентах и мультиагентных системах (рис. 4):
Рис. 4. Технологии, используемые интеллектуальными агентами.
На наш взгляд наиболее полно суть понятия агент выражает следующее определение, скомбинированное из перечисленных выше: агент - это самостоятельная программная система, имеющая возможность принимать воздействие из внешнего мира, определять свою реакцию на это воздействие и осуществлять эту реакцию, а также изменяющая свое поведение с течением времени в зависимости от накопленной информации и извлеченных из нее знаний, обладающая мотивацией и способная после делегирования полномочий пользователем поставить себя на его место.
Классификация агентов
В настоящее время существует множество классификаций агентов. Как отмечает Тарасов, наиболее очевидными являются критерии классификации, связанные с полярными шкалами «естественное-искусственное» и «материальное-идеальное». По первому критерию, выделяются натуральные агенты (животные, люди, группы организмов, коллективы людей) и искусственные агенты (роботы, коллективы автоматов, сложные компьютерные программы). В данной работе описываются только искусственные агенты. По второму критерию, все искусственные агенты подразделяются на: 1) материальных, физически существующих и работающих в реальном пространстве (например, интегральные роботы) и 2) виртуальных, существующих лишь в программной среде (виртуальном пространстве).
Важным основанием для классификации служит наличие либо отсутствие у агентов характеристик обучаемости или адаптивности. У обучаемых агентов поведение основано на предыдущем опыте.
Наиболее распространенной среди различных публикаций в настоящее время является следующая классификация интеллектуальный - стационарный - мобильный агент, хотя, в то же время, множество источников не проводят четкой границы между понятиями интеллектуальный и мобильный агент. Под интеллектуальным агентом понимается агент, который обладает рядом знаний о себе и окружающем мире и поведение которого определяется этими знаниями. Если простой объект определяется как «данные + методы», то интеллектуальный агент - это уже «данные + методы + знания», причем методы в последнем случае включают функции работы с данными, знаниями, а также методы взаимодействия с окружающей средой и с другими агентами. Стационарный агент выполняется только на той системе, на которой он был запущен. Если ему понадобится информация извне, то он может использовать механизм и методы обмена и получения информации, доступные ему в среде, в которой он функционирует. Мобильный агент не привязан к системе, на которой он был запущен. Он обладает способностью перемещаться из одной системы в другую, полностью сохраняя свое состояние и перенося свой код. Его работа в разных системах должна поддерживаться специальной средой, которая в том числе обеспечивает безопасность.
Свойства агентов
Свойства агентов вытекают из их классификации и группы, к которой относится конкретный агент. Наиболее полный объем свойств имеют интеллектуальные агенты, интеллектуальные способности позволяют им строить виртуальные миры, работая в которых они формируют планы действий. Интеллектуальный агент должен обладать следующими свойствами:
· автономность - способность функционировать без вмешательства со стороны своего владельца и осуществлять контроль внутреннего состояния и своих действий;
· адаптивность - агент обладает способностью обучаться;
· коллаборативность - агент может взаимодействовать с другими агентами несколькими способами, играя разные роли;