Datetime 如何计算碰撞的预期频率

Datetime 如何计算碰撞的预期频率,datetime,math,statistics,collision,Datetime,Math,Statistics,Collision,受此启发,询问者假设系统的用户很少会在彼此完全相同的时间采取某些行动 根据我所知道的做出这样的假设,我可以保证用户实际上会同时做事情。然而,我不知道你将如何计算预期的碰撞频率 例如,如果我们假设每个用户每3分钟进行一次操作,而我们的计时器实际上只精确到毫秒,那么计算碰撞频率的公式是什么 给定维基百科的生日条目,问题可以归纳为公式 其中d为180000毫秒,p为碰撞概率 因此,假设有3个用户,我们得到在任何给定的3分钟内发生碰撞的概率为2.4996E-05 接下来的问题是白天发生碰撞的可能性有多大

受此启发,询问者假设系统的用户很少会在彼此完全相同的时间采取某些行动

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

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

给定维基百科的生日条目,问题可以归纳为公式 其中d为180000毫秒,p为碰撞概率

因此,假设有3个用户,我们得到在任何给定的3分钟内发生碰撞的概率为2.4996E-05

接下来的问题是白天发生碰撞的可能性有多大?
在工作日内有60-*60*8/3=9600个3分钟周期,则在任何给定日期发生碰撞的概率为1-1-2.4996E-05^9600=21%。这个问题的关键是知道事件在某个时间间隔内发生的概率,以及知道事件需要多长时间才能完成。然后,两者的概率将是第二个事件在第一个事件期间发生的概率,以第一个事件的概率为条件


一般来说,你可以根据这个问题来计算。

这个问题的关键是知道事件在某个时间间隔内发生的概率,以及知道事件需要多长时间才能完成。然后,两者的概率将是第二个事件在第一个事件期间发生的概率,以第一个事件的概率为条件


现在,您可以根据。

3分钟=180秒=180000秒来计算。以毫秒为单位调用此M

你有多少用户?假设有N

在3分钟的时间内,用户1吞噬了一毫秒——180000免费,180000可能——这就是180000/180000=1次成功的机会

下一个家伙:179999/180000有机会得到一个好位置。 下一个家伙:179998/180000有机会得到一个好位置

所有这些的可能性都很小

 180000 * 179999 * 179998 . . .
--------------------------------
 180000 * 180000 * 180000 . . .
简言之:

 N! / ((N^N)*(N-M)!)

3分钟=180秒=180000。以毫秒为单位调用此M

你有多少用户?假设有N

在3分钟的时间内,用户1吞噬了一毫秒——180000免费,180000可能——这就是180000/180000=1次成功的机会

下一个家伙:179999/180000有机会得到一个好位置。 下一个家伙:179998/180000有机会得到一个好位置

所有这些的可能性都很小

 180000 * 179999 * 179998 . . .
--------------------------------
 180000 * 180000 * 180000 . . .
简言之:

 N! / ((N^N)*(N-M)!)

CollisionFreqPercent=AccuracySecs/ActionDelaySecs/ConcurrentUsers*100

例如:

1个用户=0.001/3*60/1*100=在任何给定时间发生碰撞的概率为0.00055%


1000个用户=0.001/3*60/1000*100=0.55%在任何给定时间发生碰撞的概率

CollisionFrequency=AccuracySecs/ActionDelaySecs/ConcurrentUsers*100

例如:

1个用户=0.001/3*60/1*100=在任何给定时间发生碰撞的概率为0.00055%


1000个用户=0.001/3*60/1000*100=在任何给定时间发生碰撞的概率为0.55%

在3分钟内,您将有180000毫秒。如果您知道用户的数量,可以使用的概率来确定碰撞的几率


还要考虑到你的计时器可能不精确到毫秒,即使它可能是以毫秒为单位测量的。许多计时器是基于每秒运行不到1000次的滴答声。在3分钟内,您将有180000毫秒。如果您知道用户的数量,可以使用的概率来确定碰撞的几率


还要考虑到你的计时器可能不精确到毫秒,即使它可能是以毫秒为单位测量的。许多计时器都基于每秒运行不到1000次的刻度。

要获取碰撞频率,只需获取1毫秒间隔内发生碰撞的概率,然后放大到您喜欢的任何间隔,例如乘以1000即可获得每秒的碰撞

要获得该概率,请获得1ms时间间隔内无碰撞的概率?这是在该时间间隔内操作的用户数为1或0的概率

如果有n个用户,并且特定用户在时间间隔内行动的概率为p,则

P0=1-pn=1-np+nn-1p2/2-。。。 P1=np1-pn-1=np-nn-1p2+。。。 P0或1=1-nn-1p2/2+。。。 p大于1=nn-1p2/2+

现在插入一些数字:每3分钟一次,p=1.8x10-5,因此碰撞概率约为

nn-13.24x10-10

如果我的计算是正确的
如果有100个用户,大约每10分钟会发生一次碰撞。

要获得碰撞频率,只需获得1毫秒间隔内发生碰撞的概率,然后放大到您喜欢的任何间隔,例如乘以1000即可获得每秒的碰撞

要获得该概率,请获得1ms时间间隔内无碰撞的概率?这是在该时间间隔内操作的用户数为1或0的概率

如果有n个用户,并且特定用户在时间间隔内行动的概率为p,则

P0=1-pn=1-np+nn-1p2/2-。。。 P1=np1-pn-1=np-nn-1p2+。。。 P0或1=1-nn-1p2/2+。。。 p大于1=nn-1p2/2+

现在插入一些数字:每3分钟一次,p=1.8x10-5,因此碰撞概率约为

nn-13.24x10-10


因此,如果我的计算是正确的,如果您有100个用户,那么大约每十分钟会发生一次碰撞。

如果示例中的间隔为3分钟,持续时间为1毫秒,那么具体如何计算?特别是,当给定X个具有上述行为的用户时,您如何创建公式?如果示例中的间隔为3分钟,持续时间为1毫秒,您如何具体计算?特别是,当X个用户有上述行为时,你如何创建一个公式?试一试——你要求的是一个公式,这实际上与编程无关。或者,你认为这与编程无关的事实有点令人沮丧。事实上,你的观点被广泛接受是如此多的系统存在这样的性能问题的原因之一。试试看——你是在问一个公式,这与编程无关。或者,你认为这与编程无关的事实有点令人沮丧。您的观点得到广泛认同是许多系统存在此类性能问题的原因之一。最好检查第一行。方程式中的1ms值属性在哪里?在生成M值时计算。不确定如何计算N-M!当N-M可能是一个较大的负数时。最好检查第一行。方程式中的1ms值属性在哪里?在生成M值时计算。不确定如何计算N-M!当N-M很可能是一个大的负数时。仅适用于单个毫秒。适用于已知宇宙的单个“量子”;“现在”这个词的真正含义。ε秒。远小于1毫秒。仅适用于单个毫秒。适用于已知宇宙的单个“量子”;“现在”这个词的真正含义。ε秒。但远小于1毫秒。