El participante tiene tres puertas a elegir, dos estan vacias y una tiene un auto, que seria el premio, el participante elige una, y el anfitrion del programa abre otra que esta vacia, y pregunta ¿Desea cambiar de puerta?. La pregunta obviamente es, ¿Deberia cambiar? En este caso, hacer un programa que simule 1000 casos y ver que deberia hacer.
Antes de decir la respuesta explicare la solucion, tenemos tres puertas, una tiene el auto y las otras dos estan vacias, es decir, tenemos 100/3% (33.3%) de chances de ganar el auto eligiendo con una sola oportunidad, y (100/3)*2% (66.6%) de no ganar nada, eso seria si solo tuvieramos una oportunidad, supongamos elegimos una puerta, al azar, tendriamos mas chances de que sea una vacia, entonces el presentador abre la otra que esta vacia, yo cambio, y elijo el auto, las chances que pase esto, son las chances de que elija una puerta vacia, es decir, 66.6%, en cambio, si elijo el auto desde el principio, tendria un 33% de chances de que eso pase, cambio y pierdo porque elijo la vacia.
Entonces, lo que hacemos basicamente es transformar las chances de perder en chances de ganar y vicebersa, si elejimos una puerta vacia, ganamos, si elejimos el auto, perdemos.
La respuesta entonces es si, si cambias tenes 66% de chances de ganar, de lo contrario, tenes 33%.
El programa con los mil casos representa bien esta situacion y devuelve un porcentaje de 65-66%
package tvshow;
import java.util.Random;
public class Main {
public static void main(String[] args) {
int iLost = 0, iWon = 0;
Random r = new Random();
for(int i = 0; i < 1000; i++)
{
int myChoice = r.nextInt(3);
int carIsIn = r.nextInt(3);
if(carIsIn == myChoice) // I will change
iLost++;
else // If the presenter opens an empty door, i have the other empty one and i will change, so i choose the car
iWon++;
}
System.out.println("I won "+ (iWon*100/1000) +" percent of the times.");
}
}
Un problema interesante para burlar a sus amigos :)
0 comentarios:
Publicar un comentario