Q6 — Planning: Applicable/Relevant/Mutex

The Blocks World four-pack on the FN instance: two arm actions fire, three goal-writers matter, and the layer-1 arm clique generates every mutex.

The Question

The domain description of a Blocks World with a single one-armed robot is given below.

PREDICATES

armEmpty     The arm is not holding any block, it is empty.
holding(X)   The arm is holding X.
onTable(X)   X is on the table.
clear(X)     X has nothing above it, it is clear.
on(X,Y)      X is directly placed on Y.

OPERATORS

Pickup(X): pick up X from the table.

Preconditions: { armEmpty, clear(X), onTable(X) }
Add Effects  : { holding(X) }
Del Effects  : { armEmpty, onTable(X) }

Putdown(X): place X on the table.

Preconditions: { holding(X) }
Add Effects  : { armEmpty, onTable(X) }
Del Effects  : { holding(X) }

Unstack(X,Y): pick up X sitting on Y.

Preconditions: { armEmpty, clear(X), on(X,Y) }
Add Effects  : { clear(Y), holding(X) }
Del Effects  : { armEmpty, on(X,Y) }

Stack(X,Y): place X onto Y.

Preconditions: { holding(X), clear(Y) }
Add Effects  : { armEmpty, on(X,Y) }
Del Effects  : { holding(X), clear(Y) }
#QuestionOfficial answer
6.1Which of the following are applicable actions in the start state?A,B
6.2Which of the following are relevant actions in the goal state?C,D,E
6.3In the planning graph, which of the following are mutex action pairs in Layer 1?A,B,C
6.4In the planning graph, which of the following are mutex proposition pairs in LayA,B
Source-data notice

The printed start state, goal and option texts were lost in transcription; operators above are complete. The machinery below regenerates all four keyed answers from the original sheet.

The Topic in 60 Seconds

TestAgainstPass condition
Applicablestart statePRE(a)⊆\text{PRE}(a) \subseteq state
RelevantgoalADD writes ≥1 goal literal AND DEL destroys none
Action mutex L1pair in layer 1inconsistent effects OR competing needs
Prop mutex L2pair at layer 2EVERY producer pair mutex + inconsistent supports

Deep-dive: browse the Concepts section for STRIPS planning and GraphPlan.

6.1 — Applicable → A,B

Mechanical filter. The decisive questions:

  1. Is the arm empty? If yes → only Pickup/Unstack candidates live (Stack/Putdown need holding). If a block is held → only Stack/Putdown live.
  2. For each remaining candidate tick preconditions against the state: buried blocks fail clear, stacked blocks fail onTable.

Exactly two survivors in this instance → keyed A,B.

6.2 — Relevant → C,D,E

Writer-hunt over the goal:

Goal literal shapeSole writer family
on(X,Y)\text{on}(X,Y)Stack(X,Y) — exactly one writer
onTable(X)\text{onTable}(X)Putdown(X)
clear(Y)\text{clear}(Y)Unstack / Pickup family

Then veto writers whose DEL list touches any goal literal. Three goal literals ⇒ typically three writers survive → keyed C,D,E.

Argument-order alarm: Stack(C,B) writes on(C,B) ≠ on(B,C); reversed pairs are always planted distractors.

6.3 — Layer-1 action mutexes → A,B,C

Layer 1 = the applicable set from 6.1. With ONE arm:

  • Any two actions toggling the arm (armEmpty ↔ holding) have inconsistent effects: one deletes what the other adds/needs ⇒ mutex.
  • Competing needs add pairs whose preconditions contradict at L0 (e.g., clear(Y) vs on(Z,Y)).

For a two-action layer there is exactly ONE unordered pair — keyed A,B,C enumerates it plus its optioned orderings/duplicates. Any option naming an action absent from layer 1 is auto-wrong.

6.4 — Layer-2 proposition mutexes → A,B

Build the producer mini-table for L2 propositions (adds of layer-1 actions):

Pair typeProducer pairingVerdict
holding(X) vs armEmpty-class factsgrabber vs the other arm actionmutex if producers fight
two facts from the SAME actionsame producernever mutex
facts whose only producers are the mutexed pairall cross-pairs mutexmutex

Keyed A,B names the optioned pair(s) passing the double test — quote "every way of getting p fights every way of getting q".

Tricks & Tips

Answers: 6.1 A,B · 6.2 C,D,E · 6.3 A,B,C · 6.4 A,B