私はClingoで次のように定義されたグラフの色分け問題を持っています:
node(sa;wa;nt;q;nsw;v;t).
color(r;g;b).
edge(sa,(wa;nt;q;nsw;v)).
edge(wa,nt). edge(nt,q). edge(q,nsw). edge(nsw,v).
edge(X,Y) :- edge(Y,X).
そして、私は次のように特徴付けられるソリューションを持っています:
{assign(N,C) : color(C)} = 1 :- node(N).
:- edge(X,Y), assign(X,C1), assign(Y,C2), C1 == C2.
#show assign/2.
= 1
コードの生成部分の が何を意味するのか理解できません。「カーディナリティの設定」であることは知っていますが、コードは各回答で7つのノードを生成する必要があるため、その方法がわかりません。さらに、次のジェネレーター (長さ 7 のセットで選択するノードと色のすべての組み合わせを生成する) には が必要= 7
です。
{assign(N,C) : color(C), node(N)} = 7.
これは、私が解決しているグラフの彩色問題の写真です: https://imgur.com/a/tX7qtkJ
およびクリンゴ: https://potassco.org/clingo/run/