这个怎么样:
#minimize {batteryFlat(mycar); batteryFlat(yourcar); hasNoFuel(mycar);
hasNoFuel(yourcar); brokenIndicator(mycar); brokenIndicator(yourcar)}.
该集合现在用 ; 分隔。然后您可以使用 , 来连接条件。每个元素具有相同的优先级,但如果您想要不同的优先级,您可以执行以下操作:
#minimize {1@1: batteryFlat(mycar); 1@2: batteryFlat(yourcar); hasNoFuel(mycar);
hasNoFuel(yourcar); brokenIndicator(mycar); brokenIndicator(yourcar)}.
现在第一个原子具有优先级(我认为至少发生一次),第二个原子具有更高的优先级。
或者,如果您有变量,请优先考虑不同接地的数量,如下所示:
#minimize {X@1: batteryFlat(X); 1@2: batteryFlat(yourcar); hasNoFuel(mycar);
hasNoFuel(yourcar); brokenIndicator(mycar); brokenIndicator(yourcar)}.
比较显示在这里:http: //sourceforge.net/projects/potassco/files/clingo/4.2.0/