Means-Ends Analysis and the General Problem Solver
Reason like a human planner — find the biggest difference, pick the operator that kills it, recurse on preconditions. Newell & Simon's GPS
The Simplest Explanation
Compare where you are with where you want to be. List the differences. Attack the largest one first using whatever operator reduces that kind of difference — then recursively handle that operator's preconditions, then continue on what remains.
That's Means-Ends Analysis, the strategy of Newell & Simon's General Problem Solver (GPS) — planning the way humans intuitively do.
Difference table maps difference-magnitudes to operators. Pick the biggest difference → its operator → achieve its preconditions (recursion) → apply → repeat on remaining differences.
The Strategy
- Compare current state with goal ; list differences
- Order differences by magnitude
- Reduce the largest difference first using an operator chosen from the operator-difference table
- Recursively achieve the chosen operator's preconditions
- Apply it; recompute differences; repeat
The recursion produces an AND structure: achieve preconditions AND then solve rest-from-new-state.
The Operator-Difference Table (travel example)
| Distance to close | Operators that reduce it |
|---|---|
| > 5000 km | Airplane |
| 100–5000 km | Airplane, Train, Car |
| 1–100 km | Train, Car, Taxi, Bus |
| < 2 km | Walk, Bus, Taxi |
Worked Trip: IIT Madras → Parashar Lake (Himachal)
- Biggest difference ≈ 2500 km → flight (Chennai → Delhi)
- Flight's preconditions (be at Chennai airport) → smaller difference ~15 km → taxi
- After landing in Delhi, remaining ~2000 km? No — next leg Delhi→Mandi by bus
- Last stretch Mandi→Parashar Lake (~50 km) → taxi/walk
Notice the shape: the middle of the plan (the flight) gets chosen FIRST; prefix and suffix are filled in recursively around it. Forward/backward state-space planners commit to a direction — means-ends commits to the most significant difference instead.
Why It Yields AND-OR Trees
"Achieve G from s" decomposes into:
Achieve G from s
├─ AND ─ Achieve preconditions of O (recursive)
└─ AND ─ Apply O, then achieve G from s'
Both branches mandatory → AND node; alternative operators for the same difference are OR options. This is exactly the structure AO* searches — means-ends analysis is a generator of AND-OR problems, AO* is the solver.
Properties
| Property | Value |
|---|---|
| Origin | Newell & Simon, General Problem Solver (1957–59) |
| Search direction | neither forward nor backward — difference-driven |
| Knowledge requirement | operator-difference table (domain-specific) |
| Structure produced | recursive AND-OR decomposition |