Algorithm 座位表开始在序言中输出错误的排列
我有一个家庭作业,我必须写一个谓词Algorithm 座位表开始在序言中输出错误的排列,algorithm,prolog,permutation,Algorithm,Prolog,Permutation,我有一个家庭作业,我必须写一个谓词座位图(X):-,它将有8个座位。这些规则是: 相邻的座位伙伴必须是异性 相邻的座位伙伴必须至少有一个相同的爱好 我想我写了下面的代码来创建正确的案例 当我使用SWI Prolog中的座位图(X)运行此程序时,首先得到以下答案: X=[jim,fay,tom,beth,joe,cami,bob,sue] 然而,我随后的排列似乎完全错了。。点击后再过几次,这表明这是一个有效的答案: X=[jim、beth、sue、tom、joe、cami、bob、fay]。 我做
座位图(X):-
,它将有8个座位。这些规则是:
座位图(X)运行此程序时,
首先得到以下答案:
X=[jim,fay,tom,beth,joe,cami,bob,sue]代码>
然而,我随后的排列似乎完全错了。。点击后代码>再过几次,这表明这是一个有效的答案:
X=[jim、beth、sue、tom、joe、cami、bob、fay]。
我做错了什么?或者是什么导致我的排列开始不遵循座位表规则?座位规则谓词不应该包含所有对吗
% Create the rules for our seating chart list
seatingRules([P1,P2,P3,P4,P5,P6,P7,P8|_]):-
% Have each adjacent person be of the opposite gender
gender(P1,P2),
gender(P2,P3),
gender(P3,P4),
gender(P4,P5),
gender(P5,P6),
gender(P6,P7),
gender(P7,P8),
gender(P8,P1),
% Have each adjacent person have at least one of the same hobby
similarHobbies(P1,P2),
similarHobbies(P2,P3),
similarHobbies(P3,P4),
similarHobbies(P4,P5),
similarHobbies(P5,P6),
similarHobbies(P6,P7),
similarHobbies(P7,P8),
similarHobbies(P8,P1).
是的,我刚刚更新了它,但后来我还是得到了同样的结果。基本上,相同性别的人会坐在一起。。
% Create the rules for our seating chart list
seatingRules([P1,P2,P3,P4,P5,P6,P7,P8|_]):-
% Have each adjacent person be of the opposite gender
gender(P1,P2),
gender(P2,P3),
gender(P3,P4),
gender(P4,P5),
gender(P5,P6),
gender(P6,P7),
gender(P7,P8),
gender(P8,P1),
% Have each adjacent person have at least one of the same hobby
similarHobbies(P1,P2),
similarHobbies(P2,P3),
similarHobbies(P3,P4),
similarHobbies(P4,P5),
similarHobbies(P5,P6),
similarHobbies(P6,P7),
similarHobbies(P7,P8),
similarHobbies(P8,P1).