23得票8回答
不确定性编程语言

我知道在Prolog中你可以做类似这样的事情:someFunction(List) :- someOtherFunction(X, List) doSomethingWith(X) % and so on 这不会遍历List中的每个元素,而是将其分支到不同的“机器”(...

22得票1回答
为什么有些Python2代码是确定性的而在Python3中是非确定性的?

我正在尝试编写一段脚本,计算一个短字符串或“kmer”可能的所有模糊字符串匹配,但在Python 3.3.X中,相同的在Python 2.7.X中工作的代码给出了一个非确定性的答案,我无法弄清原因。 我的代码中使用了字典、itertools.product和itertools.combina...

19得票2回答
18得票9回答
为什么回溯会使算法变得非确定性?

我至少有两位教授提到过回溯算法会使算法变得非确定性,但并没有过多解释这是为什么。我认为我理解了这是如何发生的,但我很难用语言表达清楚。能否有人简明扼要地解释一下这个原因?

17得票2回答
旅行商问题中NP-hard和NP-Complete的混淆

旅行推销员优化问题(TSP-OPT)是一个NP难问题,而旅行推销员问题(TSP)则是NP完全问题。然而,由于如果能在多项式时间内解决TSP问题,那么也能解决TSP-OPT问题,因此TSP-OPT可以被约化为TSP(1)。我原以为在A可以被约化为B的情况下,B必须和甚至比A更难。但是从下面的参考...

16得票2回答
在Prolog中,“semidet”的概念是否已经确定?

作为一个Prolog新手,我发现在2012年底发生了一个非常有趣的讨论。 当时我注意到,在Prolog社区中有两种“semidet”的概念,分别是: 最多只成功一次的计算。 成功后不留下选择点的计算。 显然第二个概念意味着第一个,但反之则不然。 阅读这个帖子,我明白了第一个概念是Neume...

16得票4回答
JavaScript中浮点数的精度是否会成为不确定性的源头?

在不同的体系结构或浏览器中,同一数学操作是否可能返回不同的结果?

15得票1回答
为什么Curry标准库中的非确定性选择函数不是直接定义,而是使用一个帮助器二元函数来定义?

考虑在柯里编程语言中实现一个名为choose的函数,其规范是"(choose xs)从列表xs中非确定性地选择一个元素"。 我会通过两个可替换的非确定性规则来直接实现它: choose :: [a] -> a choose x:_ = x choose _:xs = choose x...

15得票4回答
无限输入的不确定性

使用列表来模拟非确定性在输入可以取无限多个值时是有问题的。例如: pairs = [ (a,b) | a <- [0..], b <- [0..] ] 这将返回[(0,1),(0,2),(0,3),...],并永远不会显示第一个元素不是0的任何一对。 使用Cantor配对函...

13得票2回答
我能否通过应用函子的组合来建模一系列成功并通过短路失败?

用户'singpolyma'在Reddit上问是否存在一些普遍的结构:data FailList a e = Done | Next a (FailList a e) | Fail e 有人建议使用自由单子,但我想知道是否可以通过应用函子更一般地对其进行建模。在《应用函子抽象》中,Bazerm...