43
2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

Embed Size (px)

Citation preview

Page 1: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 1

CAP 4630/5605: Artificial Intelligence

CAP 4630/5605: Artificial Intelligence

Computer Science Department

University of North Florida

Page 2: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 2

Course OverviewCourse Overview Introduction Intelligent Agents Search

problem solving through search

informed search

Games games as search problems

Knowledge and Reasoning reasoning agents propositional logic predicate logic knowledge-based systems

Learning learning from observation neural networks

Conclusions

Page 3: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 3

Chapter OverviewIntelligent AgentsChapter OverviewIntelligent Agents

Motivation Objectives Evaluation Criteria Introduction Agents and their Actions Agent Structure Environments

Post-Test Evaluation Important Concepts and

Terms Chapter Summary

Page 4: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 4

MotivationMotivation

agents are used to provide a consistent viewpoint on various topics in the field AI

agents require essential skills to perform tasks that require intelligence

intelligent agents use methods and techniques from the field of AI

Page 5: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 5

ObjectivesObjectives

introduce the essential concepts of intelligent agentsdefine some basic requirements for the behavior and

structure of agentsestablish mechanisms for agents to interact with

their environment

Page 6: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 6

What is an Agent?What is an Agent?

in general, an entity that interacts with its environment perception through sensors actions through effectors or actuators

Page 7: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 7

Examples of AgentsExamples of Agentshuman agent

eyes, ears, skin, taste buds, etc. for sensors hands, fingers, legs, mouth, etc. for effectors

powered by muscles

robot camera, infrared, bumper, etc. for sensors grippers, wheels, lights, speakers, etc. for effectors

often powered by motors

software agent functions as sensors

information provided as input to functions in the form of encoded bit strings or symbols

functions as effectors results deliver the output

Page 8: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 8

Agents and Their ActionsAgents and Their Actions

a rational agent does “the right thing” the action that leads to the best outcome

problems: what is “ the right thing” how do you measure the “best outcome”

Page 9: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 9

Performance of AgentsPerformance of Agents

criteria for measuring the outcome and the expenses of the agent often subjective, but should be objective task dependent time may be important

Page 10: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 10

Performance Evaluation ExamplesPerformance Evaluation Examples

vacuum agent number of tiles cleaned during a certain period

based on the agent’s report, or validated by an objective authority doesn’t consider expenses of the agent, side effects

energy, noise, loss of useful objects, damaged furniture, scratched floor might lead to unwanted activities

agent re-cleans clean tiles, covers only part of the room, drops dirt on tiles to have more tiles to clean, etc.

Page 11: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 11

Rational AgentRational Agent

important considerations performance measure for the successful completion of a

task complete perceptual history (percept sequence) background knowledge

especially about the environment dimensions, structure, basic “laws”

task, user, other agents

feasible actions capabilities of the agent

Page 12: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 12

OmniscienceOmniscience

a rational agent is not omniscient it doesn’t know the actual outcome of its actions it may not know certain aspects of its environment

rationality takes into account the limitations of the agent percept sequence, background knowledge, feasible

actions it deals with the expected outcome of actions

Page 13: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 13

Ideal Rational AgentIdeal Rational Agent

selects the action that is expected to maximize its performance based on a performance measure depends on the percept sequence, background

knowledge, and feasible actions

Page 14: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 14

From Percepts to ActionsFrom Percepts to Actions

if an agent only reacts to its percepts, a table can describe the mapping from percept sequences to actions instead of a table, a simple function may also be used can be conveniently used to describe simple agents that

solve well-defined problems in a well-defined environment e.g. calculation of mathematical functions

Page 15: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 15

Agent or ProgramAgent or Program

our criteria so far seem to apply equally well to software agents and to regular programs

autonomy agents solve tasks largely independently programs depend on users or other programs for

“guidance” autonomous systems base their actions on their own

experience and knowledge requires initial knowledge together with the ability to learn provides flexibility for more complex tasks

Page 16: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 16

Structure of Intelligent AgentsStructure of Intelligent Agents

Agent = Architecture + Programarchitecture

operating platform of the agent computer system, specific hardware, possibly OS functions

program function that implements the mapping from percepts to

actions

emphasis in this course on the program, not on the architecture

Page 17: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 17

Software AgentsSoftware Agents

also referred to as “softbots”live in artificial environments where computers and

networks provide the infrastructuremay be very complex with strong requirements on

the agent World Wide Web, real-time constraints,

natural and artificial environments may be merged user interaction sensors and effectors in the real world

camera, temperature, arms, wheels, etc.

Page 18: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 18

PAGE DescriptionPAGE Description

Percepts

Actions

Goals

Environment

used for high-level characterization of agents

surroundings beyond the control of the agent

desired outcome of the task with a measurable performance

operations performed by the agent on the environment through its effectors

information acquired through the agent’s sensory system

Page 19: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 19

VacBot PAGE DescriptionVacBot PAGE Description

Percepts

Actions

Goals

Environment surroundings beyond the control of the agent

desired outcome of the task with a measurable performance

pick up dirt, move

tile properties like clean/dirty, empty/occupiedmovement and orientation

Page 20: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 20

SearchBot PAGE DescriptionSearchBot PAGE Description

Percepts

Actions

Goals

Environment

Page 21: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 21

StudentBot PAGE DescriptionStudentBot PAGE Description

Percepts

Actions

Goals

Environment classroom

mastery of the materialperformance measure: grade

comments, questions, gesturesnote-taking (?)

images (text, pictures, instructor, classmates)sound (language)

Page 22: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 22

Agent ProgramsAgent Programs

the emphasis in this course is on programs that specify the agent’s behavior through mappings from percepts to actions less on environment and goals

agents receive one percept at a time they may or may not keep track of the percept sequence

