小编Com*_*sNo的帖子

Prolog座位限制

我必须在Prolog中解决以下问题.亚历克斯,弗雷德和简是3个孩子,他们用10米长的木板做了一个跷跷板.它们沿着木板标记了11个座位,每个位置相距一米.座位数为-5,-4,-3,-2,-1,0,1,2,3,4,5,其中0为中心位置.亚历克斯,弗雷德和简的重量分别为4,3和2个单位.他们有兴趣知道当他们三个坐在木板的某个地方时,他们如何让跷跷板平衡,每个孩子都必须坐在不同的位置.

一个座位位置是Alex,Fred和Jane位于-4,2和5位置,因为(-4*4)+(2*3)+(5*2)= - 16 + 6 + 10 = 0. Alex,Fred和Jane的另一个座位是-4,4和2,而另一个是-3,2和3.

我已尝试以下方法来解决此问题但得到错误:错误:输入错误:integer' expected, found[_ G11889,_G11892,_G11895]'

任何人都可以帮助解释我哪里出错/如何去做?

提前谢谢了

:-use_module(library(clpfd)).

find(Seats):-
    Seats=[Alex, Fred, Jane],
    Seats in -5..5,
    all_different(Seats),
    (Alex*4+Fred*3+Jane*2)#=0,     % I am not sure about this line
    labeling([],Seats).
Run Code Online (Sandbox Code Playgroud)

prolog clpfd

6
推荐指数
1
解决办法
465
查看次数

Prolog测试始终是真正的var(sum)错误

我正在尝试编译一个SWI-Prolog程序,但一直在努力test is always true, var (sum) error on line 7.我无法弄清楚这意味着什么.有人可以帮忙吗?这是一个我希望最终解决拉丁方的程序.谢谢.

:- use_module(library(clpfd)).

magic_counter(Count) :-
    findall(a, magic_1(_Soln), As),
    length(As, Count).

magic_1(Soln) :-
    Row1 = [W1, W2, W3],
    Row2 = [X1, X2, X3],
    Row3 = [Y1, Y2, Y3],

    Row1 ins 1..3,
    Row2 ins 1..3,
    Row3 ins 1..3,

    Sum #= 6,

    all_different(Row1),
    all_different(Row2),
    all_different(Row3),

    all_different([W1,X1,Y1]),
    all_different([W2,X2,Y2]),
    all_different([W3,X3,Y3]),

    W1 + W2 + W3 #= Sum,
    X1 + X2 + X3 #= Sum,
    Y1 + Y2 + Y3 #= Sum,

    W1 + X1 …
Run Code Online (Sandbox Code Playgroud)

constraints prolog swi-prolog

5
推荐指数
1
解决办法
427
查看次数

Prolog成员名单

Prolog新手在这里谁想知道为什么这些规则不能自立,如果我想知道某些东西是否是列表的成员.

member(X, [X|_]).

member(X, [_|Y]) :- member(X,Y).
Run Code Online (Sandbox Code Playgroud)

如果我问以下规则:

member(will, [anna, eddie, pat, will, marjorie, donna]).
Run Code Online (Sandbox Code Playgroud)

我明白了,但如果我删除:

member(X, [X|_]).
Run Code Online (Sandbox Code Playgroud)

刚离开第二条规则,我就是假的.如果第二条规则指出"如果X是列表尾部的成员,则X是列表的成员",为什么会这样呢?

"will"是此列表尾部的成员.

而且,为什么可以

member(X, [X|_]).
Run Code Online (Sandbox Code Playgroud)

当X是列表的头部时(第二个规则不能)时,单独站立告诉我?

谢谢.

prolog

1
推荐指数
1
解决办法
453
查看次数

标签 统计

prolog ×3

clpfd ×1

constraints ×1

swi-prolog ×1