ししおう

4t獅子王チャレンジ成功率


を,シミュレーションで確かめました。

構築はこれに準拠しました。

すなわち,多色26枚,単色(獅子王ではない)10枚,獅子王4枚です。


今回紹介する内容では,1t目時点で多色が引けているのか,2t目時点でも2枚目が引けているのかなどのターン経過を考慮して計算できました。


成功確率って,4t目の時点で

①(多色3枚以上)かつ(獅子王以外の単色1枚以上)かつ(獅子王1枚以上)揃う

または

②(多色3枚以上)かつ(獅子王以外の単色0枚)かつ(獅子王2枚以上)揃う

確率だと思うのでその様に計算してます。


###################
###獅子王の遺跡のやつ
###################

### n:試行回数;  k1:多色(26枚);k2:獅子王以外の単色(10枚);k3:獅子王(4枚)
res<-function(n,a,k1,k2,k3){
result<-0
for(i in 1:n){

#引くことができたキーカードの枚数をそれぞれfactor1~3とする
factor1 <- 0;factor2 <- 0;factor3 <- 0

#data1はデッキ,data2は手札
data1 <- c(1:40)
data2 <- c(sample(data1,a))
data1[data2] <- NA
data1 <- na.omit(data1)

#引けた多色の枚数を定義
factor1 <- sum(data2 >= 1 & data2 <= k1)


##多色引けてれば成功。1枚ランダムに追加
if(factor1>=1){data2 <- c(data2,sample(data1,1))
data1[data2]<-NA
data1<-na.omit(data1)

#data2が1枚増えたのでもう一度factor1を定義
factor1 <- sum(data2>=1&data2<=k1)


#さらに1枚多色引けていれば成功。1枚ランダムに追加
if(factor1 >= 2){data2<-c(data2,sample(data1,1))
data1[data2]<-NA
data1<-na.omit(data1)

#data2が1枚増えたのでもう一度factor1を定義
factor1 <- sum(data2>=1&data2<=k1)


#さらに1枚多色引けていれば成功。1枚ランダムに追加
if(factor1 >= 3){data2<-c(data2,sample(data1,1))
data1[data2]<-NA
data1<-na.omit(data1)

#data2が1枚増えたのでfactor1~factor3を定義
factor1 <- sum(data2>=1&data2<=k1)
factor2 <- sum(data2>=k1+1&data2<=k1+k2)
factor3 <- sum(data2>=k1+k2+1&data2<=k1+k2+k3)

#山札のトップをサンプル
top <- sample(data1,1)


if(((factor2>=1)&&(factor3>=1)&&(top>=1&top<=k1))||((factor2<=0)&&(factor3>=2)&&(top>=1&top<=k1))){
result <- result+1
}
}
}
}
}
return(result/n)
}

res(1000000,5,26,10,4)
[1] 0.351833

35%くらいっぽいです。

間違い等あれば教えてください。




(数%まで正確に求めることに価値があるのかは謎)

この記事が気に入ったらサポートをしてみませんか?