5
CPSC 322, Lecture 4Slide 5 Simple Planning Agent Deterministic, goal-driven agent Agent is in a start state Agent is given a goal (subset of possible states) Environment changes only when the agent acts Agent perfectly knows: what actions can be applied in any given state the state it is going to end up in when an action is applied in a given state The sequence of actions and their appropriate ordering is the solution

6
CPSC 322, Lecture 4Slide 6 Three examples 1.A delivery robot planning the route it will take in a bldg. to get from one room to another 2.Solving an 8-puzzle 3.Vacuum cleaner world

8
Eight Puzzle States: each state specifies which number/blank occupies each of the 9 tiles HOW MANY STATES ? Actions: blank moves left, right, up down Possible Goal: configuration with numbers in right sequence 9! 8989 9 9 2929

15
CPSC 322, Lecture 4Slide 15 How can we find a solution? How can we find a sequence of actions and their appropriate ordering that lead to the goal? Define underlying search space graph where nodes are states and edges are actions. b4 o107o109o111 r109r107 r111 o113r113

19
CPSC 322, Lecture 4Slide 19 Search: Abstract Definition How to search Start at the start state Consider the effect of taking different actions starting from states that have been encountered in the search so far Stop when a goal state is encountered To make this more formal, we'll need review the formal definition of a graph...

20
CPSC 322, Lecture 4Slide 20 A graph consists of a set N of nodes and a set A of ordered pairs of nodes, called arcs. Node n 2 is a neighbor of n 1 if there is an arc from n 1 to n 2. That is, if  n 1, n 2   A. A path is a sequence of nodes n 0, n 1, n 2,.., n k such that  n i-1, n i   A. A cycle is a non-empty path such that the start node is the same as the end node A directed acyclic graph (DAG) is a graph with no cycles Given a start node and goal nodes, a solution is a path from a start node to a goal node. Search Graph

23
CPSC 322, Lecture 4Slide 23 Generic search algorithm: given a graph, start node, and goal node(s), incrementally explore paths from the start node(s). Maintain a frontier of paths from the start node that have been explored. As search proceeds, the frontier expands into the unexplored nodes until (hopefully!) a goal node is encountered. The way in which the frontier is expanded defines the search strategy. Graph Searching

24
CPSC 322, Lecture 4Slide 24 Input: a graph, a start node, Boolean procedure goal(n) that tests if n is a goal node frontier:= [ : s is a start node]; While frontier is not empty: select and remove path from frontier; If goal(n k ) return ; For every neighbor n of n k add to frontier; end Generic Search Algorithm

26
CPSC 322, Lecture 4Slide 26 The forward branching factor of a node is the number of arcs going out of the node The backward branching factor of a node is the number of arcs going into the node If the forward branching factor of any node is b and the graph is a tree, how many nodes are n steps away from a node? Branching Factor nbnb nbbnbn n/b

27
CPSC 322, Lecture 4Slide 27 Search is a key computational mechanism in many AI agents We will study the basic principles of search on the simple deterministic planning agent model Generic search approach: define a search space graph, start from current state, incrementally explore paths from current state until goal state is reached. The way in which the frontier is expanded defines the search strategy. Lecture Summary

28
CPSC 322, Lecture 4Slide 28 Learning Goals for today’s class Identify real world examples that make use of deterministic, goal-driven planning agents Assess the size of the search space of a given search problem. Implement the generic solution to a search problem.