CSCE 580 Artificial Intelligence Ch 2 Intelligent Agents

  • Slides: 46
Download presentation
CSCE 580 Artificial Intelligence Ch. 2: Intelligent Agents Fall 2008 Marco Valtorta mgv@cse. sc.

CSCE 580 Artificial Intelligence Ch. 2: Intelligent Agents Fall 2008 Marco Valtorta mgv@cse. sc. edu UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Acknowledgment • The slides are based on the textbook [AIMA] and other sources, including

Acknowledgment • The slides are based on the textbook [AIMA] and other sources, including other fine textbooks • The other textbooks I considered are: – David Poole, Alan Mackworth, and Randy Goebel. Computational Intelligence: A Logical Approach. Oxford, 1998 • A second edition (by Poole and Mackworth) is under development. Dr. Poole allowed us to use a draft of it in this course – Ivan Bratko. Prolog Programming for Artificial Intelligence, Third Edition. Addison-Wesley, 2001 • The fourth edition is under development – George F. Luger. Artificial Intelligence: Structures and Strategies for Complex Problem Solving, Sixth Edition. Addison-Welsey, 2009 UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Agents • An agent is anything that can be viewed as perceiving its environment

Agents • An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators – Actuators are sometimes called effectors • 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; UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering – various motors for actuators

