Top Banner
Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana Lazebnik, Percy Liang, Luke Zettlemoyer
56

Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Jan 12, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Agents & Search

Tamara BergCS 560 Artificial Intelligence

Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana Lazebnik, Percy Liang, Luke Zettlemoyer

Page 2: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Course Information

• Instructor: Tamara Berg ([email protected])• Office Hours: FB 236, Mon/Wed 11:25-12:25pm• Course website: http://tamaraberg.com/teaching/Fall_15/• Course mailing list: [email protected]

• TA: Patrick (Ric) PoirsonTA office hours: SN 109, Tues/Thurs 4-5pm

• Announcements, readings, schedule, etc, will all be posted to the course webpage. Schedule may be modified as needed over the semester. Check frequently!

Page 3: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Announcements for today

• If you missed the first class please download and look over the slides from last week (course information, grading information, requirements, introduction to AI, etc).

• Check to make sure you have a directory on classroom.unc.edu in /afs/cs.unc.edu/project/courses/comp560-f15/users/

Page 4: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Agents

Page 5: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Agents• An agent is anything that can be viewed as

perceiving its environment through sensors and acting upon that environment through actuators

Page 6: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Example: Vacuum-Agent• Percepts:

Location and status, e.g., [A,Dirty]

• Actions: Left, Right, Suck, Dump, NoOp

function Vacuum-Agent([location,status]) returns an action• if status = Dirty then return Suck• else if location = A then return Right• else if location = B then return Left

Page 7: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Rational agents

• 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 the agent’s built-in knowledge

• Performance measure (utility function): An objective criterion for success of an agent's behavior

Page 8: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.
Page 9: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Example: Vacuum-Agent• Percepts:

Location and status, e.g., [A,Dirty]

• Actions: Left, Right, Suck, Dump, NoOp

• Potential performance measures for our vacuum agent? – Amount of dirt the agent cleans in an 8 hour shirt– Reward for having a clean floor, e.g. awarded for each clean square at each

time step

Page 10: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Example: Vacuum-Agent• Percepts:

Location and status, e.g., [A,Dirty]

• Actions: Left, Right, Suck, Dump, NoOp

function Vacuum-Agent([location,status]) returns an action• if status = Dirty then return Suck• else if location = A then return Right• else if location = B then return Left

Is this agent rational?

Page 11: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Specifying the task environment

• Problem specification: Performance measure, Environment, Actuators, Sensors (PEAS)

• Example: autonomous 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, LIDAR, speedometer, GPS, odometer, engine sensors, keyboard

Page 12: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Another PEAS example: Spam filter

• Performance measure– Minimizing false positives, false negatives

• Environment– A user’s email account, email server

• Actuators– Mark as spam, delete, etc.

• Sensors– Incoming messages, other information about

user’s account

Page 13: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Environment types

• Fully observable vs. partially observable• Deterministic vs. stochastic• Episodic vs. sequential• Static vs. dynamic• Discrete vs. continuous• Single agent vs. multi-agent• Known vs. unknown

Page 14: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Fully observable vs. partially observable• Do the agent's sensors give it access to the

complete state of the environment?

vs.

Page 15: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Deterministic vs. stochastic

• Is the next state of the environment completely determined by the current state and the agent’s action?

vs.

Page 16: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Episodic vs. sequential

• Is the agent’s experience divided into unconnected episodes, or is it a coherent sequence of observations and actions?

vs.

Page 17: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Static vs. dynamic• Is the world changing while the agent is

thinking?• Semi-dynamic: the environment does not change with the

passage of time, but the agent's performance score does

vs.

Page 18: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Discrete vs. continuous

• Does the environment provide a fixed number of distinct percepts, actions, and environment states?– Time can also evolve in a discrete or continuous fashion

vs.

Page 19: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Single-agent vs. multiagent

• Is an agent operating by itself in the environment?

vs.

Page 20: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Known vs. unknown

• Are the rules of the environment (transitions and rewards) known to the agent?– Strictly speaking, not a property of the environment, but

of the agent’s state of knowledge

vs.

Page 21: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Examples of different environments

Observable

Deterministic

Episodic

Static

Discrete

Single agent

Fully Partially Partially

Deterministic Stochastic Stochastic

Sequential Sequential Sequential

Semidynamic DynamicStatic

Discrete Discrete Continuous

Multi Multi Multi

Fully

Deterministic

Episodic

Static

Discrete

Single

Chess witha clock

Scrabble Autonomous driving

Word jumblesolver

Page 22: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Solving problems by searching

Image source: Wikipedia

Page 23: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Types of agentsReflex agent

• Consider how the world IS• Choose action based on

current percept (and maybe memory or a model of the world’s current state)

• Do not consider the future consequences of their actions

Planning agent

• Consider how the world WOULD BE• Decisions based on (hypothesized)

consequences of actions• Must have a model of how the world

evolves in response to actions• Must formulate a goal (test)

Page 24: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search

• We will consider the problem of designing goal-based agents in fully observable, deterministic, discrete, known environments

Start state

Goal state

Page 25: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search

• We will consider the problem of designing goal-based agents in fully observable, deterministic, discrete, known environments – The agent must find a sequence of actions that reaches a goal– The performance measure is defined by (a) reaching a goal and

