2016-04-03 5 views
1

私は制約論理プログラミングを初めて使い、clpfdを使用してプロローグで12 x 12マトリックスを設定する方法を知りたがっています。私はswi prolog ideを使用しています。変数の行列を割り当てることclpfdライブラリを使用して12 x 12マトリックスを設定する方法

+0

はこのプロローグ、またはEclipseますか? –

+0

@WillemVanOnsemプロローグです。私はECLiPSeではなくswi prologを使用しています – user6105558

答えて

2

、我々は平野Prologで行うことができます。

matrix(N,Rows) :- bagof(R,Y^(between(1,N,Y),length(R,N)),Rows). 

を次に、ライブラリを使用して、(1..3を言わせて)ドメインから値を取得するために各「セル」を制約します(ヤオール):

:- use_module(library(clpfd)). 
?- matrix(12, Mat), maplist([R]>>(R ins 1..3), Mat). 

や、組み込みコマンドと:

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