You
have 50 red balls and 50 blue balls, you have to place these balls in two
containers in such a way that probability of a person picking up a red ball
from any container is maximum.
1. For container 1,
You
should have to place one red marble into 1st Container. By this when we select this Container 1 P(Red|C1) will be 1.
2. For container 2,
Rest
all marbles should have to place into 2nd container. By this when we select this Container 2 P(Red|C2) will be 49/99.
Here,
P(C1) = P(C2) = 1/2 as there is only 2 containers.
So
answer will be P(Red) = P(C1)*P(Red|C1) + P(C2)*(Red|C2)
P(Red) = (1/2)*(1) + (1/2)*(49/99)
P(Red) = 0.747474.
Proof of
above given solution using the Java code:
public class
MaximizeRedBallProbability {
/**
* This is the code which maximize the
probability.
* @param red
* @param blue
* @return probability
*/
private static double
getProbability(int red, int blue) {
double max=0;
int maxRed = 0;
int maxBlue = 0;
for (int i = 1; i < red; i++) {
for (int j = 0; j < blue; j++) {
double prb = (0.5*i)/(i+j) + (0.5*(50-i))/(100-i-j);
if (prb>max) {
max = prb;
maxRed=i;
maxBlue=j;
}
}
}
System.out.println("Container 1, Red balls: "+maxRed +" Blue balls
: "+maxBlue);
System.out.println("Container 2, Red balls: "+(red-maxRed) +" Blue balls : "+(blue-maxBlue));
return max;
}
/** Driver Method. */
public static void
main(String[] args) {
int red = 50;
int blue = 50;
double p = getProbability(red,blue);
System.out.println("Maximum probability of RED ball "+p);
}
}
Output: 7474747474747475