Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/08/2007, 01:32
Avatar de Kelpie
Kelpie
 
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: Seguir iterando con una probabilidad de 0.95. ¿Cuantas iteraciones da?

Yo soy muy malo explicando....

Lo primero: tienes razón. Me he liado y estoy haciéndolo al revés . estoy contando la posibilidad de sacar uno menor y debería ser mayor, por lo que los valores me dan al revés (lo que a ti te da para el 0.40 a mí me da para el 0.60).

Tomando como umbral el 0.90 y el bucle metido en una función. Hay que tener en cuenta que al meter la llamada a random() en la cabecera del bucle for, si obtenemos el número menor de 0.90 a la primera, nunca pasaremos por la instrucción cont++ porque el bucle no va a ejecutarse. Esto nos lleva a que la cantidad de iteraciones (vueltas) del for es siempre una unidad menor que las llamadas a random().

Hay un 90% de probabilidades de que el primer número que te devuelva random() sea menor que 0,90. Eso significa que en el 90% de los casos obtendrás a la primera un i<0.90 y el for no se ejecutará. Si vamos a llamar 10000 veces a la función, esto significa que en 9000 llamadas (el 90% de 10000) el bucle for no se ejecutará ("No dará ninguna vuelta").

Nos queda por estudiar lo que va a pasar en las 1000 llamadas restantes en las que no obtenemos un número menor que 0.90 a la primera.
La probabilidad de obtenerlo a la segunda es también de un 90% (Los números pueden repetirse). Esto es, que en un 90% de los casos, el bucle for tendrá que iterar una vez ("Dar una vuelta") hasta conseguir el número menor de 0.90. Esto nos deja que en 900 llamadas (El 90% de 1000) iterará 1 vez.

Nos quedan 100 llamadas en las que no sabemos qué pasa, pero sabemos que no vamos a obtener un menor de 0.90 a la segunda (eso ocurre en las 900 que ya hemos contado antes). Tenemos un 90% de probabilidades de obtenerlo a la tercera, caso en el que el for itera 2 veces. Por ello, en 90 llamadas (el 90% de 100) el bucle hará 2 iteraciones. Ya llevamos 900 de antes más 180 de ahora (90 veces 2): 1080 iteraciones.

El resto es así. Cada vez nos quedan menos llamadas por estudiar y las que nos quedan son en las que más iteraciones se da.

En resumen y para cada llamada, hay un 90% de probabilidades de que no se ejecute el bucle
un 9% de que se ejecute y haga una iteración
un 0.9% de que haga dos iteraciones
un 0.09% de que haga tres iteraciones
...

La fórmula no se cómo ponértela sin poner una imágen. Sería:


"Sumatorio entre i=0 e i=100 de: probabilidad por 10 elevado a menos i por i"

Cita:
Esta fórmula está mal. La buena es:
media= sumatorio de (1-probabilidad) por probabilidad elevada a n por n
Ver unos post más adelante....
En realidad no habría que llegar a i=100 ya que mucho antes los resultados son casi despreciables.

Vaya rollo que he metido Lo siento pero cuando me meto en matemáticas no tengo medida...
__________________
Kelpie

Última edición por Kelpie; 31/08/2007 a las 03:11