我需要有关 Prolog 练习的帮助:
% items
items (cell).
items (labial).
items (control).
items (mirror).
% Weight of each item
weight (cell 2).
weight (labial, 3).
weight (control, 5).
weight (mirror, 10).
capacity (X, Y, Z, V) :-
weight (X C1), weight (Y, C2), weight (Z, C3), sum (C1, C2, C3, R), V> = R.
sum (X, Y, Z, K) :- K is X + Y + Z.
这个程序确实是给我一个给定重量的 3 个或更少的组合,例如容量 (X, Y, Z, 15)。
结果是,X:细胞,Y:口红,Z:镜子,X:对照,Y:细胞,Z:镜子。依次使用所有组合,其中 3 个权重的总和没有更高的输入。
目前我受到手动收入变量数量的限制,容量(X,Y,Z,N........)我想要关于知识库中项目数量的组合,不手动输入变量。我怎么能这样做?
理想的容量(重量)和响应也是如此。
重量不超过的物品组合
手机、口红、镜子。控制唇电话。镜像,控制,labilal .......
对不起,我不会说英语,我正在使用谷歌翻译。