Intelligent agents ------------------ We would like to design intelligent agents, we need first to agree on what it is? Def 1: An agent is anything that + senses its environment (perceive) + acts upon that environment (act) Exp. + Human (look,hear,smell,touch ... - move) + Robot (sense through sensors/cameras, steer the wheels) + Softbot (inputs from environment, outputs) + Cleaning robot (senses/looks for dirts, clean & move around) Picture of generic agents Now, our goal is to design rational agents Def. 2: (First attempt to define rational agents) A rational agent - an agent that does the right thing + the right action: the action that makes it most successful -> evaluate the agent's success (how and when) Two points to decide: + objective performance measure to determine how successful is an agent? + when to evaluate ? ----------------------------------------- Example of irrational agents? + Does not do what it is supposed to do - A cleaning agent that sleeps the whole day/creates dirt - A teacher who does not come to the lecture Need: Criteria to say that an agent is rational ----------------------------------------- Exp.: HOW successful is an agent? Performance measure - cannot be fixed - subjective ---> objective performance measure! + for a cleaning robot: the amount of dirt the robot can clean in a certain amount of time, say 8 hours WHEN to evaluate the agent? + for a cleaning robot: after 8 hours Another view of agent: ---------------------- An agent could be viewed as a player in a game with the environment in which each action of the agent will be responded by the environment and vice versa. Problems in interacting with the environment: -------------------------------------------- Environment is unpredictable ---> agent cannot know the ACTUAL outcomes of its action --> what happens if an agent does the right action but does not get the expected result? Rationality depends on: + performance measure (defines the degree of success) + percept sequence (everything that the agent has perceived so far) + what it knows about the environment + the actions it can perform IDEALLY: agent should know what to do next given a percept sequence (ideal rational agent) ---> We can create a lookup table for each percept sequence -- one action ---> A rational agent is a mapping (ideal rational agent corresponds to ideal mapping) STOP - PROBLEM: infinite many possible percept sequences --> impossible to have an ideal mapping --> there exists no ideal rational agents! Fortunately, in many cases, we do not need to enumerate ALL possible sequences. Exp. Agent computing z such that z^2 = x given x (table in the book)