 Download Download Presentation Tree Searching Strategies

# Tree Searching Strategies

Télécharger la présentation ## Tree Searching Strategies

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Tree Searching Strategies

2. The procedure of solving many problems may be represented by trees. • Therefore the solving of these problems becomes a tree searching problem.

3. Satisfiability problem Tree Representation of Eight Assignments. If there are n variables x1, x2, …,xn, then there are 2n possible assignments.

4. Satisfiability problem • An instance: -x1……..……(1) x1…………..(2) x2 v x5….….(3) x3…….…….(4) -x2…….…….(5) A Partial Tree to Determine the Satisfiability Problem. • We may not need to examine all possible assignments.

5. Hamiltonian circuit problem • E.g. the Hamiltonian circuit problem A Graph Containing a Hamiltonian Circuit

6. Fig. 6-8 The Tree Representation of Whether There Exists a Hamiltonian Circuit of the Graph in Fig. 6-6

7. A tree showing the non-existence of any Hamiltonian circuit.

8. How to expand the tree ? • Breadth-First Search • Depth-First Search • Hill Climbing • Best-First Search • Branch-and-Bound Strategy (for optimization problems)

9. Breadth-First Search Scheme • Step1: Form a one-element queue consisting of the root node. • Step2: Test to see if the first element in the queue is a goal node. If it is, stop. Otherwise, go to step 3. • Step3: Remove the first element from the queue. Add the first element’s descendants, if any, to the end of the queue. • Step4: If the queue is empty, then signal failure. Otherwise, go to Step 2.

10. 1 2 3 4 6 5 7 Goal Node

11. Depth-First Search Scheme • Step1: Form a one-element stack consisting of the root node. • Step2: Test to see if the top element in the queue is a goal node. If it is, stop. Otherwise, go to step 3. • Step3: Remove the top element from the stack. Add the first element’s descendants, if any, to the top of the stack. • Step4: If the stack is empty, then signal failure. Otherwise, go to Step 2.

12. E.G.: the depth-first search • E.g. sum of subset problem Given a set S={7, 5, 1, 2, 10}, answer if  S’ S  sum of S’ = 9. The Sum of Subset Problem Solved by Depth-First Search.

13. Hill climbing • A variant of depth-first search The method selects the locally optimal node to expand. • E.g. for the 8-puzzle problem, evaluation function f(n) = w(n), where w(n) is the number of misplaced tiles in node n.

14. Hill Climbing Search Scheme • Step1: Form a one-element stack consisting of the root node. • Step2: Test to see if the top element in the queue is a goal node. If it is, stop. Otherwise, go to step 3. • Step3: Remove the top element from the stack. Add the first element’s descendants, if any, to the top of the stack according to order computed by the evaluation function. • Step4: If the stack is empty, then signal failure. Otherwise, go to Step 2.

15. An 8-Puzzle Problem Solved by the Hill Climbing Method

16. Best-first search strategy • Combing depth-first search and breadth-first search • Selecting the node with the best estimated cost among all nodes. • This method has a global view.

17. Best-First Search Scheme • Step1:Form a one-element list consisting of the root node. • Step2:Remove the first element from the list. Expand the first element. If one of the descendants of the first element is a goal node, then stop; otherwise, add the descendants into the list. • Step3:Sort the entire list by the values of some estimation function. • Step4:If the list is empty, then signal failure. Otherwise, go to Step 2.

18. The branch-and-bound strategy • This strategy can be used to solve optimization problems without an exhaustive search. (DFS, BFS, hill climbing and best-first search can not be used to solve optimization problems.) • E.g. A Multi-Stage Graph Searching Problem.

19. E.G.:A Multi-Stage Graph Searching Problem

20. Solved by branch-and-bound

21. Solved by branch-and-bound

22. Branch-and-bound strategy • 2 mechanisms: • A mechanism to generate branches • A mechanism to generate a bound so that many braches can be terminated. • Although it is usually very efficient, a very large tree may be generated in the worst case. • It is efficient in the sense of average case.

23. Exercise • Use BFS, DFS, Hill-Climbing and Best-First Search schemes to solve the following 8-puzzle problem with the evaluation function being the number of misplaced tiles. Initial State: Goal State: