Download presentation
Presentation is loading. Please wait.
Published byDavid Boone Modified over 9 years ago
1
Artificial Intelligence Search Problem
2
Search is a problem-solving technique to explores successive stages in problem-solving process.
3
A simple example: traveling on a graph A B C F D E 3 4 4 3 9 2 2 start state goal state
4
Search tree state = A, cost = 0 state = B, cost = 3 state = D, cost = 3 state = C, cost = 5 state = F, cost = 12 state = A, cost = 7 goal state! search tree nodes and states are not the same thing!
5
Full search tree state = A, cost = 0 state = B, cost = 3 state = D, cost = 3 state = C, cost = 5 state = F, cost = 12 state = A, cost = 7 goal state! state = E, cost = 7 state = F, cost = 11 goal state! state = B, cost = 10 state = D, cost = 10......
6
Problem types Deterministic, fully observable single-state problem – Solution is a sequence of states Non-observable sensorless problem – Problem-solving may have no idea where it is; solution is a sequence Nondeterministic and/or partially observable Unknown state space
7
Algorithm types There are two kinds of search algorithm – Complete guaranteed to find solution or prove there is none – Incomplete may not find a solution even when it exists often more efficient (or there would be no point)
8
Example: the 8-puzzle. Given: a board situation for the 8-puzzle: 138 27 546 123 567 48 Problem: find a sequence of moves that transform this board situation in a desired goal situation:
9
State Space representation In the space representation of a problem, the nodes of a graph correspond to partial problem solution states and arcs correspond to steps (action) in a problem-solving process
10
Key concepts in search Set of states that we can be in – Including an initial state… – … and goal states (equivalently, a goal test) For every state, a set of actions that we can take – Each action results in a new state – Given a state, produces all states that can be reached from it Cost function that determines the cost of each action (or path = sequence of actions) Solution: path from initial state to a goal state – Optimal solution: solution with minimal cost
11
( NewYork ) ( NewYork, Boston ) Boston ) ( NewYork, Miami ) Miami ) ( NewYork, Dallas ) Dallas ) ( NewYork, Frisco ) Frisco ) ( NewYork, Boston, Boston, Miami ) Miami ) ( NewYork, Frisco, Frisco, Miami ) Miami ) 2501200 1500 2900 0 250120015002900 1450330017006200 Keep track of accumulated costs in each state if you want to be sure to get the best path.
12
Example: Route Finding Initial state – City journey starts in Operators – Driving from city to city Goal test – Is current location the destination city? Liverpool London Nottingham Leeds Birmingham Manchester
13
State space representation (salesman) State: – the list of cities that are already visited Ex.: ( NewYork, Boston ) Initial state: Ex.: ( NewYork ) Rules: – add 1 city to the list that is not yet a member – add the first city if you already have 5 members Goal criterion: – first and last city are equal
14
Example: The 8-puzzle states? locations of tiles actions? move blank left, right, up, down goal? = goal state (given) path cost? 1 per move
15
Example: robotic assembly states?: real-valued coordinates of robot joint angles parts of the object to be assembled actions?: continuous motions of robot joints goal test?: complete assembly path cost?: time to execute
16
123 84 765 13 746 582 143 76 582 143 786 52 143 76 582 13 746 582 13 746 582 43 176 582 143 576 82
17
Example: Chess Problem: develop a program that plays chess 1 2 3 4 5 6 7 8 A B C D E F G H 1. A way to represent board situations Ex.: List: (( king_black, 8, C), ( knight_black, 7, B), ( knight_black, 7, B), ( pawn_black, 7, G), ( pawn_black, 7, G), ( pawn_black, 5, F), ( pawn_black, 5, F), ( pawn_white, 2, H), ( pawn_white, 2, H), ( king_white, 1, E)) ( king_white, 1, E))
18
Chess Move 1 Move 2 Move 3 search tree ~15 ~ (15) 2 ~ (15) 3 Need very efficient search techniques to find good paths in such combinatorial trees.
19
independence of states: Ex.: Blocks world problem. Initially: C is on A and B is on the table. Rules: to move any free block to another or to the table Goal: A is on B and B is on C. A C B Goal: A on B and B on C A C B Goal: A on B A C B Goal: B on C AND-OR-tree? AND
20
Search in State Spaces Effects of moving a block (illustration and list-structure iconic model notation)
21
Avoiding Repeated States In increasing order of effectiveness in reducing size of state space and with increasing computational costs: 1. Do not return to the state you just came from. 2. Do not create paths with cycles in them. 3. Do not generate any state that was ever created before. Net effect depends on frequency of “loops” in state space.
22
Forward versus backward reasoning: Forward reasoning (or Data-driven ): from initial states to goal states.
23
Forward versus backward reasoning: Backward reasoning (or backward chaining / goal-driven ): from goal states to initial states.
24
Data-Driven search It is called forward chaining The problem solver begins with the given facts and a set of legal moves or rules for changing state to arrive to the goal.
25
Goal-Driven Search Take the goal that we want to solve and see what rules or legal moves could be used to generate this goal. So we move backward.
26
Search Implementation In both types of moving search, we must find the path from start state to a goal. We use goal-driven search if – The goal is given in the problem – There exist a large number of rules – Problem data are not given
27
Search Implementation The data-driven search is used if – All or most data are given – There are a large number of potential goals – It is difficult to form a goal
28
Criteria: Sometimes: no way to start from the goal states – because there are too many (Ex.: chess) – because you can ’ t (easily) formulate the rules in 2 directions. 138 27 546 123 567 48 In this case: even the same rules !! Sometimes equivalent:
29
Classical Search Strategies Breadth-first search Depth-first search Bidirectional search Depth-bounded depth first search – like depth first but set limit on depth of search in tree Iterative Deepening search – use depth-bounded search but iteratively increase limit
30
Breadth-first search: Move downward s, level by level, until goal is reached.SA D B D A E C EE BBF D F B FC E A C G G GG FC It explores the space in a level-by-level fashion.
31
Breadth-first search BFS is complete: if a solution exists, one will be found Expand shallowest unexpanded node Implementation: – fringe is a FIFO queue, i.e., new successors go at end
32
Breadth-first search Expand shallowest unexpanded node Implementation: – fringe is a FIFO queue, i.e., new successors go at end
33
Breadth-first search Expand shallowest unexpanded node Implementation: – fringe is a FIFO queue, i.e., new successors go at end
34
Breadth-first search Expand shallowest unexpanded node Implementation: – fringe is a FIFO queue, i.e., new successors go at end
35
Depth-First Order When a state is examined, all of its children and their descendants are examined before any of its siblings. Not complete (might cycle through nongoal states) Depth- First order goes deeper whenever this is possible.
36
Depth-first search = Chronological backtracking Select a child – convention: left-to-right Repeatedly go to next child, as long as possible. Return to left-over alternatives (higher-up) only when needed. B C E D F G S A
37
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
38
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
39
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
40
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
41
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
42
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
43
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
44
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
45
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
46
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
47
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
48
Depth-first search Expand deepest unexpanded node Implementation: – fringe = LIFO queue, i.e., put successors at front
49
A CDEFB GHIJKLMNOP QRSTUVWXYZ The example node set Initial state Goal state A L Press space to see a BFS of the example node set
50
A CDEFB GHIJKL QRSTU A BCD We begin with our initial state: the node labeled A. Press space to continue This node is then expanded to reveal further (unexpanded) nodes. Press space Node A is removed from the queue. Each revealed node is added to the END of the queue. Press space to continue the search. The search then moves to the first node in the queue. Press space to continue. Node B is expanded then removed from the queue. The revealed nodes are added to the END of the queue. Press space. Size of Queue: 0 Nodes expanded: 0 Current Action:Current level: n/a Queue: EmptyQueue: ASize of Queue: 1 Nodes expanded: 1 Queue: B, C, D, E, F Press space to begin the search Size of Queue: 5 Current level: 0Current Action: Expanding Queue: C, D, E, F, G, HSize of Queue: 6 Nodes expanded: 2 Current level: 1 We then backtrack to expand node C, and the process continues. Press space Current Action: Backtracking Current level: 0Current level: 1 Queue: D, E, F, G, H, I, JSize of Queue: 7 Nodes expanded: 3 Current Action: ExpandingCurrent Action: Backtracking Current level: 0Current level: 1 Queue: E, F, G, H, I, J, K, LSize of Queue: 8 Nodes expanded: 4 Current Action: ExpandingCurrent Action: Backtracking Current level: 0Current level: 1Current Action: Expanding NM Queue: F, G, H, I, J, K, L, M, NSize of Queue: 9 Nodes expanded: 5 E Current Action: Backtracking Current level: 0Current Action: ExpandingCurrent level: 1 OP Queue: G, H, I, J, K, L, M, N, O, PSize of Queue: 10 Nodes expanded: 6 F Current Action: Backtracking Current level: 0Current level: 1Current level: 2Current Action: Expanding Queue: H, I, J, K, L, M, N, O, P, Q Nodes expanded: 7 G Current Action: Backtracking Current level: 1Current Action: Expanding Queue: I, J, K, L, M, N, O, P, Q, R Nodes expanded: 8 H Current Action: Backtracking Current level: 2Current level: 1Current level: 0Current level: 1Current level: 2Current Action: Expanding Queue: J, K, L, M, N, O, P, Q, R, S Nodes expanded: 9 I Current Action: Backtracking Current level: 1Current level: 2Current Action: Expanding Queue: K, L, M, N, O, P, Q, R, S, T Nodes expanded: 10 J Current Action: Backtracking Current level: 1Current level: 0Current level: 1Current level: 2Current Action: Expanding Queue: L, M, N, O, P, Q, R, S, T, U Nodes expanded: 11 K Current Action: Backtracking Current level: 1 LLLL Node L is located and the search returns a solution. Press space to end. FINISHED SEARCH Queue: EmptySize of Queue: 0 Current level: 2 BREADTH-FIRST SEARCH PATTERN L Press space to continue the search
51
Aside: Internet Search Typically human search will be “incomplete”, E.g. finding information on the internet before google, etc – look at a few web pages, – if no success then give up
52
Example Determine whether data-driven or goal-driven and depth-first or breadth-first would be preferable for solving each of the following – Diagnosing mechanical problems in an automobile – You have met a person who claims to be your distant cousin, with a common ancestor named John. You like to verify her claim – A theorem prover for plane geometry
53
A program for examining sonar readings and interpreting them An expert system that will help a human classify plants by species, genus,etc. Example
54
Any path, versus shortest path, versus best path: Ex.: Traveling salesperson problem: Find a sequence of cities ABCDEA such that the total distance is MINIMAL. Boston Miami NewYork SanFrancisco Dallas3000250 1450 1200 1700 3300 2900 1500 1600 1700
55
55 Bi-directional search IF you are able to EXPLICITLY describe the GOAL state, AND you have BOTH rules for FORWARD reasoning AND BACKWARD reasoning Compute the tree both from the start-node and from a goal node, until these meet. GoalStart
56
Example Search Problem A genetics professor – Wants to name her new baby boy – Using only the letters D,N & A Search through possible strings (states) – D,DN,DNNA,NA,AND,DNAN, etc. – 3 operators: add D, N or A onto end of string – Initial state is an empty string Goal test – Look up state in a book of boys’ names, e.g. DAN
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.