问题标签 [random]

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 投票
2 回答
2273 浏览

algorithm - 比例为 1:2 的随机数

我必须生成两组随机矩阵,每组包含 3 个数字,范围从 2 到 10

像那样

矩阵 1:994,878,129,121

矩阵 2:272,794,378,212

两个矩阵中的数字必须大于 100 且小于 999

两个矩阵的平均值必须是 1:2 或 2:3 的比例

我的数学技能有点有限,所以我有什么想法可以做到这一点吗?

0 投票
11 回答
27743 浏览

algorithm - 平行四边形内的随机点

我有一个由 2D 中的 4 个点定义的 4 侧凸多边形,我希望能够在其中生成随机点。

如果它真的简化了问题,我可以将多边形限制为平行四边形,但更一般的答案是首选。

生成随机点直到一个点位于多边形内是行不通的,因为它所花费的时间真的无法预测。

0 投票
12 回答
164192 浏览

mysql - 来自 Sql 数据库的简单随机样本

如何在 SQL 中获取有效的简单随机样本?有问题的数据库正在运行 MySQL;我的表至少有 200,000 行,我想要一个大约 10,000 的简单随机样本。

“明显”的答案是:

对于大表来说,这太慢了:它调用RAND()每一行(已经把它放在 O(n) 处),并对它们进行排序,充其量是 O(n lg n)。有没有办法比 O(n) 更快地做到这一点?

注意:正如 Andrew Mao 在评论中指出的那样,如果您在 SQL Server 上使用这种方法,您应该使用 T-SQL 函数NEWID(),因为 RAND()可能为所有行返回相同的值

编辑:5年后

我在一张更大的桌子上再次遇到了这个问题,最后使用了@ignorant 解决方案的一个版本,有两个调整:

  • 将行采样到我想要的样本大小的 2-5 倍,成本低廉ORDER BY RAND()
  • 在每次插入/更新时将结果保存RAND()到索引列。(如果您的数据集不是很频繁更新,您可能需要找到另一种方法来保持此列的新鲜度。)

为了对包含 1000 个项目的表进行抽样,我计算行数并将结果抽样到平均 10,000 行的 freeze_rand 列:

(我的实际实现涉及更多工作以确保我不会欠采样,并手动包装 rand_high,但基本思想是“将 N 随机减少到几千。”)

虽然这会做出一些牺牲,但它允许我使用索引扫描对数据库进行采样,直到它再次小到可以ORDER BY RAND()再次使用。

0 投票
1 回答
407 浏览

excel - Excel for Office 2007 和 Vista SP1 的可靠实数值生成器

您能告诉我您使用哪个加载项在 Excel 2007(在 Vista SP1 上运行)中生成实数/整数值吗?我已经尝试了其中的几个,尤其是来自 AbleBits.com 的 Random Generator,但是在此处输入最低和最高值时存在一些问题。我猜这是由于 Office 2007 和 Vista 配置造成的。

非常欢迎任何建议!

谢谢你!

0 投票
3 回答
1910 浏览

unix - 使用VM(虚拟机)时可以设置开发/随机吗?

有谁知道在虚拟机中运行操作系统时是否可以设置开发/随机(在这种情况下为 VMWare)?

0 投票
6 回答
8618 浏览

random - 如何在 Smalltalk 中生成一个范围内的随机整数?

我目前正在上的一门课要求我们在 smalltalk 中完成所有编码(这是一门设计课)。在我们的一个项目中,我想做一些事情,但很难找到如何去做。似乎大多数人所做的只是修改他们自己的 smalltalk 版本来做他们需要它做的事情。我不能这样做,因为当我的教授没有与我相同的内置方法时,这会导致我的教授的计算机出现错误。

这是我想要做的:

随机数。我需要创建一个介于 1 到 1000 之间的随机数。现在我正在通过这样做来伪造它

这给了我一个 0 到 1000 之间的数字。有没有办法在一个命令中做到这一点?如同

和/或语句。这让我大吃一惊。我尝试了几种不同的配置

所以我用嵌套的 ifTrue 语句来伪造它:

在smalltalk中做和/或随机的正确方法是什么?

0 投票
3 回答
2238 浏览

perl - 如何在 Perl 中以随机顺序打印 STDIN 中的行?

我想做sort(1)的逆操作:在 Perl 中将标准输入的每一行随机化到标准输出

0 投票
5 回答
489 浏览

c++ - 随机算法

我需要一些关于随机性算法的帮助。所以问题是。

在 8 小时内将发生 50 个事件。事件可以随机发生。现在这意味着每秒发生事件的机会是 50/(8*60*60)= .001736。如何使用随机生成算法做到这一点?

我可以得到随机数

但大多数时候 rand() 返回 0 和 0<0.001736 并且我得到的事件比需要的多。

有什么建议么?


抱歉,我忘了提到我计算的机会是双重机会 = (static_cast)(r) / (static_cast)(RAND_MAX);


它从 static_cast 中删除了 double

双倍机会 = (double)r/(double)(RAND_MAX);

0 投票
18 回答
139215 浏览

c++ - 在整个范围内均匀生成随机数

我需要在指定的时间间隔内生成随机数,[max;min]。

此外,随机数应均匀分布在区间上,而不是位于特定点。

目前我正在生成:

根据我的测试,随机数仅在一点附近生成。

生成的随机数:

从下面的答案:好的,RAND_MAX 是 32767。我在 C++ Windows 平台上。有没有其他方法可以生成均匀分布的随机数?

0 投票
4 回答
5203 浏览

algorithm - 随机排序的运行时间

sorted给定一个函数,如果在 O(n) 中运行的列表已排序,则返回 True的函数,你将如何描述这种排序的运行时间:

假设洗牌是完全随机的。

这会用大 O 表示法写吗?还是有其他方法可以对具有随机分量的算法进行分类?