问题标签 [non-deterministic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
71 浏览

ruby - Ruby 1.9.3-p448 中不一致的随机“加载”失败

为了问另一个问题,我一遍又一遍地加载和重新加载同一个文件。我注意到有相当一部分时间load会失败,没有任何明显的原因。这ruby 1.9.3p448 (2013-06-27) [i386-mingw32]几乎与 metasploit 打包在一起。

这是 irb 会话的记录(源文件附加在下面)——对于这个记录,我什么也没做,只是按一下up-arrow键并按回车键,load以大约一秒的间隔重复相同的命令:

这是 test-pack.rb 代码——这个文件的第 11 行恰好是这一fail unless $bits.encoding == $ptr.encoding行(至少有人认为应该是确定性的):

0 投票
2 回答
2079 浏览

tsql - 使用 TSQL,带有 COLLATE 的 CAST() 是不确定的。如何使其具有确定性?解决方法是什么?

我有一个功能,包括:

例如,这对于删除法语中的重音很有用;例如:

ELECTRICITE.

但是 usingCOLLATE使函数具有不确定性,因此我不能将其用作列中的计算持久值。

Q1。是否有另一种(快速而简单)的方法来删除这样的重音,具有确定性功能?

Q2。(奖励问题)我做这个计算持久列的原因是搜索。例如,用户可以将客户的姓氏输入为“Gagne”或“Gagné”或“GAGNE”或“GAGNÉ”,应用程序将使用持久计算列找到它。有一个更好的方法吗?

编辑:使用 SQL Server 2012 和 SQL-Azure。

0 投票
2 回答
171 浏览

c - 由于 malloc 大小不正确导致的不确定性故障?

我们是否有一个示例说明由于 C 中的 malloc 大小不正确而导致的非确定性故障?

例如,在我的 linux 'gzip' 程序中:

因此,通过正确版本的测试用例 tc 在错误版本上变为失败(即,分段错误)。但是,失败是不确定的。有时,错误版本上的失败测试用例 tc 不会导致分段错误(即通过)。

这可能是由于 malloc 的“未定义”行为,但我不知道它是如何发生的。

谁能给我一些具体的例子?先感谢您。

0 投票
2 回答
262 浏览

sql-server - 用于打开文件的 SQL 用户定义函数

我想创建一个用户定义的函数/存储过程或另一个 SQL 机制,当传递一个文件名时,它会将文件内容读入一个变量以供以后处理。该机制必须在事务中工作。

我的计划是使用用户定义的函数,但是 OPENROWSET 函数不允许我将变量作为文件名传递,因此我需要在“sp_executesql”语句中执行它,并且该函数变得不确定。

我可以使用任何解决方法来解决非确定性功能吗?

0 投票
1 回答
1981 浏览

python - 为什么某些代码在 Python2 中是确定性的,而在 Python 3 中是非确定性的?

我正在尝试编写一个脚本来计算所有可能的模糊字符串匹配匹配到一个短字符串或“kmer”,并且在 Python 2.7.X 中工作的相同代码给了我一个关于 Python 3.3 的非确定性答案.X,我不知道为什么。

我在我的代码中遍历字典、itertools.product 和 itertools.combinations,但我遍历所有这些以完成,没有中断或继续。此外,我将所有结果存储在单独的字典中,而不是我正在迭代的字典中。简而言之 - 我没有犯任何对我来说很明显的错误,那么为什么 Python2 和 Python3 之间的行为不同呢?

示例,稍微简化的代码如下:

0 投票
1 回答
504 浏览

algorithm - 使用不确定性来检测派系?

我试图用集团问题来理解非确定性。

在计算机科学中,集团问题是指与在图中找到特定完整子图(“集团”)相关的任何问题,即每对元素相连的元素集合。

假设我有一个带有节点 A、B、C、D、E、F 的图,我想确定是否存在 4 的集团。

我对非确定性的理解是通过取四个节点(B、C、D、F)进行猜测,并检查所有 4 个节点之间是否存在连接。如果存在,我断定集团存在,如果不存在,我断定集团不存在。

然而,我不确定这如何帮助解决问题,因为我可能做出了错误的选择。

我想我想总体上理解非确定性的应用。

0 投票
4 回答
4744 浏览

haskell - 非确定性如何用 List monad 建模?

任何人都可以解释(用简单的英语示例更好)列表单子可以对非确定性计算进行建模吗?即问题是什么以及列表单子可以提供什么解决方案。

0 投票
4 回答
347 浏览

haskell - 无限输入的非确定性

如果输入可以采用无限多的值,则使用列表对不确定性建模是有问题的。例如

这将返回[(0,1),(0,2),(0,3),...]并且永远不会向您展示第一个元素不是的任何对0

使用Cantor 配对函数将列表列表折叠成单个列表可以解决此问题。例如,我们可以定义一个类似绑定的运算符,它通过以下方式更智能地对其输出进行排序

如果我们现在把它包装成一个单子,我们可以枚举所有可能的对

这导致

这是一个更理想的结果。但是,如果我们要改为要求三元组,则输出的排序就不是那么“好”了,而且我什至不清楚所有输出最终都包括在内——

请注意,在排序(2,0,1)之前出现(0,1,1)- 我的直觉说,这个问题的一个好的解决方案将根据“大小”的一些概念对输出进行排序,这可能是算法的显式输入,或者可以隐式给出(如这个例子,其中输入的“大小”是它在输入列表中的位置)。组合输入时,组合的“大小”应该是输入大小的某个函数(可能是总和)。

我缺少这个问题的优雅解决方案吗?

0 投票
0 回答
146 浏览

python - 在简单的 PLY 解释器中解决 args 列表中的不确定性

我无法解决我认为应该是微不足道的事情。我修改了 PLY 的 calc 示例以包含一些函数调用,以及一个可以接受一个或多个表达式的参数列表(表达式是名称、数字或文字)。问题是我的实现是不确定的,有时多行参数正确,有时则不正确。

例如,我在运行时输入:

有时如果我运行它,它会产生这个:

其他时候我运行程序,它会产生这个(我想避免):

解析器两次都进入正确的规则(p_expression_number),但有时它选择了错误的东西。有一半时间它似乎只是简化为表达式(忽略逗号),然后抱怨它不理解下一个参数,即逗号。其他时候还好。

我该如何解决这个问题?我已经尝试了几件事,并且查找了示例,但我无法弄清楚。

这是我的代码:

0 投票
1 回答
690 浏览

python - Python floating point determinism

The code below (to compute cosine similarity), when run repeatedly on my computer, will output 1.0, 0.9999999999999998, or 1.0000000000000002. When I take out the normalize function, it will only return 1.0. I thought floating point operations were supposed to be deterministic. What would be causing this in my program if the same operations are being applied on the same data on the same computer each time? Is it maybe something to do with where on the stack the normalize function is being called? How can I prevent this?