Skip to content

Instantly share code, notes, and snippets.

@bmaland
Created October 23, 2008 15:08
Show Gist options
  • Save bmaland/19053 to your computer and use it in GitHub Desktop.
Save bmaland/19053 to your computer and use it in GitHub Desktop.
Opg 1.
Action(move(X, Y),
Precond: blank(X) ^ tile(Y) ^ adjacent(X, Y)
Effect: blank(Y) ^ tile(X)
Opg 2.
1)
Disks: d1, d2, d3
Pegs: peg1, peg2, peg3
Move X (currently on top of Y) to the top of Z:
Action(move(X, Y, Z),
Precond: clear(X) ^ below(X, Y) ^ clear(Z) ^ smaller(X, Z)
Effect: !below(X, Y) ^ !clear(Z) ^ !on(X, Y) ^ clear(X) ^ clear(Y) ^ below(X, Z)
Goal state: below(peg3, d3) ^ below(d3, d2) ^ below(d2, d1) ^ clear(d1) ^ clear(peg1) ^ clear(peg2)
2)
Initial state: below(peg1, d3) ^ below(d3, d2) ^ below(d2, d1) ^ clear(d1) ^ clear(peg2) ^ clear(peg3) ^
smaller(d1, d2) ^ smaller(d2, d3) ^ smaller(d1, d3) ^
smaller(d1, peg1) ^ smaller(d2, peg1) ^ smaller(d3, peg1) ^
smaller(d1, peg2) ^ smaller(d2, peg2) ^ smaller(d3, peg2) ^
smaller(d1, peg3) ^ smaller(d2, peg3) ^ smaller(d3, peg3)
Successor state:
move(d1, d2, peg2)
gives
below(peg1, d3) ^ below(d3, d2) ^ below(peg2, d1) ^ clear(d2) ^ clear(d1) ^ clear(peg3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment