Большая группа интересных приложений многоагентных систем характеризуется динамичной природой и сложными функциональными и нефункциональными требованиями. В статье бельгийских исследователей (Tom Holvoet and Paul Valckenaers) для таких приложений предлагается неординарный подход, при котором вводится понятие многоагентных систем, использующих агентов-посланников. В этом подходе, во-первых, агенты коллективно создают модель внешней среды, во-вторых, сами используют эту модель.
Такой подход применим для решения разнообразных прикладных проблем управления и координации в достаточно сложной и динамически меняющейся внешней среде. Важно то, что сама среда меняется значительно медленней, чем решения агентов, управляющих процессами в среде. Подход применим к широкому классу приложений, таких, как управление производством, управление трафиком и координация веб-сервисами. В качестве примера рассматривалось управление производством на ткацкой фабрике, оснащенной станками и конвейерными лентами.
Основными компонентами архитектуры описываемого подхода являются агенты задачи, агенты ресурсов и окружающая среда.
Окружающая среда. Окружающая среда содержит мобильные объекты (частично изготовленная продукция, транспортные средства, клиентское программное обеспечение) и фиксированные объекты или ресурсы (машины или конвейерные ленты, дороги и перекрестки, веб-сервисы). Среда для рассматриваемых приложений представляет собой ориентированный граф. Узлами в графе являются ресурсы в окружающей среде, ребра представляют связь между различными ресурсами. Мобильные объекты могут перемещаться от ресурса к ресурсу. Мобильный объект, который находится на узле в графе, может общаться с ресурсом на этом узле. Когда мобильный объект находится на конкретном узле, соответствующий ресурс может выполнять действия по заданию этого мобильного объекта. В нижней части рис. 1 показан пример простого завода, состоящего из шести ресурсов (например, станков), подключенных через однонаправленные соединения слева направо.
Агенты ресурсов. Агент ресурса представляет информацию о функциональных возможностях ресурса в окружающей среде. Агенты ресурсов должны быть в состоянии составить расписание на основе запросов от агентов задач. Агенты ресурсов должны также отвечать на вопросы «что-если»: агент задачи может спросить агента ресурса, когда и по каким стандартам качества конкретная операция может быть выполнена. Это позволяет агентам задачи оценить общее время до завершения и ожидаемое качество решения задачи.
Агенты задачи. Агент задачи несет ответственность за выполнение своих задач и за общение с агентом ресурса для выполнения требуемых операций. Задача должна быть выполнена правильно и вовремя. Каждый агент задачи знает о цели своей задачи и имеет в наличии схемы и планы, которые могут быть использованы для достижения этой цели. Агентам задачи необходимо исследовать возможные пути решения задачи. Возможный путь соответствует схеме задач, если при следовании агента задачи по этому пути на протяжении маршрута существуют ресурсы, которые необходимы для достижения его конечной цели.
Намерения. На основе вариантов, которые доступны агенту задачи, и их оценки агент задачи выбирает конкретный путь, которому он намеревается следовать. Так как принятие намерения имеет последствия для агентов ресурсов, которые будут посещены в рамках намерения, агент задачи должен общаться с этими агентами ресурсов и информировать их о том, когда и какие действия агенту ресурса нужно будет выполнить. Агентам ресурсов необходимо зарезервировать эти время и действия, как предварительный заказ.
Для оперативной передачи информации между агентами задачи и агентами ресурсов используются «легкие» агенты-посланники, подобные муравьям, которые ведут поиск пищи в колониях муравьев. Когда один муравей находит источник пищи, при возвращении обратно в гнездо с пищей он выпускает пахучее вещество – феромон. Феромоны указывают возможные маршруты к источнику пищи, и другие муравьи используют проложенные первым муравьем пути к источнику пищи. Когда другой муравей находит источник пищи, он возвращается с пищей, оставляя уже свой феромон. Когда муравьи обнаруживают, что источник пищи исчерпан, они начинают хаотичный поиск пищи, при этом следы феромона больше не поддерживаются и с течением времени исчезают.
Чтобы отличить агентов-посланников от агентов задачи и агентов ресурсов, легкие агенты-посланники названы «агентами-муравьями» или муравьями. В рассматриваемых многоагентных системах предполагается, что они управляемы основными агентами (агентами задачи и агентами ресурсов). Агенты-муравьи предназначены для быстрой передачи информации между основными агентами. В предлагаемом подходе используются в основном два типа легких агентов, подобных муравьям: муравьи-разведчики и муравьи намерения.
Муравьи-разведчики. Агенту задачи важно узнать, каким образом он может достичь своей цели. Для этого агент задачи генерирует муравьев-разведчиков с определенной частотой, которые исследуют возможные пути на ориентированном графе. Каждый из муравьев-разведчиков исследует возможный маршрут в окружающей среде и оценивает этот маршрут. Эта оценка обычно касается времени достижения цели и критериев качества решения задачи, но может также включать оценку затрат на использование дорогих или критических ресурсов. Для того, чтобы сделать оценку, муравей-разведчик проходит путь по окружающей среде и взаимодействует с агентами ресурса на различных узлах, задавая агенту ресурса вопрос «что-если»: какие были бы сроки, качество и затраты, если задание ресурсу пришло в тот или иной момент времени. Муравей-разведчик собирает таким образом информацию по всему маршруту выполнения задания. Собранную информацию муравей-разведчик передает агенту задачи. Рис. 2 иллюстрирует этот процесс для завода, показанного на рис. 1. Агент задачи (с левой стороны) создает трех муравьев-разведчиков для разведки возможного пути. Информация, которую агент задачи собирает от всех своих муравьев-разведчиков, отфильтровывается для того, чтобы сохранить приемлемые варианты решения задачи. Вариант является приемлемым, если, помимо достижения требуемой цели, цель будет достигнута в срок и с приемлемым качеством и затратами. Список маршрутов-кандидатов регулярно обновляется, так как новые муравьи-разведчики постоянно отправляются для оценки маршрутов.
Муравьи намерения. Агентам ресурсов необходимо обладать адекватной оценкой своей будущей нагрузки. Для того, чтобы агенты ресурсов знали о такой нагрузке, агенты задачи генерируют муравьев намерения, которые информируют о намерении агентов задачи выполнить задание тем или иным образом. Этот процесс происходит следующим образом. После того, как агент задачи составил набор приемлемых маршрутов, он выбирает наиболее подходящий из этих маршрутов в качестве своего намерения. Затем агент задачи генерирует с определенной частотой муравьев намерения, чтобы проинформировать агентов ресурсов, которые участвуют в операциях на выбранном им маршруте. Муравьи намерения следуют выбранному пути и информируют агентов ресурсов о том, что их старший агент, вероятно, посетит ресурс в определенное время для выполнения конкретной операции. Как следствие, агенты ресурса смогут предсказать их загруженность и производительность более точно для посещающих их в будущем муравьев-разведчиков.
Рис. 3 иллюстрирует это для примера простого завода. Основываясь на информации, которая была собрана от трех муравьев-разведчиков, агент задачи решает, что маршрут-кандидат 2 наилучшим образом соответствует требованиям задачи. Чтобы подтвердить это и согласовать выбранное решение с вовлеченными ресурсами, муравей намерения проходит этим же маршрутом и информирует агентов ресурсов.
Оценки кандидатов предлагаемых решений постоянно обновляются муравьями-разведчиками. Если требуется, агент задачи может изменить свое намерение и перейти к другому, более приемлемому маршруту.
Предложенный подход был использован для модели конкретной ткацкой фабрики с несколькими узлами, на которых возможна задержка производства. Была показана эффективность подхода: предложенный многоагентый метод регулирования выбираемых маршрутов изготовления продукции позволил существенно сократить общее время производственного процесса.
Таким образом, предложенный многоагентный подход позволяет оптимизировать управления сложными процессами. При этом агенты как создают знания о внешней среде, в которой они функционируют, так и используют эти знания. Поведение многоагентной системы динамическое: агенты отслеживают и изменения во внешней среде, и динамику намерений агентов. Необходимые быстрые процессы передачи информации осуществляются специальными «легкими» агентами-посланниками.
Более подробно статья представлена здесь.
Такой подход применим для решения разнообразных прикладных проблем управления и координации в достаточно сложной и динамически меняющейся внешней среде. Важно то, что сама среда меняется значительно медленней, чем решения агентов, управляющих процессами в среде. Подход применим к широкому классу приложений, таких, как управление производством, управление трафиком и координация веб-сервисами. В качестве примера рассматривалось управление производством на ткацкой фабрике, оснащенной станками и конвейерными лентами.
Основными компонентами архитектуры описываемого подхода являются агенты задачи, агенты ресурсов и окружающая среда.
Окружающая среда. Окружающая среда содержит мобильные объекты (частично изготовленная продукция, транспортные средства, клиентское программное обеспечение) и фиксированные объекты или ресурсы (машины или конвейерные ленты, дороги и перекрестки, веб-сервисы). Среда для рассматриваемых приложений представляет собой ориентированный граф. Узлами в графе являются ресурсы в окружающей среде, ребра представляют связь между различными ресурсами. Мобильные объекты могут перемещаться от ресурса к ресурсу. Мобильный объект, который находится на узле в графе, может общаться с ресурсом на этом узле. Когда мобильный объект находится на конкретном узле, соответствующий ресурс может выполнять действия по заданию этого мобильного объекта. В нижней части рис. 1 показан пример простого завода, состоящего из шести ресурсов (например, станков), подключенных через однонаправленные соединения слева направо.
Агенты ресурсов. Агент ресурса представляет информацию о функциональных возможностях ресурса в окружающей среде. Агенты ресурсов должны быть в состоянии составить расписание на основе запросов от агентов задач. Агенты ресурсов должны также отвечать на вопросы «что-если»: агент задачи может спросить агента ресурса, когда и по каким стандартам качества конкретная операция может быть выполнена. Это позволяет агентам задачи оценить общее время до завершения и ожидаемое качество решения задачи.
Рис. 1. Простой завод, состоящий из шести ресурсов, соединенных слева направо.
Агенты задачи. Агент задачи несет ответственность за выполнение своих задач и за общение с агентом ресурса для выполнения требуемых операций. Задача должна быть выполнена правильно и вовремя. Каждый агент задачи знает о цели своей задачи и имеет в наличии схемы и планы, которые могут быть использованы для достижения этой цели. Агентам задачи необходимо исследовать возможные пути решения задачи. Возможный путь соответствует схеме задач, если при следовании агента задачи по этому пути на протяжении маршрута существуют ресурсы, которые необходимы для достижения его конечной цели.
Намерения. На основе вариантов, которые доступны агенту задачи, и их оценки агент задачи выбирает конкретный путь, которому он намеревается следовать. Так как принятие намерения имеет последствия для агентов ресурсов, которые будут посещены в рамках намерения, агент задачи должен общаться с этими агентами ресурсов и информировать их о том, когда и какие действия агенту ресурса нужно будет выполнить. Агентам ресурсов необходимо зарезервировать эти время и действия, как предварительный заказ.
Для оперативной передачи информации между агентами задачи и агентами ресурсов используются «легкие» агенты-посланники, подобные муравьям, которые ведут поиск пищи в колониях муравьев. Когда один муравей находит источник пищи, при возвращении обратно в гнездо с пищей он выпускает пахучее вещество – феромон. Феромоны указывают возможные маршруты к источнику пищи, и другие муравьи используют проложенные первым муравьем пути к источнику пищи. Когда другой муравей находит источник пищи, он возвращается с пищей, оставляя уже свой феромон. Когда муравьи обнаруживают, что источник пищи исчерпан, они начинают хаотичный поиск пищи, при этом следы феромона больше не поддерживаются и с течением времени исчезают.
Чтобы отличить агентов-посланников от агентов задачи и агентов ресурсов, легкие агенты-посланники названы «агентами-муравьями» или муравьями. В рассматриваемых многоагентных системах предполагается, что они управляемы основными агентами (агентами задачи и агентами ресурсов). Агенты-муравьи предназначены для быстрой передачи информации между основными агентами. В предлагаемом подходе используются в основном два типа легких агентов, подобных муравьям: муравьи-разведчики и муравьи намерения.
Рис. 2. Муравьи-разведчики (exploration ants), выпускаемые агентом задачи (task agent), разведывают возможные пути, блуждая по графу окружающей среды. Resource agents – агенты ресурса, time – время.
Муравьи-разведчики. Агенту задачи важно узнать, каким образом он может достичь своей цели. Для этого агент задачи генерирует муравьев-разведчиков с определенной частотой, которые исследуют возможные пути на ориентированном графе. Каждый из муравьев-разведчиков исследует возможный маршрут в окружающей среде и оценивает этот маршрут. Эта оценка обычно касается времени достижения цели и критериев качества решения задачи, но может также включать оценку затрат на использование дорогих или критических ресурсов. Для того, чтобы сделать оценку, муравей-разведчик проходит путь по окружающей среде и взаимодействует с агентами ресурса на различных узлах, задавая агенту ресурса вопрос «что-если»: какие были бы сроки, качество и затраты, если задание ресурсу пришло в тот или иной момент времени. Муравей-разведчик собирает таким образом информацию по всему маршруту выполнения задания. Собранную информацию муравей-разведчик передает агенту задачи. Рис. 2 иллюстрирует этот процесс для завода, показанного на рис. 1. Агент задачи (с левой стороны) создает трех муравьев-разведчиков для разведки возможного пути. Информация, которую агент задачи собирает от всех своих муравьев-разведчиков, отфильтровывается для того, чтобы сохранить приемлемые варианты решения задачи. Вариант является приемлемым, если, помимо достижения требуемой цели, цель будет достигнута в срок и с приемлемым качеством и затратами. Список маршрутов-кандидатов регулярно обновляется, так как новые муравьи-разведчики постоянно отправляются для оценки маршрутов.
Муравьи намерения. Агентам ресурсов необходимо обладать адекватной оценкой своей будущей нагрузки. Для того, чтобы агенты ресурсов знали о такой нагрузке, агенты задачи генерируют муравьев намерения, которые информируют о намерении агентов задачи выполнить задание тем или иным образом. Этот процесс происходит следующим образом. После того, как агент задачи составил набор приемлемых маршрутов, он выбирает наиболее подходящий из этих маршрутов в качестве своего намерения. Затем агент задачи генерирует с определенной частотой муравьев намерения, чтобы проинформировать агентов ресурсов, которые участвуют в операциях на выбранном им маршруте. Муравьи намерения следуют выбранному пути и информируют агентов ресурсов о том, что их старший агент, вероятно, посетит ресурс в определенное время для выполнения конкретной операции. Как следствие, агенты ресурса смогут предсказать их загруженность и производительность более точно для посещающих их в будущем муравьев-разведчиков.
Рис. 3. Муравьи намерения, выпускаемые агентом задачи, сообщают о намерении агента задачи выполнить определенным образом задание в окружающей среде.
Рис. 3 иллюстрирует это для примера простого завода. Основываясь на информации, которая была собрана от трех муравьев-разведчиков, агент задачи решает, что маршрут-кандидат 2 наилучшим образом соответствует требованиям задачи. Чтобы подтвердить это и согласовать выбранное решение с вовлеченными ресурсами, муравей намерения проходит этим же маршрутом и информирует агентов ресурсов.
Оценки кандидатов предлагаемых решений постоянно обновляются муравьями-разведчиками. Если требуется, агент задачи может изменить свое намерение и перейти к другому, более приемлемому маршруту.
Предложенный подход был использован для модели конкретной ткацкой фабрики с несколькими узлами, на которых возможна задержка производства. Была показана эффективность подхода: предложенный многоагентый метод регулирования выбираемых маршрутов изготовления продукции позволил существенно сократить общее время производственного процесса.
Таким образом, предложенный многоагентный подход позволяет оптимизировать управления сложными процессами. При этом агенты как создают знания о внешней среде, в которой они функционируют, так и используют эти знания. Поведение многоагентной системы динамическое: агенты отслеживают и изменения во внешней среде, и динамику намерений агентов. Необходимые быстрые процессы передачи информации осуществляются специальными «легкими» агентами-посланниками.
Более подробно статья представлена здесь.
© Редько Ольга