I have 120 blocks. Each block is one of two different materials, 3 different colors, 4 different sizes and 5 different shapes. No two blocks are exactly the same of all four properties. I take two blocks at random. What is the probability the two blocks have exactly two of the four properties the same?
I try with R to replicate this:
library(matrixStats)
replicateExperiment<-function(i,stateSpace) length(which(colDiffs(stateSpace[sample(1:120,2),])==0))==2
stateSpace<-data.matrix(expand.grid(M=1:2,C=1:3,Si=1:4,Sh=1:5))
mean(c(lapply(1:100000,replicateExperiment,stateSpace=stateSpace),recursive=TRUE))
I get something more like $P(\text{2 out of 4 characteristics are the same)}\approx .3$.
My question is, how can we compute the number of blocks that have exactly 2 characteristics in common out of all 120 boxes.
What I have done so far:
Let's start with having three in common out of 4 characteristics (4 out of 4 is not possible). There are 4 possible ways to share 3 out of 4 characteristics.
I will denote the characteristics as $\{M,C,Si,Sh\}$ so $P(B_2=\{1,1,1,0\}|B_1=\{1,1,1,0\})$ is the probability that box 2 shares its first three characteristics with box 1 given that box one has characteristics $\{1,1,1,*.*\}$.
Then we have
$$P(B_2 \text{ has 3 elements in common with } B_1)=P(B_2=\{1,1,1,0\}|B_1=\{1,1,1,0\})*P(B_1=\{1,1,1,0\})+P(B_2=\{1,1,0,1\}|B_1=\{1,1,0,1\})*P(B_1=\{1,1,0,1\})+P(B_2=\{1,0,1,1\}|B_1=\{1,0,1,1\})*P(B_1=\{1,0,1,1\})+P(B_2=\{0,1,1,1\}|B_1=\{0,1,1,1\})*P(B_1=\{0,1,1,1\})$$
$$P(B_2 \text{ has 3 elements in common with } B_1)=(4*5*24+3*4*30+2*3*40+1*2*60)\frac{1}{120*119}\approx0.084$$ which is close enough to the value from the simulation code (modified to count the number of 3-ties).
The problem:
Now, I use the same reasoning to compute:
$$P(B_2 \text{ has 2 or more elements in common with } B_1)=(19*20*6+11*12*10+9*10*12+14*15*8+7*8*15+5*6*20)\frac{1}{120*119}\approx0.54$$
This is not close at all to the value from the simulation code (modified to count all $2^+$ ties).