![]() |
1
6
嗯,这并不难:
如果有多个整数,例如 X 和 Y 在您的示例中,将“整数”替换为“整数”。 这种技术也被称为 拒绝抽样 . 例如,您可以使用一系列链接迭代器来实现这一点。有些约束和生成器一样工作得很好,比如“小于100的正整数”,所以在过滤所有其他约束之前,您可能先从其中一个约束开始。 我看到的另一个适用于一般限制的选项是分析约束并生成数字而不进行猜测,但知道如何生成它们。这对于诸如__0<x<100_等约束来说是微不足道的,但除此之外,它与实现计算机代数系统密切相关。还要记住,你必须同时满足每一个约束…要花很长时间进行拒绝抽样,将使这种方法成为实现的一个噩梦。 |
![]() |
2
4
如果所有约束都可以写成一组线性方程,则可以使用 linear programming 找到最大化“c1*x+c2*y”的解决方案。对于c1和c2,可以绘制随机值。尤其是如果有很多约束和变量,它们可能比尝试x和y的随机值更快。 |
![]() |
3
1
如果它是一种脚本语言,您可以将最小和最大的x和y值以及一系列测试传递给一个函数,然后使用rand在您的范围内生成初始值。 接下来,您只需使用“eval”的某个变量迭代数组,以测试您的值是否合适。 这将是解决您问题的通用解决方案。 |
![]() |
4
1
您希望了解基于约束的语言。例如, CLIP 将允许您指定约束,然后返回满足所有约束的间隔集。 |
![]() |
5
1
|
![]() |
6
0
如果您感觉到LINQ-Y,那么可以从所有可能的X、Y对的列表开始,然后为每个条件应用一个WHERE子句。 不管剩下什么,你都可以从中随机挑选。
|
![]() |
pgsandstrom · 添加约束以防止表中出现NaN 6 年前 |
![]() |
Melolailo · 将约束与外键一起使用 6 年前 |
![]() |
QB1979 · 添加约束,使列仅接受来自另一列的逗号分隔值 6 年前 |
![]() |
ChemPaul · Python lmfit约束:a<b<c 6 年前 |
![]() |
Simone Bolognini · 多约束Scipy极小化 6 年前 |
![]() |
PaFi · 可视化格式语言多谓词 6 年前 |