私はアンサーセットプログラミングの初心者です。次のように、すべての生徒を異なるグループにグループ化したいと考えています。 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 つの条件をどのように満たすかについての手がかりがありません。
どうぞよろしくお願いいたします。ありがとう。