我知道在Prolog中你可以做类似这样的事情:someFunction(List) :- someOtherFunction(X, List) doSomethingWith(X) % and so on 这不会遍历List中的每个元素,而是将其分支到不同的“机器”(...
我正在尝试编写一段脚本,计算一个短字符串或“kmer”可能的所有模糊字符串匹配,但在Python 3.3.X中,相同的在Python 2.7.X中工作的代码给出了一个非确定性的答案,我无法弄清原因。 我的代码中使用了字典、itertools.product和itertools.combina...
在Haskell的并发和并行上下文中不太理解“决定论”,一些示例会很有帮助。谢谢。
我至少有两位教授提到过回溯算法会使算法变得非确定性,但并没有过多解释这是为什么。我认为我理解了这是如何发生的,但我很难用语言表达清楚。能否有人简明扼要地解释一下这个原因?
旅行推销员优化问题(TSP-OPT)是一个NP难问题,而旅行推销员问题(TSP)则是NP完全问题。然而,由于如果能在多项式时间内解决TSP问题,那么也能解决TSP-OPT问题,因此TSP-OPT可以被约化为TSP(1)。我原以为在A可以被约化为B的情况下,B必须和甚至比A更难。但是从下面的参考...
作为一个Prolog新手,我发现在2012年底发生了一个非常有趣的讨论。 当时我注意到,在Prolog社区中有两种“semidet”的概念,分别是: 最多只成功一次的计算。 成功后不留下选择点的计算。 显然第二个概念意味着第一个,但反之则不然。 阅读这个帖子,我明白了第一个概念是Neume...
考虑在柯里编程语言中实现一个名为choose的函数,其规范是"(choose xs)从列表xs中非确定性地选择一个元素"。 我会通过两个可替换的非确定性规则来直接实现它: choose :: [a] -> a choose x:_ = x choose _:xs = choose x...
使用列表来模拟非确定性在输入可以取无限多个值时是有问题的。例如: pairs = [ (a,b) | a <- [0..], b <- [0..] ] 这将返回[(0,1),(0,2),(0,3),...],并永远不会显示第一个元素不是0的任何一对。 使用Cantor配对函...
用户'singpolyma'在Reddit上问是否存在一些普遍的结构:data FailList a e = Done | Next a (FailList a e) | Fail e 有人建议使用自由单子,但我想知道是否可以通过应用函子更一般地对其进行建模。在《应用函子抽象》中,Bazerm...