Home > Probability
Card Shuffle Conclusion (Posted on 2022-05-20) |
|
(I) Three identical packs of cards A, B and C, each being standard 52 card decks, are shuffled thoroughly. One card is picked from A and shuffled with B. Again, one card is picked from B and shuffled with C. Finally, one card is picked from C and shuffled with A.
The top card from A is now turned up and found to be the Jack of Hearts.
Determine the probability that the respective top cards in B and C will be the Queen of Hearts and the King of Hearts (in this order.)
(II) With all the other conditions of the problem remaining the same, suppose:
The top cards from A and B are turned up and are respectively found to be the Jack of Hearts and the Queen of Hearts.
Determine the probability that the top card from C will be the King of Hearts.
computer-aided solution
|
Comment 1 of 1
|
It's necessary to keep track of the possible states of the set of decks and their probabilities. After the first transfer, there are four possibilities, resulting from whether the card transferred was king of hearts, queen of hearts, jack of hearts, or some other card:
1/52 [0, 1, 1, 49] [2, 1, 1, 49] [1, 1, 1, 49] 1/52 [1, 0, 1, 49] [1, 2, 1, 49] [1, 1, 1, 49] 1/52 [1, 1, 0, 49] [1, 1, 2, 49] [1, 1, 1, 49] 49/52 [1, 1, 1, 48] [1, 1, 1, 50] [1, 1, 1, 49] 1
The first line in each group is the probability of the state described below it, after the first transfer. In the 3-line state description, the first row is the state of pack A; the second row that of pack B; and the third row pack C. Each row represents the number of KH, QH, JH, other cards, respectively.
The last line is the sum of the probabilities. It's a check, and indeed produced the expected 1.
The set was produced by
p(1)=sym(1); scen=[1 1 1 49 1 1 1 49 1 1 1 49]; scen=sym(scen); a={scen};
% trans 1: scen0=a{1}; for mover=1:4 scen=scen0; p(mover)=scen(1,mover)/sym(sum(scen(1,:))); scen(1,mover)=scen(1,mover)-1; scen(2,mover)=scen(2,mover)+1; newa{mover}=scen; disp(p(mover)) disp(newa{mover}) end
disp(sum(p))
The program continued by producing a set of states and their probabilities after the second transfer:
a=newa; newa={}; newp=sym.empty;
% trans 2:
for scenario=1:length(a) p0=p(scenario); scen0=a{scenario}; for mover = 1:4 scen=scen0; newp(end+1)=sym(p0*scen0(2,mover)/sym(sum(scen0(2,:)))); scen(2,mover)=scen(2,mover)-1; scen(3,mover)=scen(3,mover)+1; newa{end+1}=scen; disp(newp(end)) disp(newa{end}) end end p=newp; a=newa;
disp(sum(newp))
Since there were four previously possible states, and four possibilities in each case, there were 16 new possible states with their probabilities:
1/1378 [0, 1, 1, 49] [1, 1, 1, 49] [2, 1, 1, 49] 1/2756 [0, 1, 1, 49] [2, 0, 1, 49] [1, 2, 1, 49] 1/2756 [0, 1, 1, 49] [2, 1, 0, 49] [1, 1, 2, 49] 49/2756 [0, 1, 1, 49] [2, 1, 1, 48] [1, 1, 1, 50] 1/2756 [1, 0, 1, 49] [0, 2, 1, 49] [2, 1, 1, 49] 1/1378 [1, 0, 1, 49] [1, 1, 1, 49] [1, 2, 1, 49] 1/2756 [1, 0, 1, 49] [1, 2, 0, 49] [1, 1, 2, 49] 49/2756 [1, 0, 1, 49] [1, 2, 1, 48] [1, 1, 1, 50] 1/2756 [1, 1, 0, 49] [0, 1, 2, 49] [2, 1, 1, 49] 1/2756 [1, 1, 0, 49] [1, 0, 2, 49] [1, 2, 1, 49] 1/1378 [1, 1, 0, 49] [1, 1, 1, 49] [1, 1, 2, 49] 49/2756 [1, 1, 0, 49] [1, 1, 2, 48] [1, 1, 1, 50] 49/2756 [1, 1, 1, 48] [0, 1, 1, 50] [2, 1, 1, 49] 49/2756 [1, 1, 1, 48] [1, 0, 1, 50] [1, 2, 1, 49] 49/2756 [1, 1, 1, 48] [1, 1, 0, 50] [1, 1, 2, 49] 1225/1378 [1, 1, 1, 48] [1, 1, 1, 49] [1, 1, 1, 50] 1
Again the total probabilities, as a check, was 1.
A third, similar, transition was made for the third transfer:
newa={}; newp=sym.empty;
% trans 3:
for scenario=1:length(a) p0=p(scenario); scen0=a{scenario}; for mover = 1:4 scen=scen0; newp(end+1)=sym(p0*scen0(3,mover)/sym(sum(scen0(3,:)))); scen(3,mover)=scen(3,mover)-1; scen(1,mover)=scen(1,mover)+1; newa{end+1}=scen; disp(newp(end)) disp(newa{end}) end end p=newp; a=newa;
There are too many to show, but the list begins
1/36517 [1, 1, 1, 49] [1, 1, 1, 49] [1, 1, 1, 49] 1/73034 [0, 2, 1, 49] [1, 1, 1, 49] [2, 0, 1, 49] 1/73034 [0, 1, 2, 49] [1, 1, 1, 49] [2, 1, 0, 49] 49/73034 [0, 1, 1, 50] [1, 1, 1, 49] [2, 1, 1, 48] 1/146068 [1, 1, 1, 49] [2, 0, 1, 49] [0, 2, 1, 49] 1/73034 [0, 2, 1, 49] [2, 0, 1, 49] [1, 1, 1, 49]
It did include the combination of the probabilities of a handful of states that arrived via different routes but had the same makeup:
for i=1:length(a) for j=i+1:length(a) if isequal(a{i},a{j}) disp([i j]) a={a{1:j-1} a{j+1:end}}; p(i)=p(i)+p(j); p(j)=[]; end if j>=length(a) break end end if i>=length(a) break end end
The results are the same with or without this combination of identical states.
The a priori probability that the JH would have been chosen from A is the total of the probabilities that each of the given states that had Jacks were the actual case multiplied by the probability that a Jack would be chosen from that state given that the state was in fact that one.
Each scenario's probability of being the case is multiplied by the probability of that state producing a JH from A, a QH from B and a KH from C. The latter is divided by the former to produce
part (I) answer:
36557/98741968 ~= 0.000370227581447435 part (II) answer:
Similar calculations are done here except that in each scenario (state) the probability of the state is multiplied by the probability of QH and JH for contribution to the denominator, which is thereby smaller:
36557/1899586 ~= 0.0192447196389108
For the above:
% part (i) ctJ=sym(0); ctJQK=sym(0); for i=1:length(a) scen=a{i}; if scen(1,3)>0 ctJ=ctJ+p(i)*scen(1,3); % disp([p(i)*scen(1,3)/52]) if scen(2,2)>0 && scen(3,1)>0 ctJQK=ctJQK+p(i)*scen(1,3)*scen(2,2)*scen(3,1)/(52^2); end end end disp(ctJQK/ctJ); disp(eval(ctJQK/ctJ));
% part (ii) ctJQ=sym(0); for i=1:length(a) scen=a{i}; if scen(1,3)>0 && scen(2,2)>0 ctJQ=ctJQ+p(i)*scen(1,3)*scen(2,2)/52; end end disp(ctJQK/ctJQ); disp(eval(ctJQK/ctJQ));
Simulation: succ1=0; succ2=0; AJHCt=0; AJHBQHCt=0;
for trial=1:100000000 % consider 50, 51, and 52 being JH, QH, KH respectively deckA=1:52; deckB=1:52; deckC=1:52; r=randi(52); deckB=[deckB deckA(r)]; deckA(r)=[]; r=randi(length(deckB)); deckC=[deckC deckB(r)]; deckB(r)=[];
r=randi(length(deckC)); deckA=[deckA deckC(r)]; deckC(r)=[]; r=randi(length(deckA)); if deckA(r)==50 AJH=true; else AJH=false; end r=randi(length(deckB)); if deckB(r)==51 BQH=true; else BQH=false; end r=randi(length(deckC)); if deckC(r)==52 CKH=true; else CKH=false; end if AJH AJHCt=AJHCt+1; if BQH && CKH succ1=succ1+1; end end if AJH && BQH AJHBQHCt=AJHBQHCt+1; if CKH succ2=succ2+1; end end end disp([succ1 AJHCt succ2 AJHBQHCt]) disp([succ1/AJHCt succ2/AJHBQHCt]) >> cardShuffleConclusionSim 693 1923369 693 36785 0.000360305276834554 0.0188392007611798 >> cardShuffleConclusionSim 701 1921248 701 37322 0.000364867003114642 0.0187824875408606 >> cardShuffleConclusionSim 665 1922356 665 37010 0.000345929682119233 0.0179681167252094 >> cardShuffleConclusionSim 706 1923567 706 37383 0.000367026466975156 0.0188855897065511 >> cardShuffleConclusionSim 688 1921679 688 36969 0.000358020252081643 0.0186101869133598 This seemed to be consistently lower than the calculated probabilities, so I wondered whether the random number generator was faulty, and I tried a couple of things.
In all the instances, the newly placed card in the receiving deck had been placed at the end. This should have had no effect on the outcome as subsequent selection from that deck, either for placement onto the next deck or for checking the "top" card at the end, was done randomly. But in changing two of the transfers to the beginning of the vector representing the deck, differing results occurred: >> cardShuffleConclusionSim 748 1924587 748 36898 0.000388654812694879 0.0202721014689143 Actual shuffling was done next, via, for example
deckB=deckB(randperm(length(deckB)));
and a test (now taking twice as long--an hour) resulted in 705 1925266 705 37262 0.000366183166378049 0.0189200794374966 so the RNG does seem not to be really good enough for 100 million trials, and I would trust my computed probabilities.
Edited on May 20, 2022, 2:02 pm
|
Posted by Charlie
on 2022-05-20 14:01:31 |
|
|
Please log in:
Forums (0)
Newest Problems
Random Problem
FAQ |
About This Site
Site Statistics
New Comments (3)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On
Chatterbox:
|