【问题标题】:grounding predicates with python scripts in asp/clingo在 asp/cligo 中使用 python 脚本的基础谓词
【发布时间】:2017-01-10 18:14:06
【问题描述】:

我正在使用clingo 版本 4,并希望能够通过 python 脚本建立关系(请不要问为什么,这不是犯罪,因为您至少可以建立一元关系)。我希望这是可能的,并且需要一些帮助。

#script (python)
import gringo;
def main(prg):
    prg.ground([('base', [])]);
    # ... compute somethings ...
    prg.ground([('myrel', [[10,20],[30,40],[70,40]])]);
    prg.solve();
#end.

#program myrel(x,y).
r(x,y).

#show r/2.

这不起作用。有谁知道如何做到这一点?我尝试了[(10,20),(30,40),(70,40)],但也没有用。

【问题讨论】:

    标签: python scripting clingo


    【解决方案1】:

    这是可能的,但是必须一个一个地输入每个条目(这对我的应用程序来说实际上很好)。而不是

    prg.ground([('myrel', [[10,20],[30,40],[70,40]])]);
    

    必须写

    prg.ground([('myrel', [10,20])]);
    prg.ground([('myrel', [30,40])]);
    prg.ground([('myrel', [70,40])]);
    

    然后它被接受并产生正确的输出。

    【讨论】:

      猜你喜欢
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      相关资源
      最近更新 更多