Answer set programming Clingo答案集编程新手

Answer set programming Clingo答案集编程新手,answer-set-programming,clingo,Answer Set Programming,Clingo,我得到了以下答案集编程问题,但不确定我的答案是否正确: A(X)通常是E(X) U(X)通常不是E(X) G(X)通常是E(X) 每个G(X)都是U(X) U(X)通常是A(X) G(t1) G(t2)而不是E(t2) U(t3) 以下是我的Clingo代码: g(t1). g(t2). -e(t2). u(t3). e(X) :- a(X), not -e(X). -e(X) :- u(X), not e(X). e(X) :- g(X), not -e(X). u(X) :- g(

我得到了以下答案集编程问题,但不确定我的答案是否正确:

  • A(X)通常是E(X)
  • U(X)通常不是E(X)
  • G(X)通常是E(X)
  • 每个G(X)都是U(X)
  • U(X)通常是A(X)
  • G(t1)
  • G(t2)而不是E(t2)
  • U(t3)
以下是我的Clingo代码:

  g(t1).
g(t2).
-e(t2). 
u(t3).
e(X) :- a(X), not -e(X).
-e(X) :- u(X), not e(X).
e(X) :- g(X), not -e(X).
u(X) :- g(X).
a(X) :- u(X), not -a(X).
clingo 0 pm.lp是:

    Reading from pm.lp
pm.lp:9:15-24: info: atom does not occur in any rule head:
  not (-a(X))

Solving...
Answer: 1
g(t1) g(t2) u(t3) -e(t2) u(t1) u(t2) a(t3) a(t1) a(t2) e(t3) e(t1)
Answer: 2
g(t1) g(t2) u(t3) -e(t2) u(t1) u(t2) a(t3) a(t1) a(t2) e(t3) -e(t1)
Answer: 3
g(t1) g(t2) u(t3) -e(t2) u(t1) u(t2) a(t3) a(t1) a(t2) -e(t3) e(t1)
Answer: 4
g(t1) g(t2) u(t3) -e(t2) u(t1) u(t2) a(t3) a(t1) a(t2) -e(t3) -e(t1)
SATISFIABLE

不确定我的代码是否正确和完整?

A(X)通常是E(X)的意思是什么?我认为这是一个家庭作业问题。请张贴所使用的教科书,定义什么是正常真实,等等。