1 / 58

Agents & Search

Agents & Search. Tamara Berg CS 590-133 Artificial Intelligence. Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana Lazebnik , Percy Liang, Luke Zettlemoyer. Course Information. Instructor: Tamara Berg ( tlberg@cs.unc.edu )

ardara
Download Presentation

Agents & Search

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agents & Search Tamara Berg CS 590-133 Artificial Intelligence Many slides throughout the course adapted from Dan Klein, Stuart Russell, Andrew Moore, Svetlana Lazebnik, Percy Liang, Luke Zettlemoyer

  2. Course Information Instructor: Tamara Berg (tlberg@cs.unc.edu) Course website: http://tamaraberg.com/teaching/Spring_14/ TAs: Shubham Gupta & Rohit Gupta Office Hours (Tamara): Tuesdays/Thursdays 4:45-5:45pm FB 236 
Office Hours (Shubham): Mondays 4-5pm & Friday 3-4pm SN 307 
Office Hours (Rohit): Wednesday 4-5pm & Friday 4-5pm SN 312 See last week’s slides and website for additional important course information.

  3. Course Information • Textbook: “Artificial Intelligence A Modern Approach” Russell & Norvig, 3rd edition • Prerequisites: • Programming knowledge and data structures (COMP 401 and 410) are required • Reasonable knowledge ofprobability, algorithms, calculus also highly desired • There will be a lot of math and programming • Work & Grading • Readings (mostly from textbook) • 5-6 assignments including written questions, programming, or both • 2 midterms (approximate dates are on course website) and final exam • Grading will consist of 60% assignments, 40% exams. For borderline cases participation in class or via the mailing list may also be considered.

  4. Python Tutorials • Reminder: Students are expected to know how to program. • Programming assignments will be in python – useful language to know, used in many current AI courses, not too hard to pick up given previous programming experience. • To Do – install python on your laptops, attend a python tutorial. TA’s will hold drop-in tutorials Tuesday and Wednesday, 6pm in SN014.

  5. Announcements for today • I’ve created a piazza mailing list for the course. Please sign up here: • piazza.com/unc/spring2014/comp590133 • This is a 3 credit course. Some of you are only registered for 1 credit. Please change your enrollment to 3 credits. • Python tutorials Tues/Wed 6pm in SN014

  6. Agents

  7. Agents • An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators

  8. 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 • ifstatus = Dirty then return Suck • else iflocation = A then return Right • else iflocation = B then return Left

  9. 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

  10. 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 cleaned in 8 hour shirt • Reward for having a clean floor, e.g. awarded for each clean square @ each time step

  11. 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 • ifstatus = Dirty then return Suck • else iflocation = A then return Right • else iflocation = B then return Left Is this agent rational?

  12. 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

  13. 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

  14. 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

  15. Fully observable vs. partially observable • Do the agent's sensors give it access to the complete state of the environment? vs.

  16. Deterministic vs. stochastic • Is the next state of the environment completely determined by the current state and the agent’s action? vs.

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

  18. 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.

  19. 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.

  20. Single-agent vs. multiagent • Is an agent operating by itself in the environment? vs.

  21. 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.

  22. Examples of different environments Observable Deterministic Episodic Static Discrete Single agent Word jumblesolver Chess witha clock Scrabble Autonomous driving Fully Fully Partially Partially Deterministic Deterministic Stochastic Stochastic Episodic Sequential Sequential Sequential Dynamic Static Semidynamic Static Discrete Continuous Discrete Discrete Single Multi Multi Multi

  23. Solving problems by searching Chapter 3 Image source: Wikipedia

  24. Types of agents Reflex agent 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) • 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

  25. Search • We will consider the problem of designing goal-based agents in fully observable, deterministic, discrete, knownenvironments Start state Goal state

  26. Search • We will consider the problem of designing goal-based agents in fully observable, deterministic, discrete, knownenvironments • The agent must find a sequence of actions that reaches the goal • The performance measure is defined by (a) reaching the 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 (open-loop system)

  27. Search problem components Initial state • 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 step costs • The optimal solution is the sequence of actions that gives the lowest path cost for reaching the goal Goal state

  28. 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 edge costs (total distance traveled)

  29. 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

  30. 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?

  31. Example: Vacuum world • States • Agent location and dirt location • How many possible states?

  32. Vacuum world state space graph

  33. 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!

  34. Simplified Pac-Man State Size?

  35. 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 • 1per move • Finding the optimal solution of n-Puzzle is NP-hard

  36. 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.

  37. 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!

  38. 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

  39. 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 Action Successor state … … … … Goal state

  40. Tree Search Algorithm Outline • Initializethe frontier using the start state • While the frontier is not empty • Choose a frontier node to expand according to search strategyand 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

  41. Tree search example Start: Arad Goal: Bucharest

  42. Tree search example Start: Arad Goal: Bucharest

  43. Tree search example Start: Arad Goal: Bucharest

  44. Tree search example Start: Arad Goal: Bucharest

  45. Tree search example Start: Arad Goal: Bucharest

  46. Tree search example Start: Arad Goal: Bucharest

  47. Tree search example Start: Arad Goal: Bucharest

  48. Handling repeated states • Initializethe 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 • Newly generated nodes already in the explored set or frontier can be discarded instead of added to the frontier

More Related