performance evaluation is often done by an outside authority, not the agent more objective, less complicated

Page 23: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 23

Skeleton Agent ProgramSkeleton Agent Program

basic framework for an agent program

function SKELETON-AGENT(percept) returns actionstatic: memory

memory := UPDATE-MEMORY(memory, percept)action := CHOOSE-BEST-ACTION(memory)memory := UPDATE-MEMORY(memory, action)

return action

Page 24: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 24

Look it up!Look it up!

simple way to specify a mapping from percepts to actions tables may become very large all work done by the designer no autonomy, all actions are predetermined learning might take a very long time

Page 25: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 25

Table Agent ProgramTable Agent Program

agent program based on table lookup

function TABLE-DRIVEN-AGENT(percept) returns actionstatic: percepts // initially empty sequence

table // indexed by percept sequences// initially fully specified

append percept to the end of perceptsaction := LOOKUP(percepts, table)

return action

Page 26: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 26

Agent Program TypesAgent Program Types

different ways of achieving the mapping from percepts to actions

different levels of complexitysimple reflex agentsagents that keep track of the worldgoal-based agentsutility-based agents

Page 27: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 27

Simple Reflex AgentsSimple Reflex Agents

instead of specifying individual mappings in an explicit table, common input-output associations are recorded requires processing of percepts to achieve some

abstraction frequent method of specification is through condition-

action rules if percept then action

similar to innate reflexes or learned responses in humans efficient implementation, but limited power

Page 28: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 28

Reflex Agent DiagramReflex Agent Diagram

Sensors

Effectors

What the world is like now

What should I do nowCondition-action rules

Agent Environment

Page 29: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 29

Reflex Agent Diagram 2Reflex Agent Diagram 2

Sensors

Effectors

What the world is like now

What should I do nowCondition-action rules

Agent

Environment

Page 30: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 30

Reflex Agent ProgramReflex Agent Program

application of simple rules to situations

function SIMPLE-REFLEX-AGENT(percept) returns actionstatic: rules //set of condition-action rules

state := INTERPRET-INPUT(percept)rule := RULE-MATCH(state, rules)action := RULE-ACTION(rule)

return action

Page 31: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 31

Reflex Agent with Internal StateReflex Agent with Internal State

an internal state maintains important information from previous percepts sensors only provide a partial picture of the environment

Page 32: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 32

Reflex Agent with State DiagramReflex Agent with State Diagram

Sensors

Effectors

What the world is like now

What should I do now

State

How the world evolves

What my actions do

Agent

Environment

Condition-action rules

Page 33: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 33

Reflex Agent with State ProgramReflex Agent with State Programapplication of simple rules to situations

function REFLEX-AGENT-WITH-STATE(percept) returns actionstatic: rules //set of condition-action rules state //description of the current world state

state := UPDATE-STATE(state, percept)rule := RULE-MATCH(state, rules)action := RULE-ACTION(rule)state := UPDATE-STATE(state, action)

return action

Page 34: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 34

Goal-Based AgentGoal-Based Agent

the agent tries to reach a desirable state may be provided from the outside (user, designer), or

inherent to the agent itself

results of possible actions are considered with respect to the goal may require search or planning

very flexible, but not very efficient

Page 35: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 35

Goal-Based Agent DiagramGoal-Based Agent Diagram

Sensors

Effectors

What the world is like now

What happens if I do an action

What should I do now

State

How the world evolves

What my actions do

Goals

Agent

Environment

Page 36: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 36

Utility-Based AgentUtility-Based Agent

more sophisticated distinction between different world states states are associated with a real number

may be interpreted as “degree of happiness”

allows the resolution of conflicts between goals permits multiple goals

Page 37: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 37

Utility-Based Agent DiagramUtility-Based Agent Diagram

Sensors

Effectors

What the world is like now

What happens if I do an action

How happy will I be then

What should I do now

State

How the world evolves

What my actions do

Utility

Agent

Environment

Page 38: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 38

EnvironmentsEnvironments

determine to a large degree the interaction between the “outside world” and the agent the “outside world” is not necessarily the “real world” as we

perceive it

in many cases, environments are implemented within computers they may or may not have a close correspondence to the

“real world”

Page 39: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 39

Environment PropertiesEnvironment Properties

accessible vs. inaccessible sensors provide all relevant information

deterministic vs. non-deterministic changes in the environment are predictable

episodic vs. non-episodic independent perceiving-acting episodes

static vs. dynamic no changes while the agent is “thinking”

discrete vs. continuous limited number of distinct percepts/actions

Page 40: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 40

Environment ProgramsEnvironment Programs

environment simulators for experiments with agents gives a percept to an agent receives an action updates the environment

often divided into environment classes for related tasks or types of agents

frequently provides mechanisms for measuring the performance of agents

Page 41: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 42

EvaluationEvaluation

Criteria

Page 42: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 43

Important Concepts and TermsImportant Concepts and Terms knowledge representation mapping omniscient agent PAGE description percept percept sequence performance measure rational agent reflex agent robot sensor software agent state static environment utility

accessible environment action agent agent program architecture autonomous agent continuous environment deterministic environment effector environment episodic environment goal ideal rational agent intelligent agent

Page 43: © 2004 Kurfess CalPoly edited by Eggen Introduction 1 CAP 4630/5605: Artificial Intelligence Computer Science Department University of North Florida

© 2004 Kurfess CalPoly edited by Eggen Introduction 44

Chapter SummaryChapter Summary

agents perceive and act in an environment ideal agents maximize their performance measure autonomous agents act independently

basic agent types simple reflex reflex with state goal-based utility-base

some environments may make life harder for agents inaccessible, non-deterministic, non-episodic, dynamic,

continuous