Prolog编程中的生产规则与简单专家系统构建
1. Prolog中的生产规则
在Prolog编程中,生产规则是一种重要的编程方式,它可以用于解决各种实际问题,例如机器人在仓库中堆叠纸箱的问题。下面我们将详细介绍相关的规则和代码。
1.1 堆叠纸箱的生产规则
以下是用于机器人堆叠纸箱的一组生产规则,这些规则被翻译成Prolog规则,可与FCHAIN.PL中的前向链推理引擎一起使用。
% CARTONS.PL
:- dynamic f/1, g/1, rule/1.
:- multifile f/1, g/1, rule/1.
rule(1) :-
g(stack([X,Y|Rest])),
f(supports(X,Y)),
then,
rg(stack([X,Y|Rest])),
ag(stack([Y|Rest])).
rule(2) :-
g(stack([X,Y|Rest])),
\+ f(supports(X,_)),
\+ f(supports(Y,_)),
f(supports(Z,Y)),
then,
rf(supports(Z,Y)),
af(supports(X,Y)),
rg(stack([X,Y|Rest])),
ag(stack([Y|Rest])).
rule(3) :-
g(stack([X,Y|Rest])),
f(supports(X,Z)),
Y \== Z,
\+ g(remove(Z)),
then,
Prolog编程与简单专家系统构建
超级会员免费看
订阅专栏 解锁全文
4041

被折叠的 条评论
为什么被折叠?



