दिलीप सरवटे द्वारा वर्णित मामले को सामान्य बनाना
अन्य उत्तरों में वर्णित कुछ विधियाँ एक ऐसी योजना का उपयोग करती हैं जिसमें आप n सिक्कों के अनुक्रम को 'टर्न' में फेंक देते हैं और परिणाम के आधार पर आप 1 या 7 के बीच की संख्या चुनते हैं और टर्न को त्याग देते हैं और फिर से फेंक देते हैं।
चाल संभावनाओं के विस्तार में खोजने के लिए एक ही संभावना pk(1−p)n−k साथ 7 परिणामों के एक से अधिक है और एक दूसरे के खिलाफ उन मेल खाता है।
क्योंकि परिणामों की कुल संख्या 7 से अधिक नहीं है, हमारे पास कुछ परिणाम हैं जो हम किसी संख्या को निर्दिष्ट नहीं कर सकते हैं, और कुछ संभावना है कि हमें परिणामों को त्यागने और शुरू करने की आवश्यकता है।
7 सिक्का फ्लिप्स प्रति मोड़ का उपयोग करने का मामला
सहज रूप से हम कह सकते हैं कि पासा को सात बार रोल करना बहुत दिलचस्प होगा। चूंकि हमें केवल 27 संभावनाओं में से 2 को बाहर फेंकने की आवश्यकता है । अर्थात्, 7 बार सिर और 0 बार सिर।
अन्य सभी 27−2 संभावनाओं के लिए हमेशा एक ही संख्या के 7 मामलों की एक संख्या होती है। 1 सिर के साथ 7 मामले, 2 सिर वाले 21 मामले, 3 सिर वाले 35 मामले, 4 सिर वाले 35 मामले, 5 सिर वाले 21 मामले और 6 सिर वाले 7 मामले।
इसलिए यदि आप संख्या की गणना करते हैं (0 सिर और 7 सिर को छोड़कर) X=∑k=17(k−1)⋅Ck
Ck साथ बर्नौली ने चर (मान 0 या 1) वितरित किया, तो X modulo 7 सात संभावित परिणामों के साथ एक समान चर है।
सिक्के के विभिन्न संख्याओं की तुलना प्रति मोड़ से होती है
सवाल बना हुआ है कि प्रति बारी रोल की इष्टतम संख्या क्या होगी। प्रति बार अधिक डिस को रोल करने से आपकी लागत अधिक हो जाती है, लेकिन आप फिर से रोल करने की संभावना कम कर देते हैं।
नीचे दी गई छवि पहले कुछ संख्याओं के लिए एक मैनुअल संगणना दिखाती है, जो प्रति बार पलटती है। (संभवत: एक विश्लेषणात्मक समाधान हो सकता है, लेकिन मेरा मानना है कि यह कहना सुरक्षित है कि 7 सिक्का फ़्लिप वाला एक सिस्टम सिक्का फ़्लिप की आवश्यक संख्या के लिए अपेक्षित मूल्य के बारे में सबसे अच्छा तरीका प्रदान करता है)
# plot an empty canvas
plot(-100,-100,
xlab="flips per turn",
ylab="E(total flips)",
ylim=c(7,400),xlim=c(0,20),log="y")
title("expectation value for total number of coin flips
(number of turns times flips per turn)")
# loop 1
# different values p from fair to very unfair
# since this is symmetric only from 0 to 0.5 is necessary
# loop 2
# different values for number of flips per turn
# we can only use a multiple of 7 to assign
# so the modulus will have to be discarded
# from this we can calculate the probability that the turn succeeds
# the expected number of flips is
# the flips per turn
# divided by
# the probability for the turn to succeed
for (p in c(0.5,0.2,0.1,0.05)) {
Ecoins <- rep(0,16)
for (dr in (5:20)){
Pdiscards = 0
for (i in c(0:dr)) {
Pdiscards = Pdiscards + p^(i)*(1-p)^(dr-i) * (choose(dr,i) %% 7)
}
Ecoins[dr-4] = dr/(1-Pdiscards)
}
lines(5:20, Ecoins)
points(5:20, Ecoins, pch=21, col="black", bg="white", cex=0.5)
text(5, Ecoins[1], paste0("p = ",p), pos=2)
}
एक प्रारंभिक रोक नियम का उपयोग करना
नोट: नीचे की गणना, फ़्लिप की संख्या के प्रत्याशित मूल्य के लिए, एक उचित सिक्का p=0.5 , यह अलग-अलग p लिए ऐसा करने के लिए गड़बड़ हो जाएगा , लेकिन सिद्धांत एक ही रहता है (हालांकि अलग-अलग किताबों को रखने वाला) मामलों की जरूरत है)
हमें मामलों को चुनने में सक्षम होना चाहिए ( X के लिए सूत्र के बजाय ) जैसे कि हम पहले रोक सकते हैं।
5 सिक्का फ़्लिप के साथ हमारे पास सिर और पूंछ के छह संभावित अलग-अलग असंक्रमित सेट हैं:
1 + 5 + 10 + 10 + 5 + 1 आदेश दिया सेट
और हम एक संख्या चुनने के लिए दस मामलों के साथ समूहों का उपयोग कर सकते हैं (जो कि 2 सिर या 2 पूंछ वाले समूह के साथ समूह है) (समान संभावना के साथ)। यह 2 ^ 5 = 32 मामलों में से 14 में होता है। यह हमें छोड़ देता है:
1 + 5 + 3 + 3 + 5 + 1 आदेश दिया सेट
एक अतिरिक्त (6-वें) सिक्के के फ्लिप के साथ हमारे पास सिर और पूंछ के सात संभावित अलग-अलग अनियंत्रित सेट हैं:
1 + 6 + 8 + 6 + 8 + 6 + 1 का आदेश दिया सेट
और हम एक संख्या चुनने के लिए आठ मामलों के साथ समूहों का उपयोग कर सकते हैं (जो कि 3 प्रमुखों या 3 पूंछ वाले समूह के साथ समूह है) (समान संभावना के साथ)। यह 2 में से 14 * (2 ^ 5-14) = 36 मामलों में होता है। यह हमें छोड़ देता है:
1 + 6 + 1 + 6 + 1 + 6 + 1 आदेश दिया सेट
एक और (7-वें) अतिरिक्त सिक्का फ्लिप के साथ हमारे पास सिर और पूंछ के आठ संभावित अलग-अलग अनियंत्रित सेट हैं:
1 + 7 + 7 + 7 + 7 + 7 + 7 + 1 आदेश दिया सेट
और हम एक संख्या चुनने के लिए सात मामलों (सभी पूंछ और सभी प्रमुख मामलों को छोड़कर) के साथ समूहों का उपयोग कर सकते हैं। यह 44 में से 42 मामलों में होता है। यह हमें छोड़ देता है:
1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 आदेश दिया सेट
(हम इसे जारी रख सकते हैं लेकिन केवल 49-वें चरण में यह हमें एक फायदा देता है)
तो एक नंबर का चयन करने की संभावना
- 5 फ्लिप्स में 1432=716
- 6 फ़्लिप में 9161436=732
- 7 फ़्लिप में 11324244=231704
- 7 फ़्लिप में नहीं 1−716−732−231704=227
यह एक बारी में सशर्त की संख्या के लिए उम्मीद का मूल्य बनाता है, सशर्त है कि सफलता और p = 0.5 है:
5⋅716+6⋅732+7⋅231704=5.796875
फ़्लिप की कुल संख्या के लिए उम्मीद का मूल्य (जब तक कि कोई सफलता नहीं है), सशर्त है कि p = 0.5, बन जाता है:
( 5 ⋅ 716+ 6 ⋅ 732+ 7 ⋅ 231704) २727- २= 539= 5.88889
NcAdams द्वारा उत्तर में इस रोक-नियम रणनीति की भिन्नता का उपयोग किया गया है (प्रत्येक बार दो नए सिक्के फ़्लिप के साथ आते हैं), लेकिन सभी फ़्लिप को बेहतर ढंग से चुनना नहीं है।
क्लिड द्वारा इसका उत्तर भी समान हो सकता है, हालांकि एक असमान चयन नियम भी हो सकता है कि प्रत्येक दो सिक्के के एक नंबर को फ़्लिप किया जा सकता है, लेकिन समान संभावना के साथ जरूरी नहीं है (एक विसंगति जिसे बाद में सिक्का फ़्लिप के दौरान मरम्मत किया जा रहा है)
अन्य तरीकों से तुलना
समान सिद्धांत का उपयोग करने वाले अन्य तरीके NcAdams और AdamO द्वारा एक हैं।
सिद्धांत यह है : 1 और 7 के बीच की संख्या के लिए एक निर्णय एक निश्चित संख्या में सिर और पूंछ के बाद किया जाता है। एक के बाद एक्स flips की संख्या, प्रत्येक निर्णय है कि एक नंबर की ओर जाता है के लिए मैं वहां भी इसी तरह, समान रूप से संभावित, निर्णय है कि एक नंबर की ओर जाता है है जे (हेड्स और टेल्स लेकिन सिर्फ एक अलग क्रम में एक ही नंबर)। सिर और पूंछ की कुछ श्रृंखला शुरू करने का निर्णय ले सकती है।
इस तरह के तरीकों के लिए यहां रखा गया सबसे अधिक कुशल है क्योंकि यह निर्णय जितनी जल्दी हो सके करता है (जैसे ही सिर और पूंछ के 7 बराबर संभावना अनुक्रमों के लिए एक संभावना है, एक्स -फ्लिप फ्लिप के बाद , हम इसका उपयोग कर सकते हैं उन्हें एक संख्या पर निर्णय लेने के लिए और हमें उन मामलों में से एक का सामना करने पर आगे फ्लिप करने की आवश्यकता नहीं है)।
यह नीचे दी गई छवि और सिमुलेशन द्वारा दिखाया गया है:
#### mathematical part #####
set.seed(1)
#plotting this method
p <- seq(0.001,0.999,0.001)
tot <- (5*7*(p^2*(1-p)^3+p^3*(1-p)^2)+
6*7*(p^2*(1-p)^4+p^4*(1-p)^2)+
7*7*(p^1*(1-p)^6+p^2*(1-p)^5+p^3*(1-p)^4+p^4*(1-p)^3+p^5*(1-p)^2+p^6*(1-p)^1)+
7*1*(0+p^7+(1-p)^7) )/
(1-p^7-(1-p)^7)
plot(p,tot,type="l",log="y",
xlab="p",
ylab="expactation value number of flips"
)
#plotting method by AdamO
tot <- (7*(p^20-20*p^19+189*p^18-1121*p^17+4674*p^16-14536*p^15+34900*p^14-66014*p^13+99426*p^12-119573*p^11+114257*p^10-85514*p^9+48750*p^8-20100*p^7+5400*p^6-720*p^5)+6*
(-7*p^21+140*p^20-1323*p^19+7847*p^18-32718*p^17+101752*p^16-244307*p^15+462196*p^14-696612*p^13+839468*p^12-806260*p^11+610617*p^10-357343*p^9+156100*p^8-47950*p^7+9240*p^6-840*p^5)+5*
(21*p^22-420*p^21+3969*p^20-23541*p^19+98154*p^18-305277*p^17+733257*p^16-1389066*p^15+2100987*p^14-2552529*p^13+2493624*p^12-1952475*p^11+1215900*p^10-594216*p^9+222600*p^8-61068*p^7+11088*p^6-1008*p^5)+4*(-
35*p^23+700*p^22-6615*p^21+39235*p^20-163625*p^19+509425*p^18-1227345*p^17+2341955*p^16-3595725*p^15+4493195*p^14-4609675*p^13+3907820*p^12-2745610*p^11+1592640*p^10-750855*p^9+278250*p^8-76335*p^7+13860*p^6-
1260*p^5)+3*(35*p^24-700*p^23+6615*p^22-39270*p^21+164325*p^20-515935*p^19+1264725*p^18-2490320*p^17+4027555*p^16-5447470*p^15+6245645*p^14-6113275*p^13+5102720*p^12-3597370*p^11+2105880*p^10-999180*p^9+371000
*p^8-101780*p^7+18480*p^6-1680*p^5)+2*(-21*p^25+420*p^24-3990*p^23+24024*p^22-103362*p^21+340221*p^20-896679*p^19+1954827*p^18-3604755*p^17+5695179*p^16-7742301*p^15+9038379*p^14-9009357*p^13+7608720*p^12-
5390385*p^11+3158820*p^10-1498770*p^9+556500*p^8-152670*p^7+27720*p^6-2520*p^5))/(7*p^27-147*p^26+1505*p^25-10073*p^24+49777*p^23-193781*p^22+616532*p^21-1636082*p^20+3660762*p^19-6946380*p^18+11213888*p^17-
15426950*p^16+18087244*p^15-18037012*p^14+15224160*p^13-10781610*p^12+6317640*p^11-2997540*p^10+1113000*p^9-305340*p^8+55440*p^7-5040*p^6)
lines(p,tot,col=2,lty=2)
#plotting method by NcAdam
lines(p,3*8/7/(p*(1-p)),col=3,lty=2)
legend(0.2,500,
c("this method calculation","AdamO","NcAdams","this method simulation"),
lty=c(1,2,2,0),pch=c(NA,NA,NA,1),col=c(1,2,3,1))
##### simulation part ######
#creating decision table
mat<-matrix(as.numeric(intToBits(c(0:(2^5-1)))),2^5,byrow=1)[,c(1:12)]
colnames(mat) <- c("b1","b2","b3","b4","b5","b6","b7","sum5","sum6","sum7","decision","exit")
# first 5 rolls
mat[,8] <- sapply(c(1:2^5), FUN = function(x) {sum(mat[x,1:5])})
mat[which((mat[,8]==2)&(mat[,11]==0))[1:7],12] = rep(5,7) # we can stop for 7 cases with 2 heads
mat[which((mat[,8]==2)&(mat[,11]==0))[1:7],11] = c(1:7)
mat[which((mat[,8]==3)&(mat[,11]==0))[1:7],12] = rep(5,7) # we can stop for 7 cases with 3 heads
mat[which((mat[,8]==3)&(mat[,11]==0))[1:7],11] = c(1:7)
# extra 6th roll
mat <- rbind(mat,mat)
mat[c(33:64),6] <- rep(1,32)
mat[,9] <- sapply(c(1:2^6), FUN = function(x) {sum(mat[x,1:6])})
mat[which((mat[,9]==2)&(mat[,11]==0))[1:7],12] = rep(6,7) # we can stop for 7 cases with 2 heads
mat[which((mat[,9]==2)&(mat[,11]==0))[1:7],11] = c(1:7)
mat[which((mat[,9]==4)&(mat[,11]==0))[1:7],12] = rep(6,7) # we can stop for 7 cases with 4 heads
mat[which((mat[,9]==4)&(mat[,11]==0))[1:7],11] = c(1:7)
# extra 7th roll
mat <- rbind(mat,mat)
mat[c(65:128),7] <- rep(1,64)
mat[,10] <- sapply(c(1:2^7), FUN = function(x) {sum(mat[x,1:7])})
for (i in 1:6) {
mat[which((mat[,10]==i)&(mat[,11]==0))[1:7],12] = rep(7,7) # we can stop for 7 cases with i heads
mat[which((mat[,10]==i)&(mat[,11]==0))[1:7],11] = c(1:7)
}
mat[1,12] = 7 # when we did not have succes we still need to count the 7 coin tosses
mat[2^7,12] = 7
draws = rep(0,100)
num = rep(0,100)
# plotting simulation
for (p in seq(0.05,0.95,0.05)) {
n <- rep(0,1000)
for (i in 1:1000) {
coinflips <- rbinom(7,1,p) # draw seven numbers
I <- mat[,1:7]-matrix(rep(coinflips,2^7),2^7,byrow=1) == rep(0,7) # compare with the table
Imatch = I[,1]*I[,2]*I[,3]*I[,4]*I[,5]*I[,6]*I[,7] # compare with the table
draws[i] <- mat[which(Imatch==1),11] # result which number
num[i] <- mat[which(Imatch==1),12] # result how long it took
}
Nturn <- mean(num) #how many flips we made
Sturn <- (1000-sum(draws==0))/1000 #how many numbers we got (relatively)
points(p,Nturn/Sturn)
}
एक और छवि जिसे बेहतर तुलना के लिए पी * ( 1 - पी ) द्वारा बढ़ाया जाता है :
इस पोस्ट और टिप्पणियों में वर्णित तरीकों की तुलना में ज़ूम करें
'7-वें चरण की सशर्त लंघन' एक मामूली सुधार है जिसे प्रारंभिक रोक नियम पर बनाया जा सकता है। इस मामले में आप 6-वें फ़्लिप के बाद समान संभावनाओं वाले समूहों का चयन नहीं करते हैं। आपके पास समान संभाव्यता वाले 6 समूह हैं, और 1 समूह थोड़े भिन्न संभाव्यता वाले हैं (इस अंतिम समूह के लिए आपको 6 अतिरिक्त या पूंछ वाले एक और अतिरिक्त समय को फ्लिप करना होगा और क्योंकि आप 7 सिर या 7 पूंछों को छोड़ देते हैं, तो आप समाप्त हो जाएंगे सभी के बाद एक ही संभावना के साथ)
StackExchangeStrike द्वारा लिखित