🔀 Problem Decomposition & AO*
204 words
1 min read
Visual companion
Python
Type and operator map
Python Week 1: the first filter for runtime behavior
View
Revision summary
What this note is really saying
Short form
# 🔀 Problem Decomposition & AO* ## 1. 🎯 Learning Objectives - Represent problems as AND-OR graphs - Trace AO* on a small AND-OR tree - Explain the difference between AND nodes and OR nodes - Apply problem decomposition strategies ## 2.

🔀 Problem Decomposition & AO*
1. 🎯 Learning Objectives
- Represent problems as AND-OR graphs
- Trace AO* on a small AND-OR tree
- Explain the difference between AND nodes and OR nodes
- Apply problem decomposition strategies
2. 📖 Core Content
3.1 AND-OR Graphs
In AND-OR graphs:
- OR nodes: Any one child solves the problem (alternatives)
- AND nodes: All children must be solved (subproblems)
3.2 AO* Algorithm
textAOStar(root): while root not SOLVED: // Find best partial solution graph G = find_best_partial(root) // Expand tip nodes for tip in G.tips(): expand(tip) compute new heuristic values // Propagate cost updates upward propagate_costs(root)
3.3 Node Value Calculation
- OR node: f(n)=minc∈childrenf(c)
- AND node: f(n)=∑c∈childrenf(c) (or max, depending on definition)
4. 📝 Practice Questions
Q1: In an AND-OR tree, if an AND node has children with values [3, 5, 2], what is the node's value?Answer: For an AND node using sum, value = 3+5+2 = 10. For an AND node using max (parallel tasks), value = max(3,5,2) = 5. The interpretation depends on problem semantics. Join Discord PreviousBlocks WorldNextGraphplan & PSP