Agents and Environments The agent function maps from percept histories to actions: [f: P*

Agents and Environments The agent function maps from percept histories to actions: [f: P* A] • The agent program runs on the physical architecture to produce f • agent = architecture + program UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

The Role of Representation • Choosing a representation involves balancing conflicting objectives • Different

The Role of Representation • Choosing a representation involves balancing conflicting objectives • Different tasks require different representations • Representations should be expressive (epistemologically adequate) and efficient (heuristically adequate) UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

The Vacuum-Cleaner World • Environment: square A and B • Percepts: [location and content]

The Vacuum-Cleaner World • Environment: square A and B • Percepts: [location and content] e. g. [A, Dirty] • Actions: left, right, suck, and no-op UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

The Vacuum-Cleaner World Percept sequence Action [A, Clean] Right [A, Dirty] Suck [B, Clean]

The Vacuum-Cleaner World Percept sequence Action [A, Clean] Right [A, Dirty] Suck [B, Clean] Left [B, Dirty] Suck [A, Clean], [A, Clean] Right [A, Clean], [A, Dirty] Suck … … UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

The Vacuum-Cleaner World function REFLEX-VACUUM-AGENT ([location, status]) return an action if status == Dirty

The Vacuum-Cleaner World function REFLEX-VACUUM-AGENT ([location, status]) return an action if status == Dirty then return Suck else if location == A then return Right else if location == B then return Left What is the right function? Can it be implemented in a small agent program? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Rational Agents • An agent should strive to "do the right thing, " based

Rational Agents • An agent 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 • Performance measure: An objective criterion for success of an agent's behavior • E. g. , performance measure of a vacuumcleaner agent could be amount of dirt cleaned up, amount of time taken, amount of electricity consumed, amount of noise generated, etc. UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Rational Agents • Rational Agent: For each possible percept sequence, a rational agent should

Rational Agents • 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. UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Rational Agents • Rationality is distinct from omniscience (all-knowing with infinite knowledge) • Agents

Rational Agents • Rationality is distinct from omniscience (all-knowing with infinite knowledge) • Agents can perform actions in order to modify future percepts so as to obtain useful information (information gathering, exploration) • An agent is autonomous if its behavior is determined by its own experience (with ability to learn and adapt) UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

The Concept of Rationality • A rational agent is one that does the right

The Concept of Rationality • A rational agent is one that does the right thing – Every entry in the table is filled out correctly • What is the right thing? – Approximation: the most succesful agent – Measure of success? • Performance measure should be objective – E. g. the amount of dirt cleaned within a certain time – E. g. how clean the floor is –… • Better to design performance measures according to what is wanted in the environment instead of how the agents should behave. UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Rationality • What is rational at a given time depends on four things: –

Rationality • What is rational at a given time depends on four things: – Performance measure – Prior environment knowledge – Actions – Percept sequence to date (sensors) • DEF: A rational agent chooses whichever action maximizes the expected value of the performance measure given the percept sequence to date and prior environment knowledge UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Rationality omniscience – An omniscient agent knows the actual outcome of its actions. •

Rationality omniscience – An omniscient agent knows the actual outcome of its actions. • Rationality perfection – Rationality maximizes expected performance, while perfection maximizes actual performance. • UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Rationality • The proposed definition requires: – Information gathering/exploration • To maximize future rewards

Rationality • The proposed definition requires: – Information gathering/exploration • To maximize future rewards – Learn from percepts • Extending prior knowledge – Dung beetle and sphex wasp plans – Agent autonomy • Compensate for incorrect prior UNIVERSITY OF SOUTH CAROLINA knowledge Department of Computer Science and Engineering

PEAS • Task environment – a problem for which a rational agents is the

PEAS • Task environment – a problem for which a rational agents is the solution – specified by the PEAS description: • Performance measure, Environment, Actuators, Sensors • Must first specify the setting for intelligent agent design • Consider, e. g. , the task of designing an automated taxi: – Performance measure – Environment – Actuators UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering – Sensors

PEAS for Automated Taxi • Performance measure: Safe, fast, legal, comfortable trip, maximize profits

PEAS for Automated Taxi • Performance measure: Safe, fast, legal, comfortable trip, maximize profits • Environment: Roads, other traffic, pedestrians, customers • Actuators: Steering wheel, accelerator, brake, signal, horn • Sensors: Cameras, sonar, speedometer, GPS, odometer, engine sensors, keyboard UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

PEAS for a Medical Diagnosis System • Performance measure: Healthy patient, minimize costs, lawsuits

PEAS for a Medical Diagnosis System • Performance measure: Healthy patient, minimize costs, lawsuits • Environment: Patient, hospital, staff • Actuators: Screen display (questions, tests, diagnoses, treatments, referrals) • Sensors: Keyboard (entry of symptoms, findings, patient's UNIVERSITY OF SOUTH CAROLINA answers) Department of Computer Science and Engineering

PEAS for a Part-Picking Robot • Performance measure: Percentage of parts in correct bins

PEAS for a Part-Picking Robot • Performance measure: Percentage of parts in correct bins • Environment: Conveyor belt with parts, bins • Actuators: Jointed arm and hand • Sensors: Camera, joint angle sensors UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

PEAS for an Interactive English Tutor • Performance measure: Maximize student's score on test

PEAS for an Interactive English Tutor • Performance measure: Maximize student's score on test • Environment: Set of students • Actuators: Screen display (exercises, suggestions, corrections) • Sensors: Keyboard UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types • Fully observable (vs. partially observable): An agent's sensors give it access

Environment Types • Fully observable (vs. partially observable): An agent's sensors give it access to the complete state of the environment at each point in time • Deterministic (vs. stochastic): The next state of the environment is completely determined by the current state and the action executed by the agent. (If the environment is deterministic except for the actions of other agents, then the environment is strategic) • Episodic (vs. sequential): The agent's experience is divided into atomic "episodes" (each episode consists of the agent perceiving and then performing a single action), and the choice of action UNIVERSITY OF SOUTH CAROLINA in each episode depends only onofthe episode itself Department Computer Science and Engineering

Environment Types • Static (vs. dynamic): The environment is unchanged while an agent is

Environment Types • Static (vs. dynamic): The environment is unchanged while an agent is deliberating. (The environment is semidynamic if the environment itself does not change with the passage of time but the agent's performance score does) • Discrete (vs. continuous): A limited number of distinct, clearly defined percepts and actions • Single agent (vs. multiagent): An agent operating by itself in an environment UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Fully vs. partially observable: an environment is full observable when the sensors

Environment Types Fully vs. partially observable: an environment is full observable when the sensors can detect all aspects that are relevant to the choice of action. Solitaire Backgammom Intenet shopping Taxi Observable? ? Deterministic? ? Episodic? ? Static? ? Discrete? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Fully vs. partially observable: an environment is full observable when the sensors

Environment Types Fully vs. partially observable: an environment is full observable when the sensors can detect all aspects that are relevant to the choice of action. Observable? ? Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL Deterministic? ? Episodic? ? Static? ? Discrete? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Deterministic vs. stochastic: if the next environment state is completely determined by

Environment Types Deterministic vs. stochastic: if the next environment state is completely determined by the current state the executed action the environment is deterministic. Observable? ? Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL Deterministic? ? Episodic? ? Static? ? Discrete? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Deterministic vs. stochastic: if the next environment state is completely determined by

Environment Types Deterministic vs. stochastic: if the next environment state is completely determined by the current state the executed action the environment is deterministic. Observable? ? Deterministic? ? Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL YES NO Episodic? ? Static? ? Discrete? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Episodic vs. sequential: In an episodic environment the agent’s experience can be

Environment Types Episodic vs. sequential: In an episodic environment the agent’s experience can be divided into atomic steps where the agents perceives and then performs A single action. The choice of action depends only on the episode itself Observable? ? Deterministic? ? Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL YES NO Episodic? ? Static? ? Discrete? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Episodic vs. sequential: In an episodic environment the agent’s experience can be

Environment Types Episodic vs. sequential: In an episodic environment the agent’s experience can be divided into atomic steps where the agents perceives and then performs A single action. The choice of action depends only on the episode itself Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL Deterministic? ? YES NO Episodic? ? NO NO Observable? ? Static? ? Discrete? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Static vs. dynamic: If the environment can change while the agent is

Environment Types Static vs. dynamic: If the environment can change while the agent is choosing an action, the environment is dynamic. Semi-dynamic if the agent’s performance changes even when the environment remains the same. Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL Deterministic? ? YES NO Episodic? ? NO NO Observable? ? Static? ? Discrete? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Static vs. dynamic: If the environment can change while the agent is

Environment Types Static vs. dynamic: If the environment can change while the agent is choosing an action, the environment is dynamic. Semi-dynamic if the agent’s performance changes even when the environment remains the same. Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL Deterministic? ? YES NO Episodic? ? NO NO Static? ? YES SEMI NO Observable? ? Discrete? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Discrete vs. continuous: This distinction can be applied to the state of

Environment Types Discrete vs. continuous: This distinction can be applied to the state of the environment, the way time is handled and to the percepts/actions of the agent. Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL Deterministic? ? YES NO Episodic? ? NO NO Static? ? YES SEMI NO Observable? ? Discrete? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Discrete vs. continuous: This distinction can be applied to the state of

Environment Types Discrete vs. continuous: This distinction can be applied to the state of the environment, the way time is handled and to the percepts/actions of the agent. Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL Deterministic? ? YES NO Episodic? ? NO NO Static? ? YES SEMI NO Discrete? ? YES YES NO Observable? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Single vs. multi-agent: Does the environment contain other agents who are also

Environment Types Single vs. multi-agent: Does the environment contain other agents who are also maximizing some performance measure that depends on the current agent’s actions? Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL Deterministic? ? YES NO Episodic? ? NO NO Static? ? YES SEMI NO Discrete? ? YES YES NO Observable? ? Single-agent? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types Single vs. multi-agent: Does the environment contain other agents who are also

Environment Types Single vs. multi-agent: Does the environment contain other agents who are also maximizing some performance measure that depends on the current agent’s actions? Solitaire Backgammom Intenet shopping Taxi FULL PARTIAL Deterministic? ? YES NO Episodic? ? NO NO Static? ? YES SEMI NO Discrete? ? YES YES NO Single-agent? ? YES NO NO NO Observable? ? UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Environment Types • The simplest environment is – Fully observable, deterministic, episodic, static, discrete

Environment Types • The simplest environment is – Fully observable, deterministic, episodic, static, discrete and single-agent. • Most real situations are: – Partially observable, stochastic, sequential, dynamic, continuous and multi-agent. UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Agent Types • Four basic types in order of increasing generality: – Simple reflex

Agent Types • Four basic types in order of increasing generality: – Simple reflex agents – Model-based reflex agents – Goal-based agents – Utility-based agents • All these can be turned into learning agents UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Agent Types Function TABLE-DRIVEN_AGENT(percept) returns an action static: percepts, a sequence initially empty table,

Agent Types Function TABLE-DRIVEN_AGENT(percept) returns an action static: percepts, a sequence initially empty table, a table of actions, indexed by percept sequence append percept to the end of percepts action LOOKUP(percepts, table) return action This approach is doomed to failure UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Simple Reflex Agents • Select action on the basis of only the current percept

Simple Reflex Agents • Select action on the basis of only the current percept – E. g. the vacuumagent • Large reduction in possible percept/action situations (example on next page) • Implemented through condition-action rules – If dirty then suck UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

The Vacuum-Cleaner World function REFLEX-VACUUM-AGENT ([location, status]) return an action if status == Dirty

The Vacuum-Cleaner World function REFLEX-VACUUM-AGENT ([location, status]) return an action if status == Dirty then return Suck else if location == A then return Right else if location == B then return Left T to 4 entries Reduction from 4 UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Simple Reflex Agent Function function SIMPLE-REFLEX-AGENT(percept) returns an action static: rules, a set of

Simple Reflex Agent Function function SIMPLE-REFLEX-AGENT(percept) returns an action static: rules, a set of condition-action rules state INTERPRET-INPUT(percept) rule RULE-MATCH(state, rule) action RULE-ACTION[rule] return action Will only work if the environment is fully observable UNIVERSITY OF determination SOUTH CAROLINA of • E. g. , braking in cars without Department of Computer Science and Engineering centrally mounted brake lights

Model-Based Reflex Agents UNIVERSITY OF SOUTH CAROLINA • To tackle partially observable environments. –

Model-Based Reflex Agents UNIVERSITY OF SOUTH CAROLINA • To tackle partially observable environments. – Maintain internal state • Over time update state using world knowledge – How does the world change. – How do actions affect world. Model of World Department of Computer Science and Engineering

Model-Based Agent Function function REFLEX-AGENT-WITH-STATE(percept) returns an action static: rules, a set of condition-action

Model-Based Agent Function function REFLEX-AGENT-WITH-STATE(percept) returns an action static: rules, a set of condition-action rules state, a description of the current world state action, the most recent action. state UPDATE-STATE(state, action, percept) rule RULE-MATCH(state, rule) action RULE-ACTION[rule] return action UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering

Model-Based Goal-Based agents • The agent needs a goal to know which situations are

Model-Based Goal-Based agents • The agent needs a goal to know which situations are desirable – Things become difficult when long sequences of actions are required to find the goal UNIVERSITY OF SOUTH CAROLINA • Typically investigated in search and planning research • Major difference: future is taken into account • Is more flexible since knowledge is represented explicitly and can be Department of Computer Science and Engineering manipulated

Utility-Based Agents UNIVERSITY OF SOUTH CAROLINA • Certain goals can be reached in different

Utility-Based Agents UNIVERSITY OF SOUTH CAROLINA • Certain goals can be reached in different ways – Some are better, have a higher utility • Utility function maps a (sequence of) state(s) onto a real number. • Improves on goals: – Selecting between conflicting goals – Select appropriately between several goals based on likelihood of success Department of Computer Science and Engineering

Learning Agents UNIVERSITY OF SOUTH CAROLINA • All previous agent programs describe methods for

Learning Agents UNIVERSITY OF SOUTH CAROLINA • All previous agent programs describe methods for selecting actions – Yet the origin of these programs is not provided – Learning mechanisms can be used to perform this task – Teach them instead of instructing them – Advantage is the robustness of the program toward initially unknown Department of Computer Science and Engineering environments

Learning Agents • Learning element: introduce improvements in performance element. – Critic provides feedback

Learning Agents • Learning element: introduce improvements in performance element. – Critic provides feedback on agents performance based on fixed performance standard • Performance element: selecting actions based on percepts – Corresponds to the previous agent programs UNIVERSITY OF SOUTH CAROLINA • Problem generator: suggests actions that will lead to new and informative Department of Computer Science and Engineering experiences