Агенты -- это концепция. Они не придуманы специально для диссертаций или грантов, а продиктованы условиями задач.
Компьютерные Науки в целом и ИИ в частности (как отрасль Компьютерных Наук) занимается изучением задач. В данном случае, были взяты различные задачи (преимущественно задачи принятия решений и контроля именно поэтому, агенты по большей части оказываются в ИИ) и выделена общая сущность фигурирующая в них. Это сущность -- Агент. Агент -- это не просто программа (вообще-то, в программе может быть более одного агента, да и агент может быть несколькими программами). Это система. Т.е. существование агента подразумевает, существование СРЕДЫ в которой агент существует. Более того, Агент в обязательном порядке воспринимает Среду, реагирует на изменения и влияет на нее. Это пожалуй минимум. Далее, когда речь идет об интеллектуальном Агента, обычно добавляются еще некоторые условия: постоянность, активность, автономность, рациональность и т.д. (довольно длинный список). Просто для примера, что бы было понятнее, что такое агент. Если рассмотрим пожарную сигнализацию, то она агентам не является, так как не влияет на среду, но система: пожарная команда + сигнализация -- это агент, который ощущает среду, реагирует на нее и влияет на эту среду.
Как видите, это не решение задачи, это часть постановки задачи. Скажем, стоит задача: несколькими роботами (т.е. оказываемся в распределенном вычислении, так как несколько процессоров), построить карту дома, с использованием только лазера и gps, при условие, что связь между роботами может быть только на определенном расстоянии (или еще чего-то там, скажем, в доме полно арматуры и вообще связь очень плохая, таким образом сразу отпадает централизованное решение, роботы обязаны быть автономными). С первого взгляда -- это задача мули-агентов. Я уже упомянул несколько направлений связанных с агентами, а дальше больше. Должны ли агенты строить модель Среды? Если да, то для формализма этой ПОД-задачи, рационально использовать Процессы Маркова (разных видов, в зависимости от необходимости). Агенты взаимодействуют друг с другом? Если да, то необходим формализм социального поведения и мы попадаем в Теорию Игр и т.д.
Именно поэтому, эти разделы так часто фигурируют в статьях про Мулти-Агентов.
А уж как Агент будет устроен, будет это нейронная сеть, клеточные автоматы, классические алгоритмы или еще чего-то такое раз-такое, это уже на сколько фантазии хватит.
Что же касается различных моделей спонтанной самоорганизации (для тех кто просит ткнуть в нее пальцем, могу посоветовать почитать работы по клеточным автоматам, причем не только про что это такое, что бы принцип понять, а именно работы с ними связанные, там полно самоорганизации), то обычно такое на конференциях по ИИ в раздел Мульти-Агентов не ставят, так как в этих разделах принято рассматривать "self-interested" агентов (т.е. корыстных), а соответственно рациональных. Т.е. подразумевается, что действия агентов соответствуют Теории Принятия решений, т.е. их действия направленны на повышения своей личной пользы, хотя эта польза может быть целиком общественной (т.е. соц.тип агена -- альтруист) и Т.Игр, отлично для этого подходит так как эта экономическая система рассматривает социум агентов (группы игроков) с точки зрения корыстных игроков (правда формализм в ней довольно жесткий, поэтому порой бывает не просто представить необходимую задачу в форме Т.Игр). И если уж и говорить об самоорганизации агентов (а она уже будет не спонтанной, а целенаправленной) то обычно принято говорить о коалициях.
Теперь, что касается стандартов. Тут проблема в том, что как я уже говорил, Агенты -- это концепция используемая в очень и очень многих сферах деятельности, и практические любые стандарты для одних разделов будут не достаточны, а для других избыточные и т.д. Но все-таки, некоторые организации, такие как FIPA пытаются создавать какие-то стандарты, которые более или менее становятся популярны среди разработчиков какой-то наиболее подходящей для этого стандарта сферы. Так FIPA например, достаточно популярна в среде исследователей и разработчиков не мобильных программных агентов (ну всякие там автоматически торгующие агенты и т.д.). Там и стандартизация языка есть -- ACL (или чего-то в этом роде, точно не помню). Есть и другие попытки стандартизировать языки общения, что бы сделать открытые системы (где агенты не одинаковы и могут добавляться извне) доступными.
В робототехники, при попытках создания стандартов упор делают на другое (язык здесь менее важен, так как открытых систем почти нет) -- взаимодействие различных подсистем агента. Здесь можно говорить и про JAUS и про Player .... собственно пока стандарта еще как такового нет, но... USA армия поддерживает JAUS (отгадайте, что же будет стандартом...).
Отредактировано daner (2009-09-22 01:00:15)