问题标签 [gringo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
244 浏览

answer-set-programming - Clingo:完整性约束中的逻辑或

对于演讲练习,我必须在Answer Set Programming(我们Clingo用作解释器)中表示以下完整性约束:

“你必须计划大师班的日历。通常,讲座在星期五(8小时)和星期六(4或5小时)。而第7周和第16周都是满的,这意味着讲座从周一到周五,每天 8 小时,周六有 4 或 5 小时的讲座。”

该问题的基本设置如下:

现在,如上所述(最后一行以粗体显示),我们遇到了以下约束的一些问题:

“在这个大师班中,周六的讲座时间可以是4 小时或 5小时。”

目前,我和我的同事将这种约束表示为:

像这样表示约束是否正确?有更好的方法吗?

0 投票
0 回答
40 浏览

answer-set-programming - sbass 无法读取外国佬输出

我正在运行一个简单的 ASP 程序:

为了尝试通过打破对称性来减少搜索空间,我一直在尝试使用Potassco 网站上的 sbass 工具

我正在使用 Ubuntu 20.04 LTS。在 sbass 文件中运行 make 并获取可执行文件后,我只运行:

它抛出了一个错误:

我错过了什么?根据文章,sbass 应该只是能够获取 gringo 的输出。

0 投票
1 回答
300 浏览

aggregate - ASP Clingo - 获取原子的确切数量

我期待着为特定的班次分配特定的人数。例如,我有六个人和三个不同的班次。现在我必须为每个班次分配准确的两个人。我试过这样的东西,但是..
注意:不起作用,所以请尽快编辑以误导人们,我什至删除了“。” 在它之后没有人复制它:

这是否可以计算分配班次的数量,所以我可以分配与给定人数一样多的人?

上面代码的输出(插入“.”时)是:

在这里,您可以清楚地看到,早班(“mor”)班次使用了两次以上,如shiftCount中所定义。我需要改变什么才能得到想要的结果?

0 投票
2 回答
125 浏览

logic-programming - 最大化cligo中的间隔

我有以下生成搜索空间的 cligo 代码,然后是约束。

此代码有效。但是我需要 cligo 来找到存在稳定模型的 n 的最大值。最好的方法是什么?

0 投票
1 回答
74 浏览

logic-programming - 答案集编程 - 从大量模型中过滤

实例.lp

我有这个问题实例,带有开始节点 begin(4) 和相应边的有向图。在此图中,只能从节点 4 开始获得哈密顿循环(4->1->2->3->5->6 或 4->1->2->6->5->3)并且我的问题类只有在我给它起始节点 4 时才能解决它,并返回 2 个这样的模型:

类.lp

当我用 cligo 像这样运行它时:

我得到了 2 个模型(汉密尔顿循环)。

我想在不给它起点的情况下运行它,但是当我用node(X)替换begin(X ) 时:

我有 120 个模型。

我的猜测是,现在它生成了所有可能的组合,并且我添加了额外的约束来过滤出正确的解决方案。

我将如何从这个答案集中过滤两个正确的模型?

0 投票
1 回答
13 浏览

answer-set-programming - 如何在cligo中编写涉及某个参数的约束?

我正在尝试解决 Google ASP Competition 2019:保险裁判分配问题。此链接中提供了问题。

有一个硬性约束,如果裁判的偏好类型为 0,那么案件将不会分配给该裁判。我已将问题简化为包含一些变量。

case(cid)指以 cid 为 case id 的 case。
ref(rid)指具有裁判ID的裁判。

pref(rid, type)接受裁判“摆脱”的偏好,类型取值从 0 到 3。数字越大,越有可能受理此案。

ref(10, 3)ref(9, 2)中,将给予更高的优先级ref(10)

我尝试了以下 cligo 代码:

但是,当我运行命令时,它显示令人满意,但只输出这个

我究竟做错了什么?