Агентное моделирование.
Имитационное моделирование систем
Суть мультиагентных технологий заключается в принципиально новом методе решения задач. В отличие от классического способа, когда отыскивают и выбирают некоторый определенный (детерминированный) алгоритм, например оптимизации, позволяющий найти наилучшее решение проблемы, в мультиагентных технологиях решение получается автоматически в результате взаимодействия множества самостоятельных… Читать ещё >
Агентное моделирование. Имитационное моделирование систем (реферат, курсовая, диплом, контрольная)
Агенты
В последние десятилетия все отчетливее проявляются ограничения традиционных информационных систем (ИС):
- • невозможность работы в явной форме с моделями знаний, ценность которых в корпоративных системах постоянно возрастает;
- • невозможность динамической адаптации поведения программных объектов в зависимости от состояний и поведения среды;
- • необходимость перекомпиляции программных кодов при внесении изменений в объекты и интерфейсы;
- • необходимость точного знания и соблюдения передаваемых форматов данных;
- • накопление гигантских объемов корпоративной информации, которые невозможно семантически обработать без иерархической организации уровней знаний (пирамида знаний).
Требуется повысить интеллектуальный уровень ИС, придать им свойства разумности, приблизить к человеку-пользователю.
В основе мультиагентного подхода лежит понятие мобильного программного агента, который реализован и функционирует как самостоятельная специализированная компьютерная программа или элемент искусственного интеллекта.
Суть мультиагентных технологий заключается в принципиально новом методе решения задач. В отличие от классического способа, когда отыскивают и выбирают некоторый определенный (детерминированный) алгоритм, например оптимизации, позволяющий найти наилучшее решение проблемы, в мультиагентных технологиях решение получается автоматически в результате взаимодействия множества самостоятельных целенаправленных программных модулей — так называемых программных агентов.
Агенты применяются в различных областях. Поэтому каждый разработчик понятие агента интерпретирует по своему: на производстве в качестве агента может выступать робот, в системах связи понятие «агент» связано с абонентом, в медицине — это врач, пациент.
По способу поведения агентов делят на интеллектуальных (рассуждающих, коммуникативных, ресурсных) и реактивных (не обладающих представлением о внешнем мире).
В настоящее время не существует устоявшегося определения агента. Приведем некоторые из определений:
- • агент — это программный или аппаратный объект, автономно функционирующий в интересах достижения целей, поставленных перед ним пользователем [23];
- • под агентом можно понимать самостоятельную программную систему, состоящую из программ-объектов, имеющую возможность принимать воздействие из внешнего мира, определять свою реакцию на это воздействие и в соответствии с этим формировать ответное действие. Такие агенты способны действовать, «рассуждать» и обмениваться данными друг с другом в сети для формирования индивидуальных или коллективных решений [3];
- • агенты — программные объекты, которые выполняют определенные упреждающие и корректирующие действия в соответствии с заданиями, делегированными человеком [42];
- • агент — любая сущность, которая находится в некоторой среде, воспринимает ее посредством сенсоров, получая данные, которые отражают события, происходящие в среде, интерпретирует эти данные и действует на среду посредством эффекторов [24, 46];
- • агент — программа, которая после получения задания способна поставить себя на место пользователя и действовать по адаптивному сценарию. Если же агент попадает в тупик, он может задать пользователю вопрос, чтобы определить, каким образом ему необходимо действовать дальше [3].
Основная идея программного агента — передача пользователем полномочий агенту и возвращение полученных результатов выполнения поставленных задач пользователю. Агент моделирует поведение человека и его взаимодействие со средой. Он должен ориентироваться в среде своего выполнения и принимать решения (подобно человеку). Работа агента основана на знаниях о себе, среде своего существования и профессиональных знаниях. Средой существования программного агента является локальная или глобальная сеть.
В зависимости от среды моделирования авторами определено большое количество типов агентов: автономные агенты, мобильные агенты, персональные ассистенты, интеллектуальные агенты, реактивные агенты, социальные агенты и т. д.
Перечислим свойства интеллектуального агента (рис. 6.2):
- • автономность (агент самостоятельно решает локальные задачи);
- • адаптивность (способность обучаться, автоматически приспосабливаться к неопределенным условиям в изменяющейся среде);
- • взаимодействие с другими агентами, наличие возможности играть разные роли при взаимодействии с одним и тем же агентом;
- • способность к рассуждениям (агенты могут обладать частичными знаниями или механизмами вывода из частичных знаний);
- • реактивность (способность поддерживать взаимодействие с внешней средой, получая от нее информацию и реагируя своими действиями);
- • коммуникативность (агенты могут общаться с другими агентами);
- • активность (способность генерировать цели и действовать рациональным образом для их достижения);
- • мобильность (передача кода агента с одного сервера на другой).
Рис. 6.2. Свойства агента
Обычный агент, ведущий поиск, размещается в абонентской системе того пользователя, которому этот поиск необходим. В отличие от этого мобильный агент перемещается в систему, имеющую базу данных и (или) базу знаний, в которых необходимо провести поиск. Мобильный агент обращается к сети только тогда, когда он что-то нашел и ему необходимо передать своему пользователю найденное. Проведя поиск в базе одной системы, мобильный агент может переместиться в другую абонентскую систему и там продолжать поиск. Для ускорения процесса поиска мобильный агент может создавать подагенты и рассылать их по системам сети для параллельной работы.
Особенно широкое распространение мобильные агенты получили в сети Интернет. Агенты, здесь именуемые также роботами, почти непрерывно опрашивают содержимое узлов сети, анализируя имеющуюся в них информацию.
Использование мобильных агентов значительно ускоряет поиск нужной информации. Более того, эти агенты могут работать в системах, куда они добрались, и в случае их временного отключения от сети. Технология работы мобильных агентов хорошо вписывается в концепцию распределенной обработки данных, когда пользователь получает возможность работать с сетевыми службами и прикладными процессами, расположенными в нескольких взаимосвязанных абонентских системах.
Наделяют интеллектуального агента еще и такими свойствами: наличие базовых знаний, наличие убеждений, желаний, обязательств, намерений. Иногда добавляют и такие человеческие свойства, как рациональность, правдивость, благожелательность.
Итак, агент должен взаимодействовать со средой и (или) другими агентами. Агенты децентрализованы, а глобальное состояние моделируемой системы можно вывести из взаимодействия агентов, зная индивидуальную логику поведения каждого из них.
Программной реализацией агента является объект (в смысле объектно-ориентированного программирования) некоторого класса.
Однако существуют два основных отличия агента от традиционного объекта (рис. 6.3).
Рис. 6.3. Традиционное (я) и мультиагентное (б) построение модели Во-первых, обмен сообщениями между объектами (рис. 6.3, а) сводится в основном к вызову методов, в то время как для агентов это наиболее важный процесс взаимодействия (рис. 6.3, б), поэтому они способны к ведению переговоров на основе теории речевых актов для выработки общего решения.
Во-вторых, агенты должны обладать психическими характеристиками, сближающими их с живыми существами.
Про агента можно сказать следующее.
Агент идентифицируем, т. е. его можно определить как уникума, состоящего из частей с определенным набором характеристик и правил, управляющих его поведением и отвечающих за принятие решений.
Агент помещен в определенную среду, живет в ней и взаимодействует с другими агентами (см. рис. 6.3, б). Для взаимодействия агенты имеют коммуникационные протоколы. Агенты способны реагировать на среду, распознавать и различать других агентов.
Агент является автономным и самонаводящимся. Агент может функционировать в своей среде независимо от совместных действий с другими агентами, хотя бы в небольшом числе ситуаций.
Агент — гибкий и может обучаться и адаптировать свое поведение по времени, основываясь на опыте. Агент может иметь метаправила — правила, изменяющие другие правила поведения.
Агенты разнообразны, разнородны и динамичны. Они активны по отношению к своим атрибутам и правилам поведения. Правила поведения варьируются: они зависят от количества учитываемой агентом информации в своих рассуждениях, внутренней модели внешнего мира, размера памяти для хранения прошлых событий. Все перечисленные факторы агент использует в своих решениях.