问题标签 [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.
answer-set-programming - Clingo:完整性约束中的逻辑或
对于演讲练习,我必须在Answer Set Programming
(我们Clingo
用作解释器)中表示以下完整性约束:
“你必须计划大师班的日历。通常,讲座在星期五(8小时)和星期六(4或5小时)。而第7周和第16周都是满的,这意味着讲座从周一到周五,每天 8 小时,周六有 4 或 5 小时的讲座。”
该问题的基本设置如下:
现在,如上所述(最后一行以粗体显示),我们遇到了以下约束的一些问题:
“在这个大师班中,周六的讲座时间可以是4 小时或 5小时。”
目前,我和我的同事将这种约束表示为:
像这样表示约束是否正确?有更好的方法吗?
answer-set-programming - sbass 无法读取外国佬输出
我正在运行一个简单的 ASP 程序:
为了尝试通过打破对称性来减少搜索空间,我一直在尝试使用Potassco 网站上的 sbass 工具
我正在使用 Ubuntu 20.04 LTS。在 sbass 文件中运行 make 并获取可执行文件后,我只运行:
它抛出了一个错误:
我错过了什么?根据文章,sbass 应该只是能够获取 gringo 的输出。
aggregate - ASP Clingo - 获取原子的确切数量
我期待着为特定的班次分配特定的人数。例如,我有六个人和三个不同的班次。现在我必须为每个班次分配准确的两个人。我试过这样的东西,但是..
注意:这不起作用,所以请尽快编辑以误导人们,我什至删除了“。” 在它之后没有人复制它:
这是否可以计算分配班次的数量,所以我可以分配与给定人数一样多的人?
上面代码的输出(插入“.”时)是:
在这里,您可以清楚地看到,早班(“mor”)班次使用了两次以上,如shiftCount中所定义。我需要改变什么才能得到想要的结果?
logic-programming - 最大化cligo中的间隔
我有以下生成搜索空间的 cligo 代码,然后是约束。
此代码有效。但是我需要 cligo 来找到存在稳定模型的 n 的最大值。最好的方法是什么?
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 个模型。
我的猜测是,现在它生成了所有可能的组合,并且我添加了额外的约束来过滤出正确的解决方案。
我将如何从这个答案集中过滤两个正确的模型?
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 代码:
但是,当我运行命令时,它显示令人满意,但只输出这个
我究竟做错了什么?