Intelligent Agent as Mental Model

How we can use the concept of Intelligent Agents to build complete products

Huseyin Evecen
aiforexistence
5 min readApr 26, 2021

--

TL;DR

Anything that can perceive the environment and act on it to achieve goals called an intelligent agent. Being an agent is an abstract concept but we can find forms of software and/or hardware that can be close to this idea. In this article, I will discuss the current status of selected products, how these products can be closer to agent ideal and I will try to define products and their environments from point of view of agents. In the end, I will suggest software products can be more useful and fun if we use intelligent agents as a mental model.

Basic definitions

  • Agent: An entity that perceives its environment with sensors and act on it with actuators.
  • Percept: Content that coming from sensors.
  • Agent Function: Mapping between percepts and actions.
  • Agent Program: Implementation of agent function.
  • Performance Measure: the criterion of success.

Understanding Environment

The first step is specifying the environment and then the capability of an agent before trying to augment it. There is an acronym used to guide us PEAS (Performance, Environment, Actuators, Sensors). Let us use Perseverance[1] to specify our first agent. Our agent’s goal is to “seek signs of ancient life and collect samples of rock and regolith (broken rock and soil) for a possible return to Earth.” We can say Perseverance must maximize collected samples and minimize the impact on Mars’s habitat. Mars has rocks, holes, tectonic sites on its surface, methane in the atmosphere, and dust storms everywhere. Perseverance is prepared for these with a strong body structure, electrical power, and internal heaters. Rover continuously getting information from the environment through cameras and other instruments.

Perseverance agent model

Now we have specified our agent. However, an agent can be without a physical part. Let us consider a software product and specify it as an agent. Our software is a team communication solution for companies.

An agent model for team communication

Now we have a primary model of what we want to build or what we want to understand and augment. I will give more definitions to build a structure from our primary model.

Further definitions[2]

  • Simple reflex agents: This type of agent selects actions concerning current action and ignores rest. Since this is the most basic level of intelligence we can see reflexive actions in every level of complexity. Perseverance can stop immediately if there is a big rock in front of it that is not perceived before. Any size of unobservability in the environment can cause serious problems with simple reflex agents and they can get stuck in one state. That’s why randomized action is important when building simple reflex agents.
  • Model-based reflex agents: This type of agent can keep different parts of the environment that can’t be observed now in their memory to handle partial observability. Model-based agents have a transition model that contains trivial consequences of their actions and a sensor model that contain usual percept properties coming from sensors. That is a rover can know when it’s raining sensors can get wet and percepts coming from cameras can be distorted.
  • Goal-based agents: This type of agent needs a goal to make sense from states and perceptions. Search and planning is important to find correct action sequences for Goal-based agents. The Decision-making process makes this type of agent is less efficient but more flexible. Consider in an unlikely scenario we send a mars rover to another planet. If the rover was a reflex agent we needed to replace all its rules but a Goal-based rover can find a way to make use of its instruments and change rules accordingly by searching and planning.
  • Utility-based agents: This type of agent has a utility function that internalizes the goal. Goals are too broad and sometimes we need to detailed version of them. The utility function helps agents to reduce a global goal to local variables. In our example a rover can make “minimizing impact on Mars habitat” to “avoiding physical contact, setting a route with less object around and comparing previous action and environment states” to identify less circumference changer actions.
  • Learning agents: This type of agent has a learning element that continuously takes feedbacks from critics and modifies each component accordingly. Learning makes agents operational in an unknown environment and becomes smarter as time pass. A function from any type of agent can be implemented with learning. That is any type of agent can be a learning agent at the same time. Another part of Learning agents is problem generators. It creates challenging action suggestions to make agents learn new things. Learning agents might have Hard-wired performance standards such as reward and penalty.

In our second case, we made a primary model of team communication software.

An agent model for team communication

Our software can be reflexive one if its function is to make text message delivery between users. It can be more useful if we add a model to track users previous activity and send messages at the right time for user needs. We can set a goal for our agent to maximize team efficiency then we can define utility function considering the relationship between user activity, resources, external factors and team efficiency. We can go further to learning element and let our software change rules and utility function to achieve maximum communication efficiency company wide. The more data we feed, the better results we can expect.

Conclusion

I must admit that looking every product that way can be overwhelming and unnecessary but to evaluate products with “intelligent agents” model offers new opportunities. I am suggesting we must make softwares with learning element that must gradually improve itself with relating data from different context, learning elements with unsupervised methods instead of supervised methods and add learning elements to our products to achieve robust, time proof and complete products.

[1] https://mars.nasa.gov/mars2020/

[2] http://aima.cs.berkeley.edu

I hope you find this article useful. For more information about our works, you can visit aiforexistence.com. And you can join the discussion. Also you can follow me on Twitter.

Thanks for reading!

--

--