Volume 01 Issue 09 October 2009
- Local IT Buzz
- Study Guide
- Software Dev
- Game Zone
- .Net Tech
- Web Tech
by Chathra Hendahewa
Starting from today, the article series on Artificial Intelligence (AI) would be focusing on ‘Intelligent agents’ and search techniques which are two of the very useful and interesting sub areas in AI. Let us talk about intelligent agents, first. First of all, we should understand why agents are important in AI based systems. The term ‘agent’ is usually used to define a person which undertakes some tasks or actions in order to fulfill certain objectives. For example, in day to day life, a ‘real estate agent’ is a person who acts as an intermediary between sellers and buyers of real estate to perform the real estate based transactions. Further, you would have heard about ‘travel agent’ who takes care of the booking, handling and payment management of travelling with regard to passengers, who may be linked to a travel agency or may be working as a freelance agent. There are many more agents in real world who perform certain actions with respective their field of work to obtain certain objectives. All of these real world agents have paved way in defining an entity called ‘Intelligent agents’ in the subject of AI. With regard to AI, we are trying to build computer systems which can exhibit intelligent or rational behavior to perform certain tasks which as humans we need some assistance with. You can refer the first two articles on AI which discusses about the terms of rationality, intelligence and other basic terminology to refresh your memory, if required.
In AI, an ‘Intelligent agent’ is considered as an entity that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators. With respect to a human being the sensors are eyes, ears and other sensory organs while the actuators can be considered as hands, legs, mouth and other body parts from which we perform a certain task. The environment is the situation or the area in which the agent acts. For example, the environment of a travel agent is the travel agency where information about travelling and information about passengers are available. Therefore, we can see that the function or the expectations from an AI based intelligent agent is closely related to what an agent does in the real world.
Intelligent Agents in detail
In more detailed terms, an ‘Agent’ is an entity which can perform the responsibilities and actions to achieve a certain goal acting upon the percepts received from the sensors about the environment, on behalf of another while learning from experiences with a less amount of human intervention
In AI there are certain terminologies one has to learn when dealing with agents which are described as below.
If we illustrate the basic functionalities and parts of an intelligent agent in a high-level picture, it would be as follows.
As we consider rationality (doing the right thing) is the most important aspect in terms of creating intelligence (refer AI articles 1&2 for more details on this), with respect to agents we consider building rational agents.
Generally, ‘Rational agents’ should strive to ‘do the right thing’ based on what it can perceive and the actions it can perform. The right action is the one that will cause the agent to be most successful. In more specific terms, for each possible percept sequence, a rational agent should select an action that is expected to maximize its performance measure, given the evidence provided by the percept sequence and whatever built-in knowledge the agent has.
Further point is that, agents can perform actions in order to modify future percepts so as to obtain useful information. For example, an agent can perform a certain intermediate action and get the feedback about that from the percepts and see whether it was a good action or not. So based on the percepts it received on that particular action the agent can decide whether it is a good action to perform in the future or not, in order to reach the specified goal. An agent is considered as ‘autonomous’ if its behavior is determined by its own experience. The way in which experience can help is that the agent would be able to learn and adapt based on the past experiences and act accordingly to future percepts.
When designing agents in AI, we have to define a structure called ‘PEAS’ where each letter stands for a different concept linked to the design of the agent.
If you are to design an agent then the first thing you should do is to define its PEAS structure. This would enable you to design the agent to meet its goal while it would make the implementation of the agent for focused. So, let’s look at some examples of how to define PEAS structure for different types on agents. After going through the following basic examples, you can also try out on defining some PEAS structures for agents for whom you think are essential in today’s world.
Example 1 – Interactive Mathematics tutor agent
Example 2 - Robot Soccer Player
Example 3 - Internet book shopping agent
Types of Environments
With relation to AI agents, we know that understanding the environment in which they operate in, is important when designing and building an agent. Based on the different types of environments, the percepts that the agent is going to receive would vary while the actions it should perform also depend on the environment of operation. Therefore, let’s identify the different environments in which an AI based agent can operate in.
Table 1 – Types of environments
The following section describes in detail what each of the above environment types mean
The environment type largely determines the agent design because based on where it operates in the design of the sensors, actuators and also the percept receiving mechanism, action selection and successful operation varies. For example, an agent who operates in a fully observable environment, where it can observe all the changes occurring in the environment needs to have high number of very effective sensors to capture all those changes when compared to the partially observable environment where only one or two percepts would be required. Another example can be in a single agent environment, the agent only has to interact with the user where as in the multi-agent environment it should have the ability to communicate and exchange information with the other agents via more actuators and actions. Now let’s see in which types of such environments do the agents we described as examples in the previous section operate in.
Table 2 – Environment Types applicable to example agents
As an exercise, try to reason out why the different environment types were defined for the above 3 example agents. Think why one is a single agent environment while the other two are considered as multi agent environments. Likewise, try to convince yourselves the reasons about why those different environments are applicable to those agents. I would be giving an explanation on why it is so, in the next article so that you would have time to put on your thinking caps and think about it before I give you the reasons now itself.
Something to look forward to
Artificial Intelligence – A modern Approach, Second edition, Stuart Russell&Peter Norvig