Matrix 如何使用clpfd库设置12 x 12矩阵

Matrix 如何使用clpfd库设置12 x 12矩阵,matrix,prolog,clpfd,Matrix,Prolog,Clpfd,我是约束逻辑编程新手,想知道如何使用clpfd在prolog中建立一个12 x 12矩阵。我正在使用swi prolog ide。要分配变量矩阵,我们可以在纯prolog中执行以下操作: matrix(N,Rows) :- bagof(R,Y^(between(1,N,Y),length(R,N)),Rows). 然后,要使用库(yall)约束每个“单元”从域中获取值(比如1..3),请执行以下操作: 或者,使用内置: ?- matrix(12, Mat), bagof(t, R^(membe

我是约束逻辑编程新手,想知道如何使用clpfd在prolog中建立一个12 x 12矩阵。我正在使用swi prolog ide。

要分配变量矩阵,我们可以在纯prolog中执行以下操作:

matrix(N,Rows) :- bagof(R,Y^(between(1,N,Y),length(R,N)),Rows).
然后,要使用库(yall)约束每个“单元”从域中获取值(比如1..3),请执行以下操作:

或者,使用内置:

?- matrix(12, Mat), bagof(t, R^(member(R, Mat), R ins 1..3), _).

这是Prolog,还是ECLiPSe?@WillemVanOnsem这是Prolog,我使用的是swi-Prolog,不是ECLiPSe
?- matrix(12, Mat), bagof(t, R^(member(R, Mat), R ins 1..3), _).