Разумно ли рассматривать в высшей степени автономных субъектов как агентов?

StackOverflow https://stackoverflow.com/questions/1161179

Вопрос

Имея академический опыт работы с многоагентными системами (разработанными на Java с использованием ДЖЕЙД) Я лишь периферийно знал о парадигме параллелизма актеров.Теперь, когда я начал изучать Scala, я не мог не быть поражен сходством подходов агента и актера.

У меня очень возникает соблазн использовать библиотеку Actor Scala для моего следующего исследовательского проекта, а не просто вызывать библиотеки JADE, поскольку это заставит меня глубже изучить язык.Более того, сосредоточенность JADE на определении всего с точки зрения поведения не очень подходит для моей проблемы.

Есть ли что-то фундаментальное различие между высокоавтономным Актером и Агентом, которого мне не хватает?

Это было полезно?

Решение

Да, есть различия.Для очень простых агентов актеры и агенты могут быть одним и тем же.Однако под «автономными агентами» один, или, по крайней мере, я обычно предполагаю что-то вроде: например, модель убеждения-желания-намерения, в которой агент моделирует внутри себя абстракцию среды, в которой он находится, и агентов, с которыми он взаимодействует, чтобы он мог строить планы о том, как взаимодействовать с этой средой для достижения своих целей.

Хотя актер, безусловно, может иметь все это, один агент с таким же успехом может состоять из нескольких актеров, действующих совместно для управления различными частями инфраструктуры BDI.Актер, по сути, является единицей планирования.Если ваши агенты по существу линейны и однопоточны, они подходят.Если они выполняют параллельную работу внутри компании, вам нужно несколько актеров для каждого агента.

Что же общего между актерами и агентами?

  • Они оба общаются, передавая сообщения.

  • Они оба (обычно) имеют внутреннее состояние, даже если оно неявно присутствует в состоянии выполнения.

  • Ожидается, что они оба не будут делить состояние с другими актерами/агентами.

  • Ожидается, что они оба будут запланированы независимо от других актеров/агентов.

Что у агентов есть больше, чем у актеров?

  • Агенты обычно следуют моделям, которые диктуют поведение агента (например, BDI), а актеры обычно этого не делают.Однако в этом отношении реактивные агенты подобны актерам.

  • Агенты могут иметь более одной внутренней единицы планирования.Однако агенты, которые этого не делают, в этом отношении подобны актерам.

Что у актеров есть больше, чем у агентов?

  • Я ничего не могу придумать, хотя актеры Scala могут разделять состояние.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top