deterministic相关内容

以独特且确定的方式将两个整数映射为一个

想象两个正整数 A 和 B.我想将这两个组合成一个整数 C. 不能有其他整数 D 和 E 与 C 结合.所以将它们与加法运算符结合起来是行不通的.例如 30 + 10 = 40 = 40 + 0 = 39 + 1串联也不起作用.例如“31"+“2"=312=“3"+“12" 这种组合运算也应该是确定性的(总是在相同的输入下产生相同的结果)并且应该总是在整数的正侧或负侧产生一个整数. ..
发布时间:2022-01-14 13:54:24 其他开发

具有一定确定性的 member/2 代码

如何对最后一个具有确定性的成员/2 进行编码元素.目前我正在使用: 成员(X,[X|_]).成员(X,[_|Y]):-成员(X,Y). 当我查询以下内容时: ?- 成员(X,[1,2]).X = 1;X = 2;不 解释器在返回 2 后继续搜索,因为还有一个选择点.我如何实现 member/2这样就不会再发生了? 但是 member/2 的完整语义应该被保留,即答案如: ?- m ..
发布时间:2022-01-12 10:40:01 其他开发

如何使浮点计算具有确定性?

浮点计算在处理器上既不关联也不分布.所以, (a + b) + c 不等于 a + (b + c) and a * (b + c) 不等于 a * b + a * c 是否有任何方法可以执行不会给出不同结果的确定性浮点计算.当然,这在单处理器上是确定性的,但在多线程程序中,如果线程相加,例如,它就不是确定性的,因为线程可能存在不同的交错. 所以我的问题是,如何在多线程程序中 ..
发布时间:2022-01-09 10:54:45 其他开发

PyTorch 中的重现性和性能

文档 指出: 确定性模式可能会对性能产生影响,具体取决于您的模型. 我的问题是,这里的性能是什么意思.处理速度或模型质量(即最小损失)?换句话说,当设置手动种子并使模型以确定性方式执行时,这是否会导致在找到最小损失之前的训练时间更长,或者最小损失是否比模型非确定性时更糟糕? 为了完整起见,我通过设置所有这些属性手动使模型具有确定性: def set_seed(seed):tor ..
发布时间:2022-01-06 19:35:13 Python

C#中静态类初始化的顺序是确定性的吗?

我已经做了一些搜索,我认为以下代码可以保证产生输出: B.X = 7B.X = 0A.X = 1A = 1,B = 0 静态类B{公共静态 int X = 7;静态 B() {Console.WriteLine("B.X = " + X);X = A.X;Console.WriteLine("B.X = " + X);}}静态A类{公共静态 int X = B.X + 1;静态 A() {Co ..
发布时间:2022-01-05 19:58:53 C#/.NET

是否有类似于 DETERMINISTIC 的 PL/SQL pragma,但仅针对单个 SQL SELECT 的范围?

在 SQL SELECT 语句中,我想执行一个对该 SELECT 语句的范围具有确定性的函数(或者事务也可以): 从 t 中选择 t.x, t.y, my_function(t.x) t.x 的许多值是相同的,因此 Oracle 可以省略一次又一次地调用相同的函数,以加快速度.但是,如果我将该函数标记为 DETERMINISTIC,则结果可能会在多次执行此查询之间缓存.之所以不能使用DETER ..
发布时间:2021-12-24 16:03:28 数据库

以唯一且确定性的方式将两个整数映射为一个

想象两个正整数 A 和 B.我想将这两个组合成一个整数 C. 不能有其他整数 D 和 E 组合成 C.所以将它们与加法运算符结合起来是行不通的.例如 30 + 10 = 40 = 40 + 0 = 39 + 1串联也不起作用.例如 "31" + "2" = 312 = "3" + "12" 这个组合操作也应该是确定性的(总是在相同的输入下产生相同的结果)并且应该总是在整数的正侧或负侧产 ..
发布时间:2021-12-06 19:17:22 其他开发

Prolog 中“半身"的概念已经解决了吗?

作为 Prolog 的新手,我遇到了一个非常有趣的讨论 发生在 2012 年末.我注意到当时有两种概念Prolog 社区中的“半身",即: 最多成功一次的计算. 一种计算,一旦成功,就不会留下任何选择点. 很明显,第二个意味着第一个,但反之则不然. 阅读线程,我明白第一个是Neumerkel 博士的概念,其次是 Drs.Wielemaker、O'Keefe 和其他人. 谷 ..

Dijkstra 算法是确定性的吗?

我认为 Dijkstra 的算法是确定的,因此如果您选择相同的起始顶点,您将获得相同的结果(到每个其他顶点的距离相同).但我不认为它是确定性的(它为每个操作定义了以下操作),因为这意味着它首先不必搜索最短距离. 我说得对吗?如果我错了,请您解释一下为什么它是确定性的,并举例说明? 解决方案 我不确定确定性有一个通用的定义,但维基百科 将其定义为... ...一种算法,给定特定输 ..
发布时间:2021-10-26 18:45:55 其他开发

IEEE 754-2008是确定性的吗?

如果我从相同的值开始,并且对双精度64位IEEE 754-2008值执行相同的原始操作(加法,乘法,比较等),我将获得与基础无关的相同结果机器? 更具体地说:由于 ECMAScript 2015 指定了一个数字值是 与双精度64位二进制文​​件对应的原始值格式IEEE 754-2008值 我能得出这样的结论吗:相同的操作会在不依赖于环境的情况下产生相同的结果吗? 解决方案 ..
发布时间:2021-05-08 19:55:28 其他开发

确定性浮点和.NET

如何保证.NET应用程序(例如C#)中的浮点计算始终产生相同的位精确结果?特别是在使用不同版本的.NET并在不同平台(x86与x86_64)上运行时.浮点运算的错误并不重要. 在Java中,我将使用strictfp.在C/C ++和其他低级语言中,此问题基本上是通过访问FPU/SSE控制寄存器来解决的,但在.NET中可能是不可能的. 即使通过FPU控制寄存器的控制,.NET的JIT也会 ..
发布时间:2021-05-08 19:55:11 C#/.NET

Prolog中的"semidet"概念是否已解决?

成为Prolog的新手,我遇到了一个非常有趣的 博士Neumerkel说(在此引用谓词 call_semidet ): 实施可能会有所改善,但在进行优化和标记实际含义需要解决. 那么,含义已经解决了吗? "det"怎么样? 习惯上根据谓词的数量对谓词进行分类解决方案.根据 SWI-Prolog的定义(见下文),"det'可以充分发挥作用非确定性(例如并行)计算,只要它承诺 ..

如何在GPU上的TensorFlow中创建具有确定性操作的CNN?

因此,我意识到TensorFlow中存在不确定性的操作后,请参阅以下问题:,我想知道: 我如何使用以下方法构建卷积神经网络: TensorFlow版本1.1.0 CUDA版本8.0,V8.0.61 cuDNN 5.1.10 在GPU上运行 仅使用确定性操作? 解决方案 直到cuDNN上的每个操作都不完全是确定性的,您才能这样做。 而且,即使在GPU上移动了每个操作 ..
发布时间:2020-06-11 19:12:02 其他开发