0% found this document useful (0 votes)
60 views16 pages

Problem Reduction Search

Problem Reduction Search: - Involves recursively decomposing problems like matrix multiplication, Tower of Hanoi, and theorem proving into sub-problems. AND/OR Graphs and Game Trees: - AND/OR graphs represent problem decompositions with AND and OR nodes. Game trees use Max and Min nodes to model opponent choices. AO* Algorithm: - Searches AND/OR graphs to find minimum cost solution trees. It expands nodes, revises costs, and labels nodes as solved during search.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views16 pages

Problem Reduction Search

Problem Reduction Search: - Involves recursively decomposing problems like matrix multiplication, Tower of Hanoi, and theorem proving into sub-problems. AND/OR Graphs and Game Trees: - AND/OR graphs represent problem decompositions with AND and OR nodes. Game trees use Max and Min nodes to model opponent choices. AO* Algorithm: - Searches AND/OR graphs to find minimum cost solution trees. It expands nodes, revises costs, and labels nodes as solved during search.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 16

Problem Reduction Search:

AND/OR Graphs & Game Trees


Problem Reduction Search
• Typically where we are planning how best
to solve a problem that can be recursively
decomposed into sub-problems in multiple
ways
– Matrix multiplication problem
– Tower of Hanoi and Blocks World problems
– Finding shortest proofs in theorem proving

2
3
4
AND/OR Graphs
An OR node represents a choice between
possible decompositions
An AND node represents a given decomposition
Game Trees
Max nodes represent the choice of my opponent
Min nodes represent my choice

5
The AND/OR graph search problem
• Problem definition:
– Given: [G, s, T] where
• G is the (possibly implicitly specified) AND/OR graph
• s is the start node of the AND/OR graph
• T is the (possibly implicitly specified) set of terminal nodes
• h(n) is a heuristic function estimating the cost of solving the sub-
problem represented by node n
– To find:
– A minimum cost solution tree

– During the search, we will use G* to denote the explicit portion of the
AND/OR graph

6
OR

30+120
= 150
AND 12+40
AND
= 52

(0)
(40)
(0) (120)
h =7 h =10 h =14 h =16 h =18

AND

2 1
h =8 h =6 h =16
h =3 h =7
h =4
OR OR
16
8
2 0
h =14 6 0
1
h =2

AND h =7 h =5
9 7
AND
1
0 0
h =3 0

10 3 4
Algorithm AO*
1. Initialize: Set G* = {s}, f(s) = h(s)
If s  T, label s as SOLVED
2. Terminate: If s is SOLVED, then terminate
3. Select: Select a non-terminal leaf node n from the
marked sub-tree below s in G*
4. Expand: Make explicit the successors of n
For each successor, m, not already in G*:
Set f(m) = h(m)
If m is a terminal node, label m as
SOLVED
5. Cost Revision: Call cost-revise(n)
6. Loop: Go To Step 2.

9
Cost Revision in AO*: cost-revise(n)
1. Create Z = {n}
2. If Z = { } return
3. Select a node m from Z such that m has no descendants in Z
4. If m is an AND node with successors r1, r 2 , … r k:
Set f(m) =  [ f(ri) + c(m, ri) ]
Mark the edge to each successor of m
If each successor is labeled SOLVED, then label m as SOLVED
• If m is an OR node with successors r1, r 2 , … r k:
Set f(m) = min { f(ri) + c(m, ri) }
Mark the edge to the best successor of m
If the marked successor is labeled SOLVED, label m as SOLVED
1. If the cost or label of m has changed, then insert those parents of m into
Z for which m is a marked successor
2. Go to Step 2.
10
Example

11
12
Searching OR Graphs
• How does AO* fare when the graph has only OR nodes?
• What are the roles of lower-bound and upper-bound estimates?
– Pruning criteria: LB > UB

Searching Game Trees


• Consider an OR tree with two types of OR nodes, namely Min nodes
and Max nodes
• In Min nodes we select the minimum cost successor
• In Max nodes we select the maximum cost successor

• Terminal nodes are winning or loosing states


– It is often infeasible to search up to terminal nodes
– We use heuristic costs to compare non-terminal nodes

13
Shallow and Deep Pruning

ROOT ROOT

A
10
B
10 F

Max node
14 C D
G Min node

5 E

Shallow Cut-off Deep Cut-off

14
Alpha-Beta Pruning

• Alpha Bound of J:
– The highest current value of all MAX ancestors of J
– Exploration of a min node, J, is terminated as soon as its value
equals or falls below alpha.
– In a min node, we update beta

• Beta Bound of J:
– The lowest current value of all MIN ancestors of J
– Exploration of a max node, J, is terminated as soon as its value
equals or exceeds beta
– In a max node, we update alpha
• In both min and max nodes, we return when   

15
Alpha-Beta Procedure: V(J;,)

1. If J is a terminal, return V(J) = h(J).


2. If J is a max node:
For each successor Jk of J in succession:
Set  = max { , V(Jk; , ) }
If    then return , else continue
Return 
3. If J is a min node:
For each successor Jk of J in succession:
Set  = min { , V(Jk; , ) }
If    then return , else continue
Return 

16

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy