Intelligent agents (or simply agents) perceive the environment through sensors and act upon that environment through actuators. These actions are based on autonomous or collective decisions made by the agents.
![](https://biohaviour.com/wp-content/uploads/2020/10/agent_arch-1.png)
Based on their decision-making strategy, agents are commonly classified as:
Logic-based agents – which take the decision on what action to perform based on logical deduction
Reactive agents – which make the decision in the form of direct mapping from situation to action
Belief-desire-intention (BDI) agents – which are superficially charaterised by agent’s beliefs, desires and intentions. Beliefs are agent’s belief about the world or the state of the agent; desires represent the objectives of the agent; intentions are what the agent has chosen to do, e.g. plans that are already in execution.
To support agent implementation, various frameworks have been designed, a few popular examples are: JADE, JACK, NetLogo, and FLAME. Choosing the right framework is a challenging task as each of these frameworks has its own agent-based capabilities and advantages over the other frameworks. It is up to the user to decide which one to use considering various factors such as support for a particular programming language or operating system, facility to provide distributed multi-agent system, support for hundreds and thousands of agents, low resource requirements, etc.