Для данного графика мне нужно представить его, используя не более n клик. У меня проблема с этой задачей. Это похоже на n-раскраску графика, противоположного заданному графику (график b противоположный графу A, если если ребро (a, b) в графе A, чем ребро (a, b), не находится в графе B). Я написал следующий код:ASP Clingo - разбиение графика на n cliques
#const n = 3.
{ color(X,1..n) } = 1 :- node(X).
:- not edge(X, Y), color(X,C), color(Y,C).
:- edge(X, Y), color(X,A), color(Y,B), A != B.
но это не работает для данного теста:
node(1).
node(2).
node(3).
node(4).
edge(1, 2).
edge(2, 1).
edge(2, 3).
edge(3, 2).
edge(3, 4).
edge(4, 3).
, например, цвет (1) == цвет (2) = цвет (3) == цвет (4). Когда я удаляю одну из этих формул, она также не работает.