如何计算预期的碰撞频率

受这个问题的启发,提问者认为系统的用户很少会在彼此完全相同的时间采取某些行动。 鉴于我所知道的做出类似的假设,我可以保证用户可以在同一时间做事。但是,我对如何实际计算预期的碰撞频率感到茫然。 例如。如果我们假设每个用户每3分钟采取一次动作并且我们的计时器实际上只精确到毫秒,那么计算碰撞频率的公式是什么? 鉴于维基百科条目中的生日问题可以概括为公式 其中d是180,000毫秒,p是碰撞的概率。 所以有3位用户说,我们在任何给定的3分钟内得到2.4996E-05的概率,即发生碰撞。 那么这个问题就变成了白天碰撞的可能性? 在工作日中有60- * 60 * 8/3 = 9600 3分钟的时段,在任何给定的日期中发生碰撞的概率为1 - ((1-2.4996E-05)^ 9600)= 21%。梨形状很好的机会。     
已邀请:
在3分钟内,您将有180000毫秒。如果您知道用户数,则可以使用生日悖论的概率来确定碰撞的几率。 也要考虑你的计时器可能不精确到毫秒,即使它可能以毫秒为单位进行测量。许多计时器基于每秒运行少于1000次的刻度。     
3分钟= 180秒= 180000.将此M称为毫秒。 你有多少用户?让我们说有N. 在3分钟的时间内,用户1吞噬了一毫秒 - 一个180000免费,18万可能 - 这是180000/180000 = 1成功的机会。 接下来的家伙:179999/180000获得一个好位置的机会。 接下来的家伙:179998/180000获得一个好位置的机会。 所有这些的机会是
 180000 * 179999 * 179998 . . .
--------------------------------
 180000 * 180000 * 180000 . . .
简而言之:
 N! / ((N^N)*(N-M)!)
    
要获得碰撞频率,只需获得1 mS间隔内发生碰撞的概率,然后按比例缩放到您喜欢的任何间隔(例如,乘以1000以获得每秒碰撞)。 要获得该概率,在1 mS时间间隔内获得无碰撞的概率?这是在该间隔期间作用的用户数为1或0的概率。 如果有
n
个用户,并且特定用户在该时间间隔内行动的概率是
p
,那么 P(0)=(1-p)n = 1 - np + n(n-1)p2 / 2 - ...... P(1)= np(1-p)n-1 = np -n(n-1)p2 + ... P(0或1)= 1 - n(n-1)p2 / 2 + ...... P(大于1)= n(n-1)p2 / 2 + ...... 现在插入一些数字:每3分钟一次给出p = 1.8x10-5,所以碰撞的概率大约是 N(N-1)(3.24x10-10) 因此,如果我的计算是正确的,如果您有100个用户,则每十分钟就会发生大约一次碰撞。     
这个问题的关键是知道事件发生在一个区间内的概率,并知道事件需要多长时间才能完成。然后,两者的概率将是第一事件持续期间发生的第二事件的概率,以第一事件的概率为条件。 现在,您可以根据贝叶斯规则计算出这一点。     
CollisionFreqPercent =(AccuracySecs /(ActionDelaySecs / ConcurrentUsers))* 100; 例如: 1个用户=(0.001 /((3 * 60)/ 1))* 100 = 0.00055%在任何给定时间发生碰撞的几率 1000个用户=(0.001 /((3 * 60)/ 1000))* 100 =在任何给定时间碰撞的概率为0.55%     

要回复问题请先登录注册