(b) how “expensive” the path to the goal is– We are focused on the process of finding the solution; while

executing the solution, we assume that the agent can safely ignore its percepts.

Page 26: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search problem components• Initial state• Actions• Transition model

– What state results fromperforming a given action in a given state?

• Goal state• Path cost

– Assume that it is a sum of nonnegative action costs

• The optimal solution is the sequence of actions that gives the lowest path cost for reaching the goal

Initialstate

Goal state

Page 27: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Example: Romania• On vacation in Romania; currently in Arad• Flight leaves tomorrow from Bucharest

• Initial state– Arad

• Actions– Go from one city to another

• Transition model– If you go from city A to

city B, you end up in city B

• Goal state– Bucharest

• Path cost– Sum of city to city travel costs

(total distance traveled)

Page 28: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

State space• The initial state, actions, and transition model

define the state space of the problem– The set of all states reachable from initial state by any

sequence of actions– Can be represented as a directed graph where the

nodes are states and links between nodes are actions

Page 29: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.
Page 30: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

State space• The initial state, actions, and transition model define the

state space of the problem– The set of all states reachable from initial state by any sequence

of actions– Can be represented as a directed graph where the nodes are

states and links between nodes are actions

• What is the state space for the Romania problem?

Page 31: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Example: Vacuum world

• States– Agent location and dirt location– How many possible states?

Page 32: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Vacuum world state space graph

Page 33: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Example: Vacuum world

• States– Agent location and dirt location– How many possible states?– What if there are n possible locations?

• The size of the state space grows exponentially with the “size” of the world!

Page 34: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Simplified Pac-Man State Size?

Page 35: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Example: The 8-puzzle• States– Locations of tiles

• 8-puzzle: 181,440 states

• 15-puzzle: ~10 trillion states

• 24-puzzle: ~1025 states

• Actions

–Move blank left, right, up, down

• Path cost

– 1 per move

• Finding the optimal solution of n-Puzzle is NP-hard

Page 36: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Example: Robot motion planning

• States – Real-valued joint parameters (angles, displacements)

• Actions– Continuous motions of robot joints

• Goal state– Configuration in which object is grasped

• Path cost– Time to execute, smoothness of path, etc.

Page 37: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search• Given:

– Initial state

– Actions

– Transition model

– Goal state

– Path cost

• How do we find the optimal solution?– How about building the state space and then using Dijkstra’s

shortest path algorithm?• Complexity of Dijkstra’s is O(E + V log V), where V is the size of the

state space

• The state space may be huge!

Page 38: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search: Basic idea

• Let’s begin at the start state and expand it by making a list of all possible successor states

• Maintain a frontier or a list of unexpanded states

• At each step, pick a state from the frontier to expand

• Keep going until you reach a goal state• Try to expand as few states as possible

Page 39: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search tree• “What if” tree of sequences of actions

and outcomes

• The root node corresponds to the starting state

• The children of a node correspond to the successor states of that node’s state

• A path through the tree corresponds to a sequence of actions– A solution is a path ending in a goal state

• Edges are labeled with actions and costs

… … ……

Starting state

Successor state

Action

Goal state

Page 40: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Tree Search Algorithm Outline

• Initialize the frontier using the start state• While the frontier is not empty– Choose a frontier node to expand according to search strategy

and take it off the frontier– If the node contains the goal state, return solution– Else expand the node and add its children to the frontier

Page 41: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Tree search example

Start: AradGoal: Bucharest

Page 42: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Tree search example

Start: AradGoal: Bucharest

Page 43: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Tree search example

Start: AradGoal: Bucharest

Page 44: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Tree search example

Start: AradGoal: Bucharest

Page 45: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Tree search example

Start: AradGoal: Bucharest

Page 46: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Tree search example

Start: AradGoal: Bucharest

Page 47: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Tree search example

Start: AradGoal: Bucharest

Page 48: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Handling repeated states• Initialize the frontier using the starting state• While the frontier is not empty

– Choose a frontier node to expand according to search strategy and take it off the frontier

– If the node contains the goal state, return solution– Else expand the node and add its children to the frontier

• To handle repeated states:– Keep an explored set; which remembers every expanded node– Every time you expand a node, add that state to the

explored set; do not put explored states on the frontier again– Every time you add a node to the frontier, check whether it already

exists in the frontier with a higher path cost, and if yes, replace that node with the new one

Page 49: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search without repeated states

Start: AradGoal: Bucharest

Page 50: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search without repeated states

Start: AradGoal: Bucharest

Page 51: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search without repeated states

Start: AradGoal: Bucharest

Page 52: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search without repeated states

Start: AradGoal: Bucharest

Page 53: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search without repeated states

Start: AradGoal: Bucharest

Page 54: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search without repeated states

Start: AradGoal: Bucharest

Page 55: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Search without repeated states

Start: AradGoal: Bucharest

Page 56: Agents & Search Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana.

Tree Search Algorithm Outline

• Initialize the frontier using the starting state• While the frontier is not empty– Choose a frontier node to expand according to search strategy

and take it off the frontier– If the node contains the goal state, return solution– Else expand the node and add its children to the frontier

Main question: Which frontier nodes to explore?Idea: Try to expand as few nodes as possible in finding goal