2009-07-21 6 views
9

Исходя из академической базы в системах mutli-agent (разработанной на Java с использованием JADE) Я только периферийно осознавал парадигму параллелизма актера. Теперь, когда я начал изучать Scala, я не мог не поразить сходство между подходами Agent и Actor.Можно ли рассматривать высоко автономных действующих лиц как агентов?

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

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

ответ

10

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

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

Итак, что общего у актеров и агентов?

  • Они оба общаются путем передачи сообщений.

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

  • Предполагается, что оба они не будут делиться государством с другими субъектами/агентами.

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

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

  • Агенты обычно следуют моделях, которые диктуют поведение агента - например, BDI - и актеры обычно этого не делают. Реактивные агенты, однако, схожи с субъектами в этом отношении.

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

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

  • Ничего, о чем я могу думать, хотя актеры Scala могут делиться государством.
+1

Я бы определенно не согласился с приравниванием BDI и автономных агентов. BDI - это просто одна возможная архитектура для одного класса агентов.Существуют агрегированные архитектуры с явными экологическими моделями, которые не являются BDI, например. рефлекторные агенты в частично наблюдаемых средах Я верю, что вторая часть вашего ответа имеет свои достоинства. Актер не является агентом так же, как нить не является агентом. Однако либо можно использовать, чтобы реализовать цель создания автономного агента. Дело в том, что агенты JADE сидят поверх потоков Java. Спасибо за вашу помощь. – DuncanACoulter

+1

А я вижу, что вы обновляете свой ответ, когда я пишу свой комментарий ... Я думаю, что ваш новый ответ хорошо отвечает на мой вопрос. – DuncanACoulter

+0

Извините, я не собирался приравнивать автономных агентов к BDI. Я хотел только использовать BDI в качестве примера. Я не совсем уверен, как перефразировать мой ответ, но я немного улучшил его. –

 Смежные вопросы

  • Нет связанных вопросов^_^