План 1. Основные термины и определения….стр.2. Введение…стр.3. Определение агента… стр.4. Свойства агентов… стр.5. Понятие многоагентной системы…стр.6. Самоорганизация и кооперация в компании.….стр.7. Подход агентов и миров………… ….стр.8. Процесс самоорганизации в мультиагентной системе….стр.9. Архитектура и интерфейс мультиагентной системы….стр.16 10.
Примеры применения многоагентной системы….стр.11. Заключение…стр.12. Список литературы… стр.23 Основные термины и определения Информация в данной работе была взята из сайтов, указанных в списке литературы, и переведена с английского на русский язык. Агент (мультиагент) – это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных перед ним владельцем и/или пользователем.
Программные интеллектуальные агенты – это новый класс систем программного обеспечения, которое действует либо от лица пользователя, либо от лица системы делегировавшей агенту полномочия на выполнение тех или иных действий. Мультиагентная система – сложная система, в которой функционируют два или более интеллектуальных агентов. Процесс самоорганизации в мультиагентных системах – внутренняя упорядоченность, согласованность, взаимодействие более или менее дифференцированных и автономных агентов агентной системы, обусловленной
ее строением. Введение Мощное и эффективное развитие компаний в современных условиях предполагает высокую степень специализации и кооперации работ. Кооперация – одна из важнейших сторон современной индустрии, охватывающая все сферы деятельности человека: науку и производство, торговлю, услуги и т.д. Проблемы кооперации компаний тесно связаны с проблемами их внутренней организации. Чем больше направлений в деятельности компании, чем сложнее выпускаемые изделия, чем разнообразнее сама деятельность, тем больше роль кооперации, и тем более высокоорганизованной должна быть компания. При этом чем более высокоорганизованней компания, тем более самостоятельными являются ее внутренние подразделения, тем в большей степени жесткое директивное управление в ее внутреннем функционировании заменяется на кооперацию. Вместе с тем, рассматриваемая внешняя и внутренняя кооперация, позволяющие для компаний добиваться высокой рентабельности – это и постоянная угроза для каждой из них.
Достаточно одной из кооперирующих сторон нарушить свои обязательства, и вся сложившаяся цепочка взаимодействия начинает рушиться. Для работы в этих условиях компании должны обладать высокой интеллектуальностью, гибкостью и мобильностью, что в результате должно обеспечивать, с одной стороны, возможность постоянной эволюционной адаптации компаний к условиям рынка и, с другой стороны, возможность совершать революционные и неожиданные для конкурентов скачки в развитии, резко повышающие конкурентоспособность компании.
Последнее становится возможным лишь на основе процесса постоянного внутреннего развития (саморазвития) компании, предполагающего способность к самоорганизации. Пренебрежение ролью механизмов самоорганизации в компании или их недооценка чреваты серьезными последствиями. Утратив или не развив в себе способность к самоорганизации, компания умирает. При этом внешне проявляемые стабильность и процветание рано или поздно оказываются роковой иллюзией,
даже для самых мощных и известных компаний. Невидимый процесс накопления и обострения внутренних проблем и противоречий, вовремя не замеченных и неисправленных, постепенно, как коррозия, начинает разъедать организацию, и, в один прекрасный день происходит обвал – мощная по своему потенциалу компания рушится по причине, казалось бы, всего лишь одного непродуманно начатого проекта, одного не вовремя возвращенного кредита, наконец, ухода одного из специалистов. Одним из путей решения этой проблемы может являться создание интеллектуальных систем управления и поддержки групповой согласованной деятельности нового класса, которые бы не только упрощали для пользователей принятие столь необходимых согласованных решений, но и стимулировали процесс самоорганизации компании на всех уровнях деятельности. Как показывается ниже, главным свойством таких систем становится способность выявлять и разрешать потенциальные конфликты (противоречия) интересов как во внешней. так и внутренней кооперативной деятельности компании.
Разработке подхода к созданию систем рассматриваемого класса и посвящена настоящая работа.[1] Определение агента Общепринятого определения “агента” еще не существует. Рассматриваемый в какой-либо системе мультиагент – это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных перед ним владельцем и/или пользователем. Таким образом, в рамках мультиагентных систем мы рассматриваем агенты, как автономные компоненты, действующие
по определенному сценарию. Классифицируются агенты на четыре основных типа: простые, умные (smart), интеллектуальные(intelligent) и действительно интеллектуальные(truly intelligent). Интерес для построения МАС в задачах инженерии знаний представляют в большей степени интеллектуальные и действительно интеллектуальные агенты, которые отличаются тем, что поддерживают помимо автономного выполнения, взаимодействия с другими агентами и слежения за окружением – способность использовать абстракции,
адаптивность поведения, обучение на прецедентах и толерантность к ошибкам. Проблемы в создании МАС на принципах искусственного интеллекта состоит в том, что при проектировании точной и полной модели представления мира, процессов и механизмов рассуждения в нем – очень тяжело создать адекватную и полную картину мира. Несмотря на явные трудности, идея использовать агентов для решения разноплановых задач очень популярна в последнее время. Однако задача проектирования МАС и действительно интеллектуальных агентов требует специальных знаний и является ресурсоемкой задачей. Программные интеллектуальные агенты – это новый класс систем программного обеспечения, которое действует либо от лица пользователя, либо от лица системы делегировавшей агенту полномочия на выполнение тех или иных действий. Они являются, по сути, новым уровнем абстракции, отличным от привычных абстракций типа – классов, методов и функций.
Но при этом, разработка МАС позволяет создавать системы обладающие расширяемостью/масштабируемостью, мобильностью/переносимостью, интероперабельностью, что несомненно очень важно при разработке систем, основанных на знаниях. Свойства агента Какими же свойствами должен обладать “агент”? §Автономность: агенты функционируют без прямого вмешательства людей или кого-либо другого и владеют определенной способностью контролировать свои действия и внутреннее состояние. §Методы (способы) общения: агенты взаимодействуют
с другими агентами средствами некоторого коммуникационного языка. §Реактивность: агенты способны воспринимать окружающую среду (которая может быть физическим миром, пользователем, взаимодействующим через графический интерфейс, коллекцией других агентов, Іnternet-ом, или, возможно, всем вместе взятым) и адекватно реагировать в определенных временных рамках на изменения, которые происходят. §Активность: агенты не просто реагируют на изменения среды, но и обладают целенаправленным поведением и способностью проявлять инициативу. §Индивидуальная
картина мира: каждый агент имеет собственную модель окружающего его мира (среды), которая описывает то, как агент видит мир. Агент строит свою модель мира на основе информации, которую получает из внешней среды. §Коммуникабельность и коперативность: агенты могут обмениваться информацией с окружающей их средой и другими агентами. Возможность коммуникаций означает, что агент должен получать информацию об его окружающей среде, что дает ему возможность строить собственную модель мира. Более того, возможность коммуникаций с другими агентами является обязательным условием совместных действий для достижения целей. §Интеллектуальное поведение: поведение агента включает способность к обучению, логичной дедукции или конструированию модели окружающей среды для того, чтобы находить оптимальные способы поведения. Следовательно, каждый агент – это процесс, который владеет (располагает) определенной частью знаний об объекте и возможностью обмениваться этими знаниями с другими агентами.
Классификацию агентов можно провести в двух направлениях – по их инструментальной реализации (языку программирования агентов) и по основным приметам, которыми они владеют. Следует отметить, что на сегодня не существует языка программирования или инструментальной системы разработки, которая бы полностью соответствовала требованиям построения агентов. С точки зрения принципов распределенного объектно-ориентированного программирования (ООП) необходимость
передачи методов может быть существенно сокращена в том случае, если может быть обеспечен удаленный доступ к общим методам посредством передачи ссылок на удаленные объекты, данных экземпляров этих объектов и их состояний. Однако в дополнение к концепции ООП, каждый агент имеет возможность создания копий самого себя с полной или ограниченной функциональностью, обеспечивая возможность настройки на среду путем исключения неэффективных методов и замены их новыми. Традиционная для
ООП схема класс/объект нарушается, т.к. агент имеет возможность постоянного изменения сценария поведения без его изменения в родительском классе. Многозначное наследование позволяет создавать экземпляры агентов, смешивая сценарии поведения, схемы наследования и атрибуты, определенные в родительских классах. Следовательно, система разработки, которая бы полностью соответствовала требованиям построения агентов, должна была бы соответствовать таким требованиям: обеспечение перенесения кода на различные платформы, доступность на многих платформах, поддержка сетевого взаимодействия, многопотоковая обработка и некоторые другие. Чаще всего в агентных технологиях используются: универсальные языки программирования (Java); языки, “ориентированы на знания”, такие, как языки представления знаний (KIF), языки переговоров и обмена знаниями (KQML, AgentSpeak, April), языки спецификаций агентов; специализированные языки программирования агентов (TeleScript); языки сценариев и scripting languages (Tcl/Tk); символьные языки и языки логического
программирования (Oz). Одно из самых главных свойств агента – это интеллектуальность. Интеллектуальный агент владеет определенными знаниями о себе и об окружающей среде, и на основе этих знаний он способен определять свое поведение. Интеллектуальные агенты являются основной областью интересов агентной технологии. Важна также среда существования агента: это может быть как реальный мир, так и виртуальный (компьютерный), что является важным в связи со всеобщим распространением сети
Internet. От агентов требуют способности к обучению и даже самообучению. Поскольку обучение обуславливает наличие знаний у обучаемого, то обучаемым или самообучаемым может быть только интеллектуальный агент. Свойство умения планировать подразделяет агентов на регулирующие и планирующие. Если умение планировать не предусмотрено (регулирующий тип), то агент будет постоянно переоценивать ситуацию и заново вырабатывать свои действия на окружающую среду.
Планирующий агент имеет возможность запланировать несколько действий на различные промежутки времени. При этом агент имеет возможность моделировать развитие ситуации, что дает возможность более адекватно реагировать на текущие ситуации. При этом агент должен учитывать не только свои действия и реакцию на них, но и сохранять модели объектов и агентов окружающей среды для предсказания их возможных действий и реакций. Агент может иметь доступ к локальным и глобальным ресурсам. При этом агентов, которые имеют доступ к локальным ресурсам (ресурсы, к которым имеет доступ пользователь, в том числе и сетевые), называют персональными помощниками, они автоматизируют работу текущего пользователя, помогая ему в выполнении некоторых операций. Соответственно сетевой агент самостоятельно получает доступ к информации, не доступной пользователю напрямую либо доступ к которой не был предусмотрен. Важным свойством классификации есть мобильность – возможность менять свое местонахождение в окружающей
среде. Для программного агента под мобильностью понимается возможность передвигаться по сети от компьютера к компьютеру. Переходя от одного компьютера к другому, такой агент может обрабатывать данные и передавать по сети только результаты своей работы. Система, в которой несколько агентов могут общаться друг с другим, передавать друг другу некоторую информацию, взаимодействовать между собой, называется многоагентной (МАС). Понятие многоагентной системы Направление “многоагентной системы” распределенного искусственного
интеллекта рассматривает решение одной задачи несколькими интеллектуальными подсистемами. При этом задача разбивается на несколько подзадач, которые распределяются между агентами. Еще одной областью применения МАС есть обеспечение взаимодействия между агентами, когда один агент может выработать запрос к другому агенту на передачу некоторых данных или выполнение определенных действий. Также в МАС есть возможность передавать знания. Построение программных систем по принципу
МАС может быть обусловлено следующими факторами: • так, некоторые предметные области применяют МАС в тех случаях, когда логично будет каждого из участников процесса представить в виде агента. Например, социальные процессы, в которых каждый из участников играет свою роль; • параллельным выполнением задач, т.е. если предметная область легко представляется в виде совокупности агентов, то независимые задачи могут выполняться различными агентами; • устойчивостью работы системы: когда контроль и ответственность за выполняемые действия распределены между несколькими агентами. При отказе одного агента система не перестает функционировать. Таким образом, логично поместить агентов на различных компьютерах; • модульностью МАС, что позволяет легко наращивать и видоизменять систему, т.е. легче добавить агента, чем изменить свойства единой программы. Системы, которые изменяют свои параметры со временем могут быть представлены
совокупностью агентов. Модульность обуславливает легкость программирования МАС. Мультиагентные системы подразделяются на кооперативные, конкурирующие и смешанные. Агенты в кооперативных системах являются частями единой системы и решают подзадачи одной общей задачи. Понятно, что при этом агент не может работать вне системы и выполнять самостоятельные задачи. Конкурирующие агенты являются самостоятельными системами, хотя для достижения определенных целей