Здравствуйте, я пытаюсь узнать больше о клинго, есть следующие термины: v (1,2) .v (2,1) .v (3,4) .v (4,3), означает, что первый элементне может быть в той же строке второго элемента, второй не может быть в той же строке первого элемента, ecc .. хотел бы написать некоторые правила, чтобы найти матрицу 2x2, в которой элемент (I, J, N) размещен в соответствии сэто ограничивает.заранее спасибо
v(1,2).v(2,1).v(3,4).v(4,3)
rows(1..2).
col(1..2).
1{m(I,J,N) : v(N)}1 :- rows(I), col(J).
1{m(I,J,N) : rows(I), col(J)}1 :- v(N).
...code...
output
[1,1,1][1,2,4][2,1,2][2,2,3]
[1,1,4][1,2,1][2,1,2][2,2,3]
[1,1,1][1,2,4][2,1,3][2,2,2]
[1,1,4][1,2,1][2,1,3][2,2,2]