datetime - 如何计算预期碰撞频率

标签 datetime math statistics collision

灵感来自this question ,询问者假设系统的用户很少会在完全相同的时间执行某些操作。

根据我所知道的做出这样的假设,我可以保证用户实际上会同时做一些事情。但是,我不知道如何实际计算预期的碰撞频率。

例如如果我们假设每个用户每 3 分钟执行一次操作,并且我们的计时器实际上只精确到毫秒,那么计算冲突频率的公式是什么?

鉴于生日问题的维基百科条目可以概括为公式 Birthday problem 其中 d 是 180,000 毫秒,p 是碰撞概率。

因此,对于 3 个用户来说,在任何给定的 3 分钟时间内,我们得到的发生冲突的概率为 2.4996E-05。

问题就变成白天发生碰撞的可能性有多大? 工作日中有 60-*60*8/3 = 9600 个 3 分钟时段,则任意一天发生碰撞的概率为 1-((1-2.4996E-05)^9600) = 21%。事情发展成梨形的可能性很大。

最佳答案

3分钟后你将有180000毫秒。如果您知道用户数量,则可以使用 Birthday Paradox 的概率以确定碰撞的可能性。

还要考虑到您的计时器可能不会精确到毫秒,即使它可能以毫秒为单位进行测量。许多计时器基于每秒运行远少于 1000 次的滴答。

关于datetime - 如何计算预期碰撞频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5086623/

相关文章:

python - 在 Python 中计算时间跨度

Java Double 和 Float 数学表现异常

python - scipy.stats.chi2_contingency 生成的 p 值用于独立性测试

java - 用Java计算日期和时间差

c++ - 在 C++ 中格式化带小数秒的日期和时间

javascript - 将包含变量名称的类似数组的字符串解析为数组

math - 给定两个旋转角度和一个速度,如何计算 x、y、z 速度?

statistics - 导出结果

R - 获取因子基础值的模式?

python - 在 Python/Pandas 中确定一天是否是工作日