Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
in AI and Deep Learning by (50.2k points)

Coming from an academic background in multi-agent systems (developed in Java using JADE) I have only been peripherally aware of the Actor concurrency paradigm. Now that I've started exploring Scala I couldn't help but be struck by the similarities between the Agent and Actor approaches.

I'm very tempted to use Scala's Actor library for my next research project rather than simply calling the JADE libraries as this would force me to get to deeper grips with the language. Furthermore, JADE's focus on defining everything in terms of behaviors isn't very appropriate to my problem.

Is there something fundamentally different between a highly autonomous Actor and an Agent that I am missing?

1 Answer

0 votes
by (108k points)

Note that actors can be software systems, we see that software agents are a very special but essentially important case of actors. It is possible to compare the relation between actors and agents with the relation between a function and a computable, e.g., recursive, function.

The System Actor Model is more flexible than the agent models. For instance, agents are usually treated as autonomous systems that perceive with sensors and acting with actuators. At the same time, actors can be directed or controlled by other actors. Some actors can be without sensors and/or actuators. For instance, in problems of resource management, identifying each and every resource with an actor can make available a helpful, detailed perspective on the system while each of them might not have sensors and/or actuators and could be controlled and managed by a central authority.

So, what do actors and agents have in common?

  • They both communicate by passing messages.

  • They both have an internal state even if implicit in the execution state.

  • They both are expected not to share the states with other actors or agents.

  • They both are expected to be scheduled independently of other actors/agents.

What do agents have more than actors?

  • Agents usually follow models that dictate an agent's behavior -- such as, for example, BDI -- and actors usually don't. 

  • Agents may have more than one internal unit of scheduling.

Browse Categories