问题标签 [clpr]
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.
prolog - SWI-PROLOG 如何使用库(clpqr)求解器谓词
我在 SWI-Prolog 中使用库 CLPQR 中的谓词失败了。图书馆本身可以工作。像“clpq: {X = 5^2}”这样的表达式得到了正确解决。但我不知道如何使用“最小化”、“最大化”、“inf”、“sup”等。链接到 Prolog 手册http://www.swi-prolog.org/pldoc/man?section =clpqr。如果有人可以提供一些代码示例,我将不胜感激!
prolog - Prolog 约束逻辑编程 (clpr) 中的未知数顺序
我有:
哪个与查询:
产量:
正如预期的那样。但是为什么不
还给我 Y 和 Z 的值吗?我得到的是:
谢谢!
prolog - 访问数值表达式中的系数 (clpr)
我有一些子句,其中头部代表线性方程中一组变量的名称和值,主体代表实际方程。像这样:
有没有一种直接的方法来(间接地)得到这个方程的系数?即返回coefficient(VARNAME, COEFFICIENT)
例如coefficient(x1, 0.5), coefficient(x2, 0.6)
等的规则。
我知道这似乎是一个愚蠢的问题,因为将所有系数放在子句的头部很容易。但是在我的应用程序中,我希望这些子句的开头严格显示每个变量的值(而不是它们的系数)。即避免歧义。
我目前的解决方案是一个复杂且不雅的解决方案,涉及member/2
, subtract/3
,maplist/2
并将 X1、X2、X3 设置为 1 或 0 以计算出每个斜率。
相关问题: 在序言中表示线性函数
谢谢!
/JC
prolog - SWI Prolog,CLP(R):我可以将约束绑定到变量吗?
或者可以将约束变量绑定到另一个变量(参见下面的示例)?
prolog - 在 CLPQ/R (Prolog) 中解决一个简单的几何难题
考虑以下正方形:
给你三个约束:
- 所有矩形(A、B、C、D 和 E)的面积相同;
- 它们的几何布局构成一个正方形;和
- A的高度为2。
现在,我知道手动解决这个问题非常简单,但我认为这将是一个很好的例子,可以用 Prolog 展示 CLP(Q/R) 的功能:
剧透警告:如果您想先自己解决难题,请不要继续阅读此内容,因为存在限制会放弃解决方案。
无论如何,这是我用 CLP(Q/R) 定义这个难题的尝试(我认为包括冗余约束):
查询时:
...让我伤心。约束求解器的一个如此美丽的例子......有人愿意消除我的悲伤吗?
附录:我使用 Mathematica 和FindMinimum
函数来检查我的约束。它似乎正在工作:
答案: