Artificial intelligence is defined as a study of rational agents. A rational agent could be anything which makes decisions, as a person, firm, machine, or software. It carries out an action with the best outcome after considering past and current percepts(agent’s perceptual inputs at a given instance).
An AI system is composed of an agent and its environment. The agents act in their environment. The environment may contain other agents. An agent is anything that can be viewed as :
- perceiving its environment through sensors and
- acting upon that environment through actuators
Note : Every agent can perceive its own actions (but not always the effects)
To understand the structure of Intelligent Agents, we should be familiar with Architecture and Agent Program. Architecture is the machinery that the agent executes on. It is a device with sensors and actuators, for example : a robotic car, a camera, a PC. Agent program is an implementation of an agent function. An agent function is a map from the percept sequence(history of all that an agent has perceived till date) to an action.
Agent = Architecture + Agent Program
Examples of Agent:-
A software agent has Keystrokes, file contents, received network packages which act as sensors and displays on the screen, files, sent network packets acting as actuators.
A Human agent has eyes, ears, and other organs which act as sensors and hands, legs, mouth, and other body parts acting as actuators.
A Robotic agent has Cameras and infrared range finders which act as sensors and various motors acting as actuators.
Types of Agents
Agents can be grouped into four classes based on their degree of perceived intelligence and capability :
- Simple Reflex Agents
- Model-Based Reflex Agents
- Goal-Based Agents
- Utility-Based Agents
- Learning Agent
Simple reflex agents
Simple reflex agents ignore the rest of the percept history and act only on the basis of the current percept. Percept history is the history of all that an agent has perceived till date. The agent function is based on the condition-action rule. A condition-action rule is a rule that maps a state i.e, condition to an action. If the condition is true, then the action is taken, else not. This agent function only succeeds when the environment is fully observable. For simple reflex agents operating in partially observable environments, infinite loops are often unavoidable. It may be possible to escape from infinite loops if the agent can randomize its actions. Problems with Simple reflex agents are :
- Very limited intelligence.
- No knowledge of non-perceptual parts of state.
- Usually too big to generate and store.
- If there occurs any change in the environment, then the collection of rules need to be updated.
Model-based reflex agents
It works by finding a rule whose condition matches the current situation. A model-based agent can handle partially observable environments by use of model about the world. The agent has to keep track of internal state which is adjusted by each percept and that depends on the percept history. The current state is stored inside the agent which maintains some kind of structure describing the part of the world which cannot be seen. Updating the state requires information about :
- how the world evolves in-dependently from the agent, and
- how the agent actions affects the world.
These kind of agents take decision based on how far they are currently from their goal(description of desirable situations). Their every action is intended to reduce its distance from the goal. This allows the agent a way to choose among multiple possibilities, selecting the one which reaches a goal state. The knowledge that supports its decisions is represented explicitly and can be modified, which makes these agents more flexible. They usually require search and planning. The goal-based agent’s behavior can easily be changed.
The agents which are developed having their end uses as building blocks are called utility based agents. When there are multiple possible alternatives, then to decide which one is best, utility-based agents are used.They choose actions based on a preference (utility) for each state. Sometimes achieving the desired goal is not enough. We may look for a quicker, safer, cheaper trip to reach a destination. Agent happiness should be taken into consideration. Utility describes how “happy” the agent is. Because of the uncertainty in the world, a utility agent chooses the action that maximizes the expected utility. A utility function maps a state onto a real number which describes the associated degree of happiness.
A learning agent in AI is the type of agent which can learn from its past experiences or it has learning capabilities.
It starts to act with basic knowledge and then able to act and adapt automatically through learning.
A learning agent has mainly four conceptual components, which are:
- Learning element :It is responsible for making improvements by learning from the environment
- Critic: Learning element takes feedback from critic which describes how well the agent is doing with respect to a fixed performance standard.
- Performance element: It is responsile for selecting external action
- Problem Generator: This component is responsible for suggesting actions that will lead to new and informative experiences.
- Artificial Intelligence: Cause Of Unemployment
- Artificial Intelligence | An Introduction
- Machine Learning and Artificial Intelligence
- Turing Test in Artificial Intelligence
- Difference between Machine learning and Artificial Intelligence
- Impacts of Artificial Intelligence in everyday life
- Significance Of Artificial Intelligence in Cyber Security
- Introduction to Hill Climbing | Artificial Intelligence
- Top 5 best Programming Languages for Artificial Intelligence field
- Chinese Room Argument in Artificial Intelligence
- Learning to learn Artificial Intelligence | An overview of Meta-Learning
- Artificial intelligence vs Machine Learning vs Deep Learning
- Introduction to Artificial Neutral Networks | Set 1
- Introduction to Artificial Neural Network | Set 2
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : RamswarupKulhary