gpt4 book ai didi

prolog - 我可以让这个 CLP(FD) 查询在更短的时间内终止吗?

转载 作者:行者123 更新时间:2023-12-01 12:41:01 25 4
gpt4 key购买 nike

我有以下 CLP(FD) 查询:

?- use_module(library(clpfd)).
?- [I,N,M,J] ins -2147483648..2147483647,
I - 3*N #= X, X in 1..2,
I - 5*M #= Y, Y in 1..4,
I - 15*J #= 0.

在没有标签的情况下提出查询时已经在 SWI-Prolog 中/1目标,解释器几乎挂起。我不期待在短时间内终止。

我怎样才能修改查询,一些重新排序等等。所以它提供了预期的答案“假”?

再见

P.S.:一段时间后按 ^C 和 t 后,我​​看到 CLP(FD)系统还在忙。

最佳答案

非常简单:

首先,将 I 替换为 J*15 ;把大域名放在最后:

?- 15*J - 3*N #= X, X in 1..2, 
15*J - 5*M #= Y, Y in 1..4,
I #= 15*J,
[I,N,M,J] ins -2147483648..2147483647.
false.

并非总能检测到上述因素,并且传播本身很弱,因为它很容易破坏域的表示。

关于prolog - 我可以让这个 CLP(FD) 查询在更短的时间内终止吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24716201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com