# Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007.

## Presentation on theme: "Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007."— Presentation transcript:

Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007

CSE 471/598, CBS 598 by H. Liu2 Problem-Solving Agents This is a kind of goal-based agents that decide what to do by finding sequences of actions that lead to desirable states. Some problems cannot be solved by reflex agents Formulating problems Example problems Searching for solutions

CSE 471/598, CBS 598 by H. Liu3 A simple problem-solving agent Goal formulation - limiting the objectives (for any task, we may have more than one objective) A goal is a set of world states in which the goal is satisfied. Problem formulation - deciding what actions and states to consider The above two are about focusing Search - looking for the best sequence of actions

CSE 471/598, CBS 598 by H. Liu4 A simple agent (2) Solutions - the results of search, so they are sequences of actions that lead to the goal Execution - acting upon the world Formulate -> Search -> Execute An algorithm in Fig 3.1

CSE 471/598, CBS 598 by H. Liu5 Well-defined problems and solutions A problem is defined by four components Initial state is where an agent starts Possible actions, successor function Goal test determines if a state is a goal state Path cost function, step cost A solution is a path from the initial state to a goal state Path - connecting sets of states

CSE 471/598, CBS 598 by H. Liu6 Problems and Solutions States and actions are the basic elements of a problem A world of states: initial state I, operator O (or successor) State space - the set of all states reachable from I by any sequences of O Example: a simplified Romania road map (Fig 3.2)

CSE 471/598, CBS 598 by H. Liu7 Formulating Problems Choosing states and actions The real art of problem solving is in what goes into the description of the states and operators and what does not How to achieve those? Abstraction - removing detail from a representation A key problem solving skill What are irrelevant details for the case of Fig 3.2 we can think of?

CSE 471/598, CBS 598 by H. Liu8 Measuring problem-solving performance Performance measures Completeness – if there is a solution, it will find it Optimality – the solution found is the best Time complexity – number of nodes generated during search Space complexity – maximum number of nodes stored in memory Reach the goal Search cost Total cost = path cost + search cost

CSE 471/598, CBS 598 by H. Liu9 Example Problems Toy problems: concise and exact, used to illustrate or exercise various problem-solving methods - ideal cases Real-world problems: more difficult and we want solutions, but there might be many different descriptions Toy problems can also be used to test ideas quickly: if it does not work for toy problems, we have reasons to believe that it won’t work for real-world problems.

CSE 471/598, CBS 598 by H. Liu10 Toy problem (1) Vacuum world (Fig 3.3) States: 8 (2*2^2) or n*2^n  What is the first n about? Initial states: any Successor function: Left, Right, Suck Goal test: Clean or not Path cost: Each step costs 1 Comparing with the real world case, how different the two are?

CSE 471/598, CBS 598 by H. Liu11 Toy problem (2) The 8-puzzle States:O(9!) Initial state: Start state (Fig 3.4) Successor function: Left, Right, Up, Down Goal test: Goal state (Fig 3.4) Path cost: Each step costs 1

CSE 471/598, CBS 598 by H. Liu12 Toy problem (3) The 8-queens (Fig 3.5) States: 64*63*…*57 Initial states: Empty board Successor function: Add a queen to any empty square Goal test: 8 queens on the board, none attacked Path cost: N/A A better formulation with constraint One per column in the leftmost n column w/o attacking queens Add a queen to any square in the leftmost empty column w/o attacking queens What is the difference between the two?

CSE 471/598, CBS 598 by H. Liu13 Real-world problems Route finding Touring and traveling salesperson problem VLSI layout Robot navigation Assembly sequencing Protein design Internet searching

CSE 471/598, CBS 598 by H. Liu14 Search Generating action sequences Expanding the current state by... Generating a new set of states Let’s look at a situation we come to BY …  PHX -> ASU -> BY A state map

CSE 471/598, CBS 598 by H. Liu15 What is search? The essence of search is to consider one choice at a time. Search tree – generated by the initial state and successor, defines the state space ( two examples - Figs 3.6 and 3.8 ) root, nodes, fringe (leaf nodes) A general search algorithm (Fig 3.9) Initial state, test, expand, test, expand, … How to expand is determined by a search strategy How to implement the fringe - a queue

CSE 471/598, CBS 598 by H. Liu16 Search Evaluation Evaluating search strategies (Criteria) Completeness – guaranteed to find a solution if there is one Time complexity – big O Space (memory) complexity – big O Optimality – the solution is optimal Branching factor (b), depth of the shallowest goal (d), maximum length of any path (m) Two types of search Blind search (uninformed) Heuristic search (informed)

CSE 471/598, CBS 598 by H. Liu17 Uninformed Search Strategies Breadth-first search (a binary tree example) Expanding the shallowest node Complete? Optimal? How to implement it branching factor - a killing cost (Fig 3.11) The main concerns the memory requirements exponential complexity Uniform-cost search – expands the node with the lowest path cost Complete? Optimal? What if a node has a zero-cost action leading back to the same node? When is it identical to BFS?

CSE 471/598, CBS 598 by H. Liu18 Search Strategies (2) Depth-first search A binary tree example (Fig 3.12) Complete? Optimal? How to implement it The main concerns Wrong branch Deep branch The cures Depth-limited search (Fig 3.13)  Determining depth limit based on the problem (how many cities in the map of Romania?) Iterative deepening search (Fig 3.15)

CSE 471/598, CBS 598 by H. Liu19 Search Strategies (3) Comparing ID Depth-First with Breadth-First Which one is faster? Bidirectional search The two directions: Start, Goal (Fig 3.16) What’s the saving? The main concerns How to search backwards Multiple goal states Efficient checking to avoid redundant search in the other tree

CSE 471/598, CBS 598 by H. Liu20 Search Strategies (4) Which one to use and when We need to know the strategies in terms of the four criteria  Comparing uninformed search strategies (Fig 3.17) We need to know the problem to be solved  Human intelligence is still required, or not plug- and-play.

CSE 471/598, CBS 598 by H. Liu21 Avoiding Repeated States It’s wasting time to expand states that have already been encountered and expanded before. How to avoid? Systematic search Remembering what have been visited (open list vs. closed list)  Graph-Search (Fig 3.19)

CSE 471/598, CBS 598 by H. Liu22 Searching with partial information Sensorless problems Reason about sets of states instead of a single state (Fig 3.21) Contingency problems Environment is partially observable, actions are uncertain [Suck, Right, if [R,Dirty] then Suck] with position and local dirt sensors Exploration problems Both the states and actions of E are unknown Can be viewed as an extreme case of contingency problems

CSE 471/598, CBS 598 by H. Liu23 Summary Problem solving is goal-based A problem consists of 4 parts initial state, operator, goal test, path cost A single general search algorithm can solve any problem, but … Four criteria: completeness, optimality, time complexity, space complexity Various search strategies