您的位置:首页 > 其它

STRIPS 到底怎么回事

2015-03-04 12:33 309 查看
1. 算法过程:

//S 是Source,G是目标空间状态

STRIPS(S,G){

IF (S = G) Then 直接返回S;

ELSE

DIFF == difference between S and G

Loop1:

IF
empty(DIFF) Then 直接返回失败;

ELSE

D == POP(DIFF);

OPER == operators(D);

/* Put all operators reducing D in OPER */

Loop2:

IF
empty(OPER) Then jump Loop1;

ELSE

OP == POP(OPER);

PC == PRECOND(OP);

S1 == STRIPS(S,PC);

IF S1 ==
FAIL Then jump Loop2;

ELSE

S2 == PERFORM(OP,S1);

S3 == STRIPS(S2,G);

IF S3 == Fail
Then jump Loop2;

Return S3;

}

未完,待续。例子很精彩。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: