问题标签 [probability]

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 投票
5 回答
3466 浏览

algorithm - 估计/预测下载完成时间

我们都取笑过“剩余 X 分钟”对话框,这似乎太简单了,但我们该如何改进呢?

实际上,输入是截至当前时间的一组下载速度,我们需要使用它来估计完成时间,也许有确定性的指示,例如使用某个 Y% 置信区间的“剩余 20-25 分钟”。

这样做的代码可以放在一个小库中并在所有项目中使用,那么真的有那么难吗?你会怎么做?你会给以前的下载速度赋予什么权重?

还是已经有一些开源代码?

编辑:总结:

  1. 通过更好的算法/过滤器等提高估计完成时间。
  2. 提供间隔而不是单个时间('1h45-2h30 分钟'),或者只是限制精度('大约 2 小时')。
  3. 指出进展何时停止 - 尽管如果进展持续停止然后继续,我们应该能够处理它。也许“大约 2 小时,目前停滞不前”
0 投票
4 回答
14448 浏览

matlab - 如何在 MATLAB 中计算二项分布的 PMF 和 CDF?

我需要计算二项分布的概率质量函数和累积分布函数。我想使用 MATLAB 来做到这一点(原始 MATLAB,没有工具箱)。我可以自己计算这些,但希望使用预定义的函数并且找不到任何函数。外面有东西吗?

0 投票
6 回答
2879 浏览

java - 一个简单算法的实现(计算概率)

我被要求(作为家庭作业的一部分)设计一个执行以下操作的 Java 程序:


基本上有3张卡:

  • 双面黑色
  • 两边都是红色
  • 一侧为黑色,另一侧为红色

现在,如果我随机拿一张卡片放在桌子上。朝上的一面是黑色的。对方也是黑的概率是多少?

使用Java实现一个程序并尝试发现概率,该程序应该大量模拟纸牌技巧并应该输出纸牌另一面为黑色的概率(它通过计算另一面的次数来做到这一点也是黑色的)。


但是我被告知我的代码是错误的(算法方面)......显然答案不应该是 0.50。我在尝试理解算法时犯了错误吗?

谁能指出我正确的方向?(我不是要你为我提供一个完整的实现,只是关于算法应该如何工作)。


这篇文章很有帮助:https ://blog.codinghorror.com/finishing-the-game/

0 投票
1 回答
590 浏览

probability - Dota Bot 的团队对决

我有一个 Ghost++ 机器人,它托管 DotA 游戏(一张 5 人对 5 人玩的魔兽争霸 3 地图)。我正在尝试根据他们的记录提出好的公式来平衡参加比赛的球员(我有几千场比赛的比赛历史)。我熟悉匹配玩家所需的一些概念,例如基于他们玩过的游戏数量的样本大小的信心、参数近似和自由度。因此丢弃任何对 r^2 贡献不足的变量。我的机器人从每个游戏中为每个玩家收集不少变量:

快速解释:

杀戮/死亡并不能决定谁赢,但从中获得和失去的金币通常足以让比赛倾斜。击杀塔/拉克斯是游戏的目标(一旦团队失去所有塔/拉克斯,他们的王座就会被攻击,如果被摧毁,他们就输了),但我并不认为这些很重要,因为谁获得塔杀的功劳是非常随机的。如果你摧毁了一座塔,很可能只是因为其他玩家表现出色并分散了地图上其他地方的其他球队的注意力。

当我试图处理一个团队中有 5 名球员的事实时,我有点困惑,所以最终每个人都不会对球队获胜与否负责。

拿一个真正擅长杀戮的玩家来说,40杀只有10死,但在他的5场比赛中他只赢过一次。尽管输了,我是否应该给他如此高的杀戮分数额外的功劳(输了时,很难保持正的杀戮/死亡比)?或者我应该假设他输了,尽管杀戮/死亡比不错,但他可能以一种非常贪婪的方式打球,只为自己着想,而不是帮助他的球队?

最终,我认为我不必猜测这样的问题,因为我有这么多数据。但我真的不知道如何查看数据来回答这样的问题。谁能帮我想出公式来帮助团队平衡和预测结果?

谢谢,丹

0 投票
3 回答
350 浏览

algorithm - 有效估计大列表中唯一元素的数量

这个问题与水库采样解决的问题有点相似,但又不一样。我认为这也是一个相当有趣的问题。

我有一个大型数据集(通常有数亿个元素),我想估计这个数据集中唯一元素的数量。在一个典型的数据集中,可能有从几个到数百万个独特元素的任何地方。

当然,显而易见的解决方案是维护您遇到的元素的运行哈希集,并在最后对它们进行计数,这将产生准确的结果,但是当我扫描数据集(即到目前为止遇到的所有独特元素)。

不幸的是,在我的情况下,这需要比我可用的 RAM 更多的 RAM(数据集可能远大于可用 RAM)。

我想知道是否有一种统计方法可以让我对数据集进行一次遍历并在最后得出估计的唯一元素计数,同时在我扫描时保持相对少量的状态数据集。

该算法的输入将是数据集(Java 术语中的迭代器),它将返回估计的唯一对象计数(可能是浮点数)。假设可以对这些对象进行哈希处理(即,如果您愿意,可以将它们放入 HashSet 中)。通常它们是字符串或数字。

0 投票
7 回答
10424 浏览

algorithm - 使用有偏随机数生成器

您有一个有偏差的随机数生成器,它以概率 p 生成 1,以概率 (1-p) 生成 0。你不知道 p 的值。使用它可以生成一个无偏随机数生成器,它以 0.5 的概率生成 1,以 0.5 的概率生成 0。

注意:这个问题是 Cormen,Leiserson,Rivest,Stein 的算法介绍中的一个练习问题。(clrs)

0 投票
3 回答
1917 浏览

algorithm - 数据集中的组检测

假设一组数据点,例如此处绘制的数据点(此图并非针对我的问题,仅用作合适的示例):

从视觉上检查散点图,很明显数据点形成了两个“组”,其中一些随机点显然不属于任何一个。

我正在寻找一种算法,它可以让我:

  • 从两个或多个维度的数据集开始。
  • 在事先不知道可能存在多少(或如果有)的情况下从数据集中检测此类组
  • 一旦检测到组,“询问”组的模型,如果一个新的样本点似乎适合任何组
0 投票
3 回答
612 浏览

python - 为什么我在 Python 中使用 random.shuffle 得到重复?

对于 10 个整数的列表,有 10 个!可能的顺序或排列。为什么 random.shuffle 仅在 5000 次尝试后给出重复项?

编辑:FWIW,如果一对没有两个相同的概率是:p =(10! - 1)/ 10!组合数为:C = 5000!/4998!* 2!= 5000 * 4999 / 2 那么重复的概率是:

0 投票
3 回答
5016 浏览

c++ - 如何从 C++ 中的二元正态分布和学生 T 分布生成随机样本?

从二元正态分布和学生 T 分布生成随机样本的最佳方法是什么?在这两种情况下,sigma 都是 1,意味着 0 - 所以我真正感兴趣的唯一参数是相关性(以及学生 t 的自由度)。我需要 C++ 中的解决方案,所以很遗憾我不能使用 MatLab 或 Mathematica 中已经实现的函数。

0 投票
14 回答
38511 浏览

algorithm - 从元素具有权重的列表中选择 k 个随机元素

没有任何权重(等概率)的选择在这里得到了很好的描述。

我想知道是否有办法将这种方法转换为加权方法。

我也对其他方法感兴趣。

更新:无需更换的采样