У меня есть два списка (размер и цвет), я хочу создать один список без повторения одного атрибута между каждым элементом
У меня есть предикат:
list_pairs(List1, List2, Pairs) :-
findall((X,Y), (member(X, List1), member(Y, List2)), Pairs).
кто может помочь мне сгенерировать все доступные комбинации:
list_pairs([red,blue,white,yellow],[small,big],T).
T = [(red,small), (red,big), (blue,small), (blue,big), (white,small), (white,big), (yellow,small), (yellow,big)]
Но я не знаю, куда мне направиться, если я хочу изменить эти параметры, такие как:
T = [(yellow,big), (red,small), (blue,big), (white,small),(red,big),(yellow,small), (white,big), (blue, small)]
Я должен избегать повторениятаких параметров, как два красных рядом друг с другом или два маленьких рядом друг с другом.
У кого-нибудь есть идея?