23
1 Tree Searching Strategies Updated: 2010/12/27

1 Tree Searching Strategies Updated: 2010/12/27. 2 The procedure of solving many problems may be represented by trees. Therefore the solving of these

Embed Size (px)

Citation preview

1

Tree Searching Strategies

Updated: 2010/12/27

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

x1 x2 x3 F F F F F T F T F F T T T F F T F T T T F T T T

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

8-Puzzle Problem

Initial State:

2 3

1 8 4

7 6 5

Goal State:1 2 3

8 4

7 6 5

9

Tree Representation of the solution of 8-puzzle problem

10

How to expand the tree ? Breadth-First Search Depth-First Search Hill Climbing Best-First Search

11

Breadth-First Search Scheme In breadth-first search, all the

nodes on one level of the tree are examined before the nodes on the next level are examined.

It can be accomplished with the help of the queue.

12

Breadth-First Search Scheme Step1Step1: Form a one-element queue

consisting of the root node. Step2Step2: Test to see if the first element in

the queue is a goal node. If it is, stop. Step3Step3: Remove the first element from

the queue. Add all descendants of the first element, if any, to the end of the queue one by one.

Step4Step4: If the queue is empty, then signal failure. Otherwise, go to Step 2.

13

2 3

1 8 4

7 6 5

2 3

1 8 4

7 6 5

1 2 3

8 4

7 6 5

2 8 3

1 4

7 6 5

2 3

1 8 4

7 6 5

1 2 3

7 8 4

6 5

1 2 3

8 4

7 6 5

1

2 3

4

5

6

7Goal Node

14

Depth-First Search Scheme The depth-first search always

selects the deepest node for expansion.

It can be accomplished with the help of the stack.

15

Depth-First Search Scheme Step1Step1: Form a one-element stack

consisting of the root node. Step2Step2: Test to see if the top element in

the stack is a goal node. If it is, stop. Step3Step3: Remove the top element from

the stack. Add all descendants of the first element, if any, to the top of the stack one by one.

Step4Step4: If the stack is empty, then signal failure. Otherwise, go to Step 2.

16

E.G.: the depth-first search

E.g. sum of subset problemGiven 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.

17

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.

18

Hill Climbing Search Scheme Step1Step1: Form a one-element stack

consisting of the root node. Step2Step2: Test to see if the top element in

the stack is a goal node. If it is, stop. Step3Step3: 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.

Step4Step4: If the stack is empty, then signal failure. Otherwise, go to Step 2.

19

An 8-Puzzle Problem Solved by the Hill Climbing Method

20

Best-first search strategy Combing depth-first search and

breadth-firstsearch

Selecting the node with the best estimated cost among all nodes.

This method has a global view.

21

Best-First Search Scheme Step1Step1:Consturct a heap by using the

evaluation function. First, form a 1-element heap consisting of the root node.

Step2Step2:Test to see if the root element in the heap is a goal node. If it is, stop.

Step3Step3:Remove the root element from the heap and expand the element, i.e., add all descendants of the element into the heap.

Step4Step4:If the heap is empty, then signal failure. Otherwise, go to Step 2.

22An 8-Puzzle Problem Solved by the Best-First Search

Scheme

Goal Node

Q&A23