问题标签 [reduction]

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 回答
325 浏览

latex - 如何减少乳胶中 \cite{1} 标签生成的引用(如 [1])的大小

维基百科整齐地标上 n 减少了所有引文的大小。有没有办法在乳胶中得到它。

0 投票
7 回答
9517 浏览

algorithm - CUDA:减少还是原子操作?

我正在编写一个 CUDA 内核,其中涉及计算给定矩阵的最大值,并且我正在评估可能性。我能找到的最好方法是:

强制每个线程在共享内存中存储一​​个值,然后使用缩减算法来确定最大值(优点:最小分歧缺点:共享内存在 2.0 设备上限制为 48Kb)

我无法使用原子操作,因为同时存在读取和写入操作,因此同步线程无法同步线程。

你有什么其他想法吗?

0 投票
2 回答
4512 浏览

lambda-calculus - 在 lambda 演算中按值调用

我正在研究Types and Programming Languages,而 Pierce 对于按值减少策略的调用,给出了 term 的例子id (id (λz. id z))。内部 redexid (λz. id z)被归约为λz. id zfirst,id (λz. id z)作为第一次归约的结果,在外部 redex 归约为正常形式之前λz. id z

但是按值顺序调用被定义为“仅减少最外层的redex”,并且“仅当redex 的右侧已经减少为一个值时才减少redex”。在示例id (λz. id z)中出现在最外层 redex 的右侧,并且被缩减。这与仅减少最外层redexes的规则有何关系?

“最外层”和“最里面”的答案是否仅指 lambda 抽象?所以对于 in 中的一个术语tλz. t不能t减少,但是在 redexs t中,如果可能的话,t减少到一个值v,然后s v减少?

0 投票
5 回答
195 浏览

javascript - 我可以减少这个 Javascript 代码吗?

我可以减少吗

我现在没有调试器。我知道这会document.getElementById('fb0')返回一个值,因为第一个片段可以正常工作。但它是否需要在 if 语句中评估赋值?

0 投票
3 回答
14066 浏览

c++ - OpenMP:同一个编译指示上的 nowait 和 reduction 子句

我正在研究 OpenMP,并遇到了以下示例:

在最后一个 for 循环中,有一个 nowait 和一个 reduction 子句。这个对吗?减少条款不需要同步吗?

0 投票
3 回答
1713 浏览

cuda - CUDA,使用归约找到 Max,错误

这是我的代码尝试减少以在块中找到最大 50 值数组。我已将数组填充到 64。

对于线程 1-31,我有正确的 maxVal 打印输出,但对于线程 32-49,它是一个完全随机数。我不知道我做错了什么。

顺便提一句。我以为我不需要 _sync 展开时的每一行,但显然我必须这样做。有什么建议吗?

提前感谢您的帮助。

0 投票
2 回答
5046 浏览

r - 使用 R 对大型数据集进行变量/降维

对于我的案例,我在 R 中有一些带有各种变量的数据:

每个案例我还有一个预期输出的向量:

1、2、3、1、4

我想做的是识别无用的变量。在这个例子中,B 和 Z 几乎没有能力对数据进行分类,所以我想被告知这个事实。

我研究了使用多元线性回归,但是我不想单独输入和操作每个变量/维度,因为在我的正确数据中它会运行到数千个,有数万个案例。

任何有关最佳方法的帮助将不胜感激。

顺便说一句,我不是统计学家,我是软件开发人员,如果术语不正确,请见谅。

0 投票
2 回答
618 浏览

cuda - 使用寄存器减少 CUDA

我需要使用归约来计算 N 个信号的平均值。输入是一个大小为 MN 的一维数组,其中 M 是每个信号的长度。

最初我有额外的共享内存来首先复制数据并减少每个信号。但是,原始数据已损坏。

我的程序试图最小化共享内存。所以我想知道如何使用寄存器对 N 个信号进行归约和。我有 N 个线程,一个共享内存 (float) s_m[N*M], 0....M-1 是第一个信号,等等。

我是否需要 N 个寄存器(或一个)来存储 N 个不同信号的平均值?(我知道如何使用多线程编程和 1 个寄存器进行顺序加法)。我想做的下一步是从对应信号的平均值中减去输入中的每个值。

0 投票
3 回答
343 浏览

algorithm - 约简概念中的一个非常复杂的问题

我研究了很多关于减少的问题,但我有一个很糟糕的问题:我从 CLRS 得到这个:

“ ...通过将解决问题 A 的问题“简化”为解决问题 B,我们用 B 的“容易性”来证明 A 的“容易性”。”

我从“Christos H. Papadimitriou 的计算复杂性”中得到这个:

“……如果 B 简化为 A,问题 A 至少和问题 B 一样难。”

我对这两个概念感到困惑:当我们使用 easyiness 时,我们说问题 X 减少为问题 Y,如果我们有 Y 的多项式时间算法并且减少过程是在多项式时间内完成的,那么问题 X 可以在多项式时间内解决,而 X 是比 Y 容易,或者至少不比 Y 难。

但是当我们使用 hard 时,我们说问题 X 简化为问题 Y,并且 Y 比 X 更容易,或者至少不比 X 更难。

我真的很困惑,请帮助我。特别感谢。

0 投票
1 回答
4006 浏览

algorithm - CUDA 最大缩减算法不起作用

上一个问题询问如何在 CUDA 中有效地找到数组的最大值:Finding max value in CUDA,最热门的回复提供了指向 NVIDIA 关于优化缩减内核的演示文稿的链接。

如果您使用的是 Visual Studio,只需删除标头引用以及CPU EXECUTION之间的所有内容。

我设置了一个找到最大值的变体,但它与 CPU 的发现不匹配:

我有一个巨大的设置来测试这个算法:

我在这个测试程序上运行了 cuda-memcheck,打开了 -g 和 -G 开关,它报告了 0 个问题。谁能发现这个问题?

注意:当您编译程序时,请确保在当前目录中有来自 CUDA by Example 的 book.h。源码链接在这里:http: //developer.nvidia.com/cuda-example-introduction-general-purpose-gpu-programming 下载源码,book.h会在common目录/文件夹下。