我的问题:
在实验数学研究所,有一台计算机可以帮助解决问题。
在每小时强度为“Landa”的泊松过程中,到达的问题。
解决每个问题的时间可以看作是参数“mu”的指数分布。
在我们的世界中,我们有四种不同的状态。 S =(0,1,2,3)
状态0 = 0问题已到达计算机
状态1 =计算机正在解决1个问题
状态2 =计算机在队列中解决1个问题+ 1。
状态3 =计算机在队列中解决1个问题+ 2。
如果我们处于状态3时出现问题,则发件人会收到错误消息并稍后再次尝试。该机构已决定最多5%的发件人应收到此错误消息。
要确定谁应该有权访问计算机,我们提出了3种不同的建议。
我们应该调查3个提案中的哪些提案不会超过5%的时间。
我需要帮助的两件事
第一件事: 为了解决这个问题,我已经获得了这种代码结构(下面的代码)。我需要帮助的是,如果有人可以简单地向我解释以下代码段的目的,我写了“#?”。
所以我真正需要帮助的是some1来解释部分代码。
安全的事情: 在两个地方,我写了“...”,我需要帮助填写一些代码。
bd_process <- function(lambda, mu, initial_state = 0, steps = 100) {
time_now <- 0
state_now <- initial_state
time <- 0
state <- initial_state
for (i in 1:steps) {
if (state_now == 3) {
lambda_now <- 0
} else {
lambda_now <- lambda
}
if (state_now == 0) {
mu_now <- 0
} else {
mu_now <- mu
}
#?
time_to_transition <- ...
#?
if (...) {
state_now <- state_now - 1
} else {
state_now <- state_now + 1
}
#?
time_now <- time_now + time_to_transition
#?
time <- c(time, time_now)
#?
state <- c(state, state_now) #WHAT DOE THIS VECTOR CONSIST OF?
}
list(time = time, state = state)
}
答案 0 :(得分:0)
代码似乎是用隐含的假设编写的,即间隔和服务分布是无记忆的,即指数或几何。如果没有无记忆,则通过将速率设置为零来关闭处理是无效的。
使用无记忆属性,您可以将time_to_transition
计算为superposition of the two Poisson processes,并通过与ratio of one of the rates to the combined rate成比例的随机化来确定它是到达还是离开。然后将其中一个费率归零也是有效的,因为当你解除它时,由于无记忆属性,速率为零的经过时间无关紧要。