Разумно ли рассматривать в высшей степени автономных субъектов как агентов?
-
18-09-2019 - |
Вопрос
Имея академический опыт работы с многоагентными системами (разработанными на Java с использованием ДЖЕЙД) Я лишь периферийно знал о парадигме параллелизма актеров.Теперь, когда я начал изучать Scala, я не мог не быть поражен сходством подходов агента и актера.
У меня очень возникает соблазн использовать библиотеку Actor Scala для моего следующего исследовательского проекта, а не просто вызывать библиотеки JADE, поскольку это заставит меня глубже изучить язык.Более того, сосредоточенность JADE на определении всего с точки зрения поведения не очень подходит для моей проблемы.
Есть ли что-то фундаментальное различие между высокоавтономным Актером и Агентом, которого мне не хватает?
Решение
Да, есть различия.Для очень простых агентов актеры и агенты могут быть одним и тем же.Однако под «автономными агентами» один, или, по крайней мере, я обычно предполагаю что-то вроде: например, модель убеждения-желания-намерения, в которой агент моделирует внутри себя абстракцию среды, в которой он находится, и агентов, с которыми он взаимодействует, чтобы он мог строить планы о том, как взаимодействовать с этой средой для достижения своих целей.
Хотя актер, безусловно, может иметь все это, один агент с таким же успехом может состоять из нескольких актеров, действующих совместно для управления различными частями инфраструктуры BDI.Актер, по сути, является единицей планирования.Если ваши агенты по существу линейны и однопоточны, они подходят.Если они выполняют параллельную работу внутри компании, вам нужно несколько актеров для каждого агента.
Что же общего между актерами и агентами?
Они оба общаются, передавая сообщения.
Они оба (обычно) имеют внутреннее состояние, даже если оно неявно присутствует в состоянии выполнения.
Ожидается, что они оба не будут делить состояние с другими актерами/агентами.
Ожидается, что они оба будут запланированы независимо от других актеров/агентов.
Что у агентов есть больше, чем у актеров?
Агенты обычно следуют моделям, которые диктуют поведение агента (например, BDI), а актеры обычно этого не делают.Однако в этом отношении реактивные агенты подобны актерам.
Агенты могут иметь более одной внутренней единицы планирования.Однако агенты, которые этого не делают, в этом отношении подобны актерам.
Что у актеров есть больше, чем у агентов?
- Я ничего не могу придумать, хотя актеры Scala могут разделять состояние.