2

私はアンサーセットプログラミングの初心者です。次のように、すべての生徒を異なるグループにグループ化したいと考えています。 1. 各グループには 3 ~ 4 人の生徒がいます。3. また、同じ学生を別のグループに割り当てることはできません。

私は次のように書いています:

%suppose there are total 6 students 
student(1..6). 

%suppose there are 2 groups
group(1..2). 

%1 and 4 like each other, 4 and 5 dislike each other
dislike(1,4). dislike(5,4). 

% each group has 3 to 4 students 
:- group(G), #count {S : in(S,G)} < 3. 
:- group(G), #count {S : in(S,G)} > 4.

各グループに含めることができる生徒数の制約を追加しましたが、他の 2 つの条件をどのように満たすかについての手がかりがありません。

どうぞよろしくお願いいたします。ありがとう。

4

1 に答える 1