Your score will be added to the previous score; maximum credit for the combined sum will be 115.
> submit c630aa lab4_makeup (lab4_dir)
Where lab4_dir is the directory containing the files you want to submit.
Action: PutOnWheel(wheel,frame)
Precond: OffFrame(wheel,frame) ^ Wheel(wheel) ^ Frame(frame) ^ SprocketClear(wheel)
Effects: ~OffFrame(wheel,frame) ^ OnFrame(wheel,frame)
Action: PutOnChain(wheel,frame,chain)
Precond: OnFrame(wheel,frame) ^ RearWheel(wheel) ^ Frame(frame) ^ Chain(chain) ^ SprocketClear(wheel) ^ OffFrame(chain,frame)
Effects: ~OffFrame(chain,frame) ^ OnFrame(chain,frame) ^ ~SprocketClear(wheel)
Action: PutOnHandlebars(hbar,frame)
Precond: OffFrame(hbar,frame) ^ Handlebar(hbar) ^ Frame(frame)
Effects: ~OffFrame(hbar,frame) ^ OnFrame(hbar,frame)
Action: PutOnBrakes(wheel1,wheel2,hbar,frame,brakes)
Precond: OnFrame(wheel1,frame) ^ OnFrame(wheel2,frame) ^ OnFrame(hbar,frame) ^ OffFrame(brakes,frame) ^ FrontWheel(wheel1) ^ BackWheel(wheel2) ^ Handlebar(hbar) ^ Frame(frame) ^ Brakes(brakes)
Effects: ~OffFrame(brakes,frame) ^ OnFrame(brakes,frame)
Note: I am leaving off a few things on purpose, like the fact that there shouldn't already be a rear wheel on the frame when you put the rear wheel on. I did that on purpose: encoding that would just make more busy work for you. Treat the STRIPS operators as given (but note any potential typos to me!).
The start state is:
Wheel(W1) ^ FrontWheel(W1) ^ Wheel(W2) ^ BackWheel(W2) ^ Handlebar(H1)
^ Brakes(B1) ^ Frame(F1) ^ SprocketClear(W1) ^ Chain(C1) ^ SprocketClear(W2) ^ OffFrame(W1,F1) ^
OffFrame(W2,F1) ^ OffFrame(H1,F1) ^ OffFrame(B1,F1) ^ OffFrame(C1,F1)
a) What is the goal state?
b) Draw a partial-order plan, showing all causal links (including predicates). You may abbreviate actions PutOnWheel as POW, etc, but keep predicates unabbreviated for clarity.
c) Give a linearization for the plan in (b).