问题标签 [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 投票
1 回答
926 浏览

macros - `amb` 运算符作为宏还是过程?

页面中,帖子后面有一条评论,它给出了一个非常简短amb的过程实现:

但我通常看到amb实现为宏——在 schemers.org FAQ 和Dorai Sitaram 的书中

所以——宏版本更长,更难理解。我看不出它比过程版本有什么优势,当然我宁愿使用过程而不是宏。有什么我错过的吗?

0 投票
2 回答
677 浏览

haskell - haskell中的公平并发`map`函数?

假设我正在模拟某种网络,并且有一个函数可以在 Chans 列表上广播一个值:

这将按顺序将数据“发送”到每个接收器。相反,我想以不确定的方式向所有接收器广播。

感谢您提供任何线索。

0 投票
1 回答
515 浏览

multithreading - Perl:特殊变量是线程安全的吗?

我正在阅读一些关于 $@ 全局变量的问题,以及由于成功的 evals 将它擦干净,它甚至在它被处理之前如何被破坏。

但是如果它被并发线程中发生的错误破坏了怎么办?新的线程包表示默认情况下不共享内容,这意味着它是少数主流语言之一,使得 '$a = $a;' 默认情况下是确定性的(并且认为人们说 C# 和 Java 在大型项目中比 Perl 更好)。但我不确定特殊的全局变量。

我的直觉告诉我它们就像任何其他变量一样,因此它们不会被共享。我的大脑本能说'让我们检查一下 Stackoverflow 上的向导'。

我查看了 Perldoc 上的线程教程,它涵盖了共享部分中的普通变量,但随后似乎没有涵盖特殊变量。

我可以使用特殊变量而不会有被其他线程破坏的风险,即使我没有先本地化它们?例如,我可以从 $@ 中提取一个值而不用担心并行线程中发生的错误吗?

0 投票
1 回答
634 浏览

c++ - 非确定性输出的 CUDA 调试过程

我正在我的 Ubuntu 10.10 64 位系统上调试我的基于 CUDA 4.0/Thrust 的图像重建代码,我一直在试图弄清楚如何调试这个运行时错误,我的输出图像出现一些随机“噪音。” 我的代码中没有随机数生成器输出,所以我希望输出在运行之间保持一致,即使它是错误的。然而,这并不是...

我只是想知道是否有人有调试此类 CUDA 运行时错误的通用程序。我没有在我的 cuda 内核中使用任何共享内存。我已经尽力避免任何涉及全局内存的竞争条件,但我可能会错过一些东西。

我试过使用 gpu ocelot,但它在识别我的一些 CUDA 和 CUSPARSE 函数调用时遇到问题。

此外,我的代码通常有效。只是当我更改这个设置时,我才会得到这些不确定的结果。我已经检查了与该设置相关的所有代码,但我无法弄清楚我做错了什么。如果我能把它提炼成我可以在这里发布的东西,我可能会这样做,但是在这一点上发布在这里太复杂了。

0 投票
1 回答
161 浏览

java - 如何审核用户提供的类文件以将包、类和方法列入黑名单

我正在开发一个托管用户定义的存储过程的应用程序,这些存储过程作为 Java 类文件提供。程序需要是确定性的,我想将各种包和方法列入黑名单,这些包和方法是非确定性的来源。我查看了 java.lang.Class 和 javax.tools.* 中可用的内容。

看起来我可以使用 java.lang.Class 审核成员、方法参数和返回类型。但是,要审核方法内容,我似乎必须分析原始类文件。

我还需要审核静态初始化块和成员变量初始化等极端情况。在某些情况下,例如 java.util.Date,默认构造函数是不确定的,但其他情况都很好。

是否有一个框架或工具可以使分析类文件的这些方面变得容易?

0 投票
4 回答
793 浏览

java - Java中错误的for循环?

我观察到运行以下 java 代码的错误行为:

两个循环的作用完全相同。然而,第二个输出一个不确定的错误值。我正在使用版本在 Linux 上运行代码:

样本输出:

你能重现它吗?它是一个错误吗?

编辑:奇怪

工作正常。

0 投票
1 回答
1074 浏览

algorithm - 非确定性算法

我需要对非确定性算法的简单描述。我们可以将非确定性算法与具有并行处理器的计算机进行比较吗?请有人准确地向我解释一下非确定性算法

0 投票
3 回答
273 浏览

lambda - Mercury:如何声明高阶数据类型的确定性?

当我编译下面的 Mercury 代码时,我从编译器中得到这个错误:

我认为编译器的意思是“当你声明类型test_case时,你没有指定确定性,所以我认为你的意思是det。但是你传入了一个semidetlambda。”

我的问题:

  • 声明类型的确定性的语法是什么?我尝试过的猜测都导致了语法错误。
  • 有人可以解释' 实例化的/* unique */部分是什么意思吗?TestCase这会导致给定和预期实例化之间的不匹配吗?
  • 有没有更简洁的方式来声明 lambda main?我对 lambda 的声明与我在 lambda 中的代码一样多。

编码:

0 投票
1 回答
313 浏览

finite-automata - 非确定性有限自动化问题

我正在做一些研究,当它处理一个 1 时,我对这个小的不确定性算法有点困惑。我知道它会分裂成一个带有 q1 的品牌,因为 0 或 1 会重定向回来,并且那里有一个到 q2 的退出箭头是1,但为什么会分裂成q3?我觉得我误读了(0,空字符串),任何澄清都会很棒。

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
377 浏览

selenium - 点击在 Selenium 中并不总是有效

我将 Selenium 与 PHPUnit 一起使用,有时测试失败并出现错误情况,这似乎是由浏览器忽略clickAndWait调用引起的。测试执行通过clickAndWait命令没有太多延迟(即使我设置了很大的超时),并且下一个断言或元素访问失败;如果我制作屏幕截图,它会显示上一页,就好像点击命令根本没有发生一样。链接和提交按钮都会发生这种情况(正常,不javascript:或类似的诡计),非确定性的。它似乎在某些控件上比其他控件更频繁地发生(许多根本不受影响),并且测试失败的频率在短期内似乎或多或少是恒定的,但在长期内变化很大(有时是 100 分之一) ,有时是 1 比 2)。我猜它受到某种服务器负载的影响,但看不到任何明显的相关性。