. 2.10. , . : , ( ), ,
. . -, , ; , , : state { _, _,, has)
-, , , . .
1. (grasp).
2. (climb).
3. (push).
4. (walk).
. , " " , ( ) -
2, Prolog
. Prolog , move: move(Statel, Move, Stated
:
Statel ------------ ► State2
Move
Statel , Move State2 .
grasp , , :
mcvet state ( middle, onbox, middle, hasnot), I
grasp, \
sta-.c-: middle, cnbcx, middle, has]). %
, , , .
, Posl Pos2. , , . Prolog:
move( state { Posl, onfloor, Box, Has),
walk( Posl, Pos2), % Posl Pos2
state! Pos2, onfloor. Box, Has)).
, , :
" Posl Pos2";
;
Box, ;
" " .
, , , . . Prolog Prolog.
|
|
, push climb, .
: State ? : canget < State)
State . canget .
1, , , canget,
, ; -
. Prolog:
canget(state(_, _, _, has}).
2. .
Statel,
Move Statel
State2, , State2
64 !. Prolog
( ). . 2.11. Prolog, , . canget(Statel): -
move[ Statel, Move, Statel),
canget (State2).
, 2.3.
canget predecessor, 1 ( . 1.7 2.11). Prolog .
Move _
Statel __ State2 ^^._ __ &tote_
)