Intelligent Agents in Artificial Intelligence: An Overview
Intelligent Agents
An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators.
Examples of Agents:
- Human agent: Eyes, ears, and other organs for sensors; hands, legs, mouth, and other body parts for actuators.
- Robotic agent: Cameras and infrared range finders for sensors; various motors for actuators.
- Software agent: Receives keystrokes, file contents, and network packets as sensory inputs and acts on the environment by displaying on the screen, writing files, and sending network packets.
Key Concepts:
- Percept: Refers to the agent’s perceptual inputs at any given instant.
- Percept sequence: The complete history of everything the agent has ever perceived.
- Agent function: Maps from percept histories to actions: [f: P* → A]. One way is to maintain an internal state (e.g., Cellphone knows its battery usage). Internal state can contain information about the state of the external environment. The state depends on the history of percepts and on the history of actions taken: [f: P*, A* S A] where S is the set of states.
- Agent program: Runs on the physical architecture to produce f. The agent function is usually a table, which is an external characterization of the agent. Internally, the agent function for an artificial agent will be implemented by an agent program. It is important to keep these two ideas distinct. The agent function is an abstract mathematical description; the agent program is a concrete implementation, running within some physical system.
Vacuum Cleaner Example:
- Percepts: Location and contents, e.g., [A,Dirty]
- Actions: Left, Right, Suck, NoOp.
- Agent’s function: Look-up table.
Rationality
- Performance measure: Measuring success.
- Prior knowledge: Agent’s prior knowledge of the environment.
- Possible actions: Actions that the agent can perform.
- Percept sequence: Agent’s percept sequence to date.
Rational Agent:
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.
- Rationality ≠ Omniscience: An omniscient agent knows the actual outcome of its actions and can act accordingly; but this is impossible in reality. Percepts may not supply all relevant information. E.g., in a card game, you don’t know the cards of others.
- Rationality ≠ Perfection: Rationality maximizes the expected outcome, while perfection maximizes the actual outcome. We consider the consequences of the agent’s behavior. The sequence of actions generated by an agent according to the percepts it receives causes the environment to go through a sequence of states. If the sequence is desirable, then the agent has performed well. This notion of desirability is captured by a performance measure that evaluates any given sequence of environment states.
Autonomy:
The autonomy of an agent is the extent to which its behavior is determined by its own experience, rather than the knowledge of the designer.
- Extremes:
- No autonomy – ignores environment/data.
- Complete autonomy – must act randomly/no program.
- Example: Baby learning to crawl.
- Ideal: Design agents to have some autonomy and then have them possibly become more autonomous with experience.
PEAS:
- Performance measure
- Environment
- Actuators
- Sensors
PEAS specifies the setting for designing an intelligent agent.
PEAS Examples:
Agent | Performance Measure | Environment | Actuators | Sensors |
---|---|---|---|---|
Part-picking robot | Percentage of parts in correct bins | Conveyor belt with parts, bins | Jointed arm and hand | Camera, joint angle sensors |
Interactive Spanish tutor | Maximize student’s score on test | Set of students | Screen display (exercises, suggestions, corrections) | Keyboard |
Self-driving car | Safe, fast, legal, comfortable trip, maximize profits, minimize accidents | Roads, other traffic, pedestrians, customers | Steering wheel, accelerator, brake, signal, horn | Cameras, sonar, speedometer, GPS, odometer, engine sensors, keyboard |
Environment Properties:
- Fully observable vs. Partially observable: Fully observable means everything the agent requires to choose its actions is available to it via its sensors. If the agent must make informed guesses about the world, it is partially observable.
- Deterministic vs. Stochastic: Deterministic means the next state of the environment is completely determined by the current state and the action executed by the agent. If aspects beyond the control of the agent and utility functions have to guess at changes in the world, then it is stochastic.
- Episodic vs. Sequential: Episodic means the choice of the current action isn’t dependent on previous actions. Sequential means the current choice will affect future actions.
- Static vs. Dynamic: Static means the environment doesn’t change while the agent is deciding what to do. Dynamic means environments change, so the agent should/could consider the world when choosing actions. Semidynamic means the environment itself doesn’t change with time, but the agent’s score does.
- Discrete vs. Continuous: Discrete means there are a limited number of clear actions vs. continuous, which means there is a range of values.
- Single agent vs. Multiagent: Single agent means the agent is operating by itself in the environment vs. multiagent, where many agents are working together.
- Known vs. Unknown: Known means outcomes for all actions are given vs. unknown, where the agent has to learn how the environment works to make good decisions.
Environment Property Examples:
Task Environment | Fully Observable? | Deterministic? | Episodic? | Static? | Discrete? | Single Agent? |
---|---|---|---|---|---|---|
Crossword puzzle | Yes | Yes | No (Sequential) | Yes | Yes | Yes |
Poker | No (Partially) | No (Stochastic) | No (Sequential) | Yes | Yes | No (Multiagent) |
Taxi driver | No (Partially) | No (Stochastic) | No (Sequential) | No (Dynamic) | No (Continuous) | No (Multiagent) |
Part-picking robot | No (Partially) | No (Stochastic) | Yes (Episodic) | No (Dynamic) | No (Continuous) | Yes (Single) |
Image analysis | Yes | Yes | Yes (Episodic) | No (Semidynamic) | No (Continuous) | Yes (Single) |
Agent Types:
- Simple reflex agents
- Reflex agents with state/model
- Goal-based agents
- Utility-based agents
All of these agents can be turned into learning agents.
Simple Reflex Agent:
simple but very limited intelligence.Action doesn’t depend on percept history, only on current percept.Ex:Thermostat.
Therefore no memory requirements and could be infinite loops.Suppose vacuum cleaner does not observe location. What do you do given location = clean? Left on A or right on B -> infinite loop.Fly buzzing around window or light.Possible Solution: Randomize action.