আমি মনে করি আপনার সাধারণ অ্যালগরিদম কার্ডগুলি সঠিকভাবে বদলাবে কারণ সংখ্যার শাফলগুলি অসীমের দিকে ঝুঁকছে।
ধরুন আপনার কাছে তিনটি কার্ড রয়েছে: {এ, বি, সি} ধরে নিন যে আপনার কার্ডগুলি নিম্নলিখিত ক্রমে শুরু হয়: A, B, C। তারপরে একটি বদলে যাওয়ার পরে আপনার নিম্নলিখিত সংমিশ্রণগুলি রয়েছে:
{A,B,C}, {A,B,C}, {A,B,C} #You get this if choose the same RN twice.
{A,C,B}, {A,C,B}
{C,B,A}, {C,B,A}
{B,A,C}, {B,A,C}
সুতরাং, কার্ড এ এর অবস্থানের সম্ভাবনা {1,2,3} position 5/9, 2/9, 2/9}}
যদি আমরা কার্ডগুলি দ্বিতীয়বার বদলে ফেলি, তবে:
Pr(A in position 1 after 2 shuffles) = 5/9*Pr(A in position 1 after 1 shuffle)
+ 2/9*Pr(A in position 2 after 1 shuffle)
+ 2/9*Pr(A in position 3 after 1 shuffle)
এটি 0.407 দেয়।
একই ধারণাটি ব্যবহার করে আমরা পুনরাবৃত্তি সম্পর্ক তৈরি করতে পারি, অর্থাত:
Pr(A in position 1 after n shuffles) = 5/9*Pr(A in position 1 after (n-1) shuffles)
+ 2/9*Pr(A in position 2 after (n-1) shuffles)
+ 2/9*Pr(A in position 3 after (n-1) shuffles).
আর এ কোডিং (নীচের কোডটি দেখুন), দশটি শ্যাফেলের পরে কার্ড এ এর অবস্থানের সম্ভাবনা দেয়, 1,2,3 {0.33334, 0.33333, 0.33333} হিসাবে। 0.33334 0.3
আর কোড
## m is the probability matrix of card position
## Row is position
## Col is card A, B, C
m = matrix(0, nrow=3, ncol=3)
m[1,1] = 1; m[2,2] = 1; m[3,3] = 1
## Transition matrix
m_trans = matrix(2/9, nrow=3, ncol=3)
m_trans[1,1] = 5/9; m_trans[2,2] = 5/9; m_trans[3,3] = 5/9
for(i in 1:10){
old_m = m
m[1,1] = sum(m_trans[,1]*old_m[,1])
m[2,1] = sum(m_trans[,2]*old_m[,1])
m[3,1] = sum(m_trans[,3]*old_m[,1])
m[1,2] = sum(m_trans[,1]*old_m[,2])
m[2,2] = sum(m_trans[,2]*old_m[,2])
m[3,2] = sum(m_trans[,3]*old_m[,2])
m[1,3] = sum(m_trans[,1]*old_m[,3])
m[2,3] = sum(m_trans[,2]*old_m[,3])
m[3,3] = sum(m_trans[,3]*old_m[,3])
}
m