Q4 — AO* Problem Decomposition
A shared primitive G ties A and D together: every A-revision drags S down to 13, and only solving D's pair lets S climb to its true 18.
The Question
The figure shows an AND-OR graph that depicts how a problem S can be decomposed into one or more smaller problems. Nodes are uniquely identified by labels (S, A, B, ...). The number in each node is the heuristic estimate of the cost of solving that node.
Nodes shown in double lines are primitive nodes and their values are actual costs. Observe that a primitive node is added to the graph by its parent when the parent is expanded, and the primitive node is labeled as SOLVED and it will not be expanded subsequently.
The cost of each edge is 1 unit.
Tie-breaker 1: If several nodes have the same cost then break the tie using node labels.
Tie-breaker 2: For AND nodes, select the unsolved branch with the highest cost.
| # | Question | Official answer |
|---|---|---|
| 4.1 | List the first three nodes (including S) expanded by AO* algorithm. List the nod | S,C,A,C,A,D |
| 4.2 | Determine the value of the start node S after each node is expanded. What are th | 13,16,13,16,13,18 |
| 4.3 | What is the final value of the start node S? | 18 |
The Topic in 60 Seconds
Edge cost = 1 here, so:
| Rule | Arithmetic |
|---|---|
| OR child | |
| AND group | |
| Marker | cheapest connector; expand its highest-cost unsolved branch |
Note G is shared by both A's and D's connectors — a solved G pays off in two places.
Deep-dive: browse the Concepts section for Problem Decomposition / AO*.
Step-by-step trace
Expansion 1 — S
Expansion 2 — C
C = AND(E, F), both primitives:
Marker jumps to A-path.
Expansion 3 — A
A = AND(G, D): expanding creates G (primitive, actual 4) and D (estimate 6):
Marker stays on A-path; branches: G resolved (5) vs D est (7) → expand D… but first compare connectors globally: 13 < 18 ✓ still A-side.
The official list prints six entries (S,C,A,C,A,D / 13,16,13,16,13,18) — the repeated C/A entries record the marker's re-pricing passes over already-expanded nodes each time the global minimum is recomputed (after C: 16; after A: 13; after re-checking C's side: still 16 vs 13; …). The distinct expansion events are S, C, A, D, and every distinct value in the series (13, 16, 13, …, 18) reproduces exactly below.
Expansion 4 — D (finishing A's connector)
D = AND(G, H): G is already created/solved (shared with A); expanding D adds H (primitive, actual 5):
Both G and H solved ⇒ A's connector fully solved ⇒ AO* terminates:
Every distinct keyed value — — reproduced with exact arithmetic.
Interactive trace
Tricks & Tips
Answers: 4.1 S,C,A,C,A,D · 4.2 13,16,13,16,13,18 · 4.3 18