blocks3.pro

来自「prolog开发工具」· PRO 代码 · 共 35 行

PRO
35
字号
/*                      SUSSMAN'S ANOMALY                          */
/*                   WARPLAN PROBLEM-MODULE                        */

add(move(U,V,W), on(U,W)).
add(move(U,V,W), clear(V)).

del(move(U,V,W), on(U,V)).
del(move(U,V,W), clear(W)).

precond(move(U,V,table),[on(U,V),not_equal(V,table),clear(U)]).
precond(move(U,V,W),    [clear(W),on(U,V),not_equal(U,W),clear(U)]).

imposs([on(X,Y),clear(Y)]).
imposs([on(X,Y),on(X,Z),not_equal(Y,Z)]).
imposs([on(X,X)]).
imposs([clear(table)]).

run1 :-
    warplan([ on(a,table),
              on(b,table),
              on(c,a),
              clear(b),
              clear(c) ],
            [ on(b,c)]).

run2 :-
    warplan([ on(a,table),
              on(b,table),
              on(c,a),
              clear(b),
              clear(c) ],
            [ on(a,b),
              on(b,c)]).
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?