Upload
ashlynn-golden
View
214
Download
1
Tags:
Embed Size (px)
Citation preview
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
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.
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.