银行柜员的重新模拟

时间:2011-09-26 12:32:57

标签: algorithm

  

我们有一个系统,例如银行,客户到达并等待   直到有一个k柜员可用。客户到达受到管辖   通过概率分布函数,以及服务时间(   一旦出纳员可以服务的时间量)。我们是   对统计数据感兴趣,例如客户平均需要多长时间   等待或线路可能有多长。

     

我们可以使用概率函数来生成输入流   包括有序的一对到达时间和每个服务时间   客户,按到货时间排序。我们不需要使用确切的时间   一天相反,我们可以使用量子单位,我们将其称为   打勾。

     

进行此模拟的一种方法是将模拟时钟设置为零   蜱。然后我们一次将时钟提前一个,检查一下   如果有事件。如果有,那么我们处理事件和   编译统计。当输入中没有客户时   流和所有出纳员都是免费的,然后模拟就结束了。

     

此模拟策略的问题在于其运行时间   不依赖于客户或事件的数量(有两个   每个客户的事件),但取决于滴答的数量,   这不是输入的一部分。要知道为什么这很重要,   假设我们将时钟单位更改为milliticks并将其全部乘以   输入的时间为1,000。结果将是   模拟需要1000倍的时间!

我在上面的文字中的问题是作者如何在最后一段中提到作者的意思是“假设我们将时钟单位更改为毫安,并将输入中的所有时间乘以1,000。结果将是模拟将需要1,000时间更长!“ ?

谢谢!

3 个答案:

答案 0 :(得分:0)

因为如果蜱的数量乘以1000,则按每个蜱进行检查,那么检查的次数会增加1000倍。

答案 1 :(得分:0)

使用此算法,我们必须检查每个滴答。更多的滴答声我们执行的检查越多。例如,如果第一个客户到达第3个刻度,那么我们必须进行2次不必要的检查。但如果我们检查每一个毫米,那么我们将不得不做2999次不必要的检查。

答案 2 :(得分:0)

想象一下,您设置了一个警报,以便您每小时执行一项任务,例如检查您的电子邮件。这意味着假设您没有睡觉,您将在一天内检查您的电子邮件24次。如果您决定更改此闹钟以使其每分钟都关闭,您现在每天都会检查您的电子邮件24*60 = 1440次,其中24是您之前检查过的次数,60是分钟数。一小时。

这正是上面模拟中发生的情况,除了每次闹钟响起时都执行某些操作,您只需尽快完成所有1440次电子邮件检查。