Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 10 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
我不知道有这样的软件。
请注意,不存在枚举任意集合的通用算法;接受以集合构建器表示法编写的任何集合的程序也必须能够解决例如停止问题。此外,还存在即使在理论上也无法枚举的集合,例如其构造需要使用实数选择函数的集合。
当然,如果您限制集合构建器符号中可以出现的表达式类型,那么问题会更容易,但即便如此,任何比线性不等式更复杂的事情都非常困难。例如,众所周知,不存在算法可以确定九个变量中的多项式等式
P(x_1, ..., x_9)=0
是否有整数解(这是希尔伯特的第十个问题),别介意实际找到一些示例解决方案。I don't know of any such software.
Note that no general algorithm for enumerating arbitrary sets can exist; a program that accepts any set written in set-builder notation must also be able to solve e.g. the halting problem. Moreover there exist sets that cannot be enumerated even theoretically, for example those whose construction requires use of a choice function on the reals.
Naturally the problem is easier if you restrict what kind of expressions can appear in the set-builder notation, but even then anything more complex than linear inequalities is surprisingly hard. For instance, it is known that no algorithm exists to determine whether or not a polynomial equality
P(x_1, ..., x_9)=0
in nine variables has an integer solution (this is an extension of Hilbert's 10th problem), never mind actually finding some exemplar solutions.