設備備妥率比較

場景

裝甲車聯隊有 2 部特殊設備,即將要舉行實兵對抗,師部僅需 1 部設備參加。聯隊有設備維修紀錄,分析發現維修保養後狀態以下:

設備 A B
機率 正常 異常 正常 異常
正常 0.7 0.3 0.8 0.2
異常 0.5 0.5 0.4 0.6

問題

(1) 此 2 設備在 10 次出勤前,經維修保養後,仍然工作正常之機率如何?
(2) 聯隊派哪一個設備參加實兵對抗較為有利?

解法

library(car)
library(rgl)
library(scatterplot3d)

options(digits=4)

rm(list=ls())

Pn <- function(P, n) {
  ans <- P
  
  if (n > 1) {
    for (i in seq(2, n)) {
      ans <- P %*% ans
    }
  }
  
  ans
}

Stable <- function(P) {
  W <- t(P) - diag(nrow=2, ncol=2)
  W2 <- rbind(W, c(1, 1))
  ans <- solve(W2[2:3, ], c(0, 1))
  
  ans
}

# 設備 A 移轉機率
P.A <- matrix(c(0.7, 0.3, 0.5, 0.5), byrow=TRUE, nrow=2, ncol=2)

# 設備 B 移轉機率
P.B <- matrix(c(0.8, 0.2, 0.4, 0.6), byrow=TRUE, nrow=2, ncol=2)

P0 <- matrix(c(1, 0), byrow=TRUE, nrow=1, ncol=2)

# 設備 A 出勤狀態移轉機率
PA.A <- matrix(0, nrow=10, ncol=2)
colnames(PA.A) <- c('正常率', '異常率')

# 設備 B 出勤狀態移轉機率
PB.A <- matrix(0, nrow=10, ncol=2)
colnames(PA.A) <- c('正常率', '異常率')

# 設備出勤 10 次
for (i in 1:10) {
  ans.A <- P0 %*% Pn(P.A, i)
  PA.A[i,] <- c(ans.A[1], ans.A[2])

  ans.B <- P0 %*% Pn(P.B, i)
  PB.A[i,] <- c(ans.B[1], ans.B[2])
}

ans.A <- Stable(P.A)
ans.B <- Stable(P.B)

print(sprintf(" 正常:%.4f 異常:%.4f", ans.A[1], ans.A[2]))
print(sprintf(" 正常:%.4f 異常:%.4f", ans.B[1], ans.B[2]))
print(sprintf(" 正常:%.4f 異常:%.4f", ans.A[1]-ans.B[1], ans.A[2]-ans.B[2]))

# 繪製設備間正常率比較圖
plot(x=PA.A[,1], y=PB.A[,1], xlab='設備 A', ylab='設備 B', main='設備正常機率關係圖', type='l')
abline(0, 1, col="red")

答案

<設備 A 穩態> 正常:0.6250 異常:0.3750
<設備 B 穩態> 正常:0.6667 異常:0.3333
<設備間穩態差> 正常:-0.0417 異常:0.0417

由 設備間穩態差正常率為負值,及 右圖設備正常率關係線在紅色 45 度線之上可知,
設備 B 比設備 A 較不容易出包。
ċ
Markov-Chain-Machines.R
(1k)
李智,
2013年9月7日 上午7:55