11/12/2019, 03:47:15 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: LISTADO ACTUALIZADO DE CURSOS
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: ¿Algo parecido a demostrar que cada 5.5 tiradas de un dado, en 1 sale 6?  (Leído 892 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Tachikomaia
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 199


Ver Perfil
« : 20/04/2019, 04:51:44 pm »

Hice este programa:
Código:
actions for fotograma 1
      Pruebas = 0;
      Lanzamientos = 0;
      Lanzamientos_enesta_prueba = 0;
   actions for fotograma 2
      N = random(6);
   actions for fotograma 3
      Lanzamientos_enesta_prueba = Lanzamientos_enesta_prueba+1;
      if (N == 0) {
         Pruebas = Pruebas+1;
         Lanzamientos = Lanzamientos+Lanzamientos_enesta_prueba;
         trace ("Lanzamientos en esta prueba: "+Lanzamientos_enesta_prueba);
         Lanzamientos_enesta_prueba = 0;
         if (Pruebas == 100) {
            trace (Lanzamientos/Pruebas);
            stop ();
         }
      }
   actions for fotograma 4
      gotoAndPlay (2);
Lo que hace es:
1- Genera un número entero del 0 al 5.
2- Si el número no es 0, se vuelve a tirar. Cada vez que se genera un número eso cuenta como un lanzamiento.
3- Se vuelve al paso 1 100 veces.
4- Se hace Lanzamientos/100.

Ejemplo:
Lanzamientos en esta prueba: 19
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 19
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 10
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 11
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 3
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 10
Lanzamientos en esta prueba: 3
Lanzamientos en esta prueba: 12
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 9
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 12
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 8
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 3
Lanzamientos en esta prueba: 8
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 8
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 7
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 7
Lanzamientos en esta prueba: 7
Lanzamientos en esta prueba: 6
Lanzamientos en esta prueba: 8
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 19
Lanzamientos en esta prueba: 14
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 9
Lanzamientos en esta prueba: 10
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 15
Lanzamientos en esta prueba: 6
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 3
Lanzamientos en esta prueba: 15
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 17
Lanzamientos en esta prueba: 3
Lanzamientos en esta prueba: 6
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 10
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 7
Lanzamientos en esta prueba: 10
Lanzamientos en esta prueba: 6
Lanzamientos en esta prueba: 3
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 17
Lanzamientos en esta prueba: 19
Lanzamientos en esta prueba: 9
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 46
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 7
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 1
Lanzamientos en esta prueba: 14
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 7
Lanzamientos en esta prueba: 3
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 5
Lanzamientos en esta prueba: 4
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 29
Lanzamientos en esta prueba: 6
Lanzamientos en esta prueba: 3
Lanzamientos en esta prueba: 20
Lanzamientos en esta prueba: 2
Lanzamientos en esta prueba: 2
6.52

El problema es que yo pensé que daría en general 5.5 pero en general me ha dado más de 6, y eso es porque en cada prueba el número puede tardar infinitas veces en salir, en estas 100 lo máximo fue 46 pero ya con eso no hay "1s" que lo arreglen, el promedio resultará altísimo.

Bueno, yo presenté esto como prueba de mi idea o intuición pero parece decirme que estoy equivocado, pero no lo creo, y me parece que es debido a lo que ya expliqué.

Entonces ¿alguna idea de una demostración o algo parecido? ¿y qué les parece la mía, pueden indicarme la falla si es que les parece que la tiene? ¿o es que mi idea es la equivocada, por qué?
En línea
geómetracat
Moderador Global
Pleno*
*

Karma: +0/-0
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 818



Ver Perfil
« Respuesta #1 : 20/04/2019, 05:45:32 pm »

¿Por qué 5,5? Creo que debería ser 6. El número de lanzamientos de un dado hasta que te salga un 6 es un ejemplo de distribución geométrica con probabilidad de éxito [texx]p = 1/6[/texx]. Por tanto el valor esperado del número de lanzamientos necesarios es [texx]1/p = 6[/texx].

Sobre el programa, 100 iteraciones no son muchas, prueba con 1000 o con 10000 y mira a ver si se va acercando a 6.
En línea

La ecuación más bonita de las matemáticas: [texx]d^2=0[/texx]
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.626



Ver Perfil
« Respuesta #2 : 20/04/2019, 06:43:02 pm »


Entonces ¿alguna idea de una demostración o algo parecido? ¿y qué les parece la mía, pueden indicarme la falla si es que les parece que la tiene? ¿o es que mi idea es la equivocada, por qué?

Spoiler (click para mostrar u ocultar)

No, perdona, eso que he dicho en el spoiler no tiene que ver con lo que dices, multiplico por los valores y tu te refieres al número de lanzamientos; y además no sería así tampoco, pero he visto que se acercaba a lo que tenías y me ha despistado.

Según veo en el programa, en el condicional, cuando sale cero, haces lanzamiento igual a cero, sin embargo, el contador de pruebas si se incrementa (no, me fijé mal, ya veo que sí se incrementan los lanzamientos)
Con el contador estás obligando a salir al cero 100 veces, por lo que por término medio cada uno de los otros números saldrán 100 veces cada uno, lo que harían 500 lanzamientos aproximadamente. Si contaras el cero tendrías lo que dice Geómetracat, 600/100, o sea 6. Pero si no lo cuentas son 500/100, cinco, no cinco y medio.
Prueba a poner 3000 en vez de 100 y nos dices a ver.

Anoche no me di cuenta (ya no me acuerdo del actionscipt pese a que uso bastante el Flash, pero no para programar nada).

Ya veo, en el condicional haces

Lanzamientos = Lanzamientos+Lanzamientos_enesta_prueba;

trace ("Lanzamientos en esta prueba: "+Lanzamientos_enesta_prueba);

Ahí incrementa el contador de lanzamientos y le dices que muestre el resultado de cada prueba en la ventanita del trace. O sea, que cuentas a “mano”, cuando aparece la ventanita flotante de cada prueba, copias la cantidad en un papel, ¿no?

Luego tendría que ser 6; está dentro de lo normal ese pico de más, con muchas más pruebas iría bajando la mantisa.

Lo del trace es muy lento para contar si pones muchas pruebas, eso lo puedes hacer de otra manera, yo no me acuerdo ya, pero puedes mandarle imprimir en un frame, mediante el texto dinámico o de Input  Text que tienes en el cuadro de propiedades, el resultado de una variable que almacene la suma de los lanzamientos de todas las pruebas.



Saludos.
En línea

Tachikomaia
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 199


Ver Perfil
« Respuesta #3 : 21/04/2019, 07:27:41 am »

¿Por qué 5,5?
Ya no creo que sea ese número, pero sigo pensando que sería menor a 6.

Ese número supongo que lo creía por esto:
- Cada número tiene 1/6 probabilidades de salir, por lo que en teoría, generalmente, en 6 tiradas todos saldrían.
- Si el nro 6 no salió antes de la 5ta tirada, entonces en ella sólo queda él y otro número, tiene 50% de probabilidades de salir ahí y sino en la 6. 5 o 6. 5.5

Esa perspectiva ahora me parece incompleta:
Si hacemos todas las combinaciones en que el orden importa y sin repetición (disculpen pero nunca me queda en la memoria cómo se llama cada variación de las "combinaciones", sólo sé sus variaciones), de 123456, en la mayoría de ellas el 6 está antes de la posición nro 6. Eso implica que, en promedio, sale antes que en la 6. No sé qué número sería, quizá 3.5.

El problema es que si hacemos todas las combinaciones y no simplemente las que contengan todos los números entonces hay muchas en que el 6 no aparecería y ya no parece tener sentido el cálculo.

Ahora lo que siento es que el cálculo a priori sólo tiene sentido a priori, no tiene sentido seguirlo teniendo vigente cuando los datos han cambiado.
Basicamente al inicio se tiene 6/6 posibilidades de sacar un 6 en 6 tiros. Pero cuando se realizó un tiro y no fue 6, entonces ya hay que considerar 5/6 ¿no? Lo que sea, menos probabilidad. En definitiva, uno a priori puede esperar generalmente que ocurra lo que dice el cálculo a priori, pero una vez que se realicen tiradas y no ocurra como se calculó, entonces hay que ajustar el cálculo. Eso podría hacer que el promedio suba, lo que contrarresta mi hipótesis inicial. No sé.


Otra forma de explicarlo sería con lo que alguien me dijo:
Probabilidad de que el 6 salga en 1 tirada: 1/6
Probabilidad de que el 6 salga en alguna de 2 tiradas: 2/6
Probabilidad de que el 6 salga en alguna de 3 tiradas: 3/6
Probabilidad de que el 6 salga en alguna de 4 tiradas: 4/6
Probabilidad de que el 6 salga en alguna de 5 tiradas: 5/6
Probabilidad de que el 6 salga en alguna de 6 tiradas: 6/6
Si esos cálculos son correctos (probables, especialmente el último) entonces pareciera que el 6 probablemente salga antes de la tirada nro 6. El problema es el mismo: La premisa de que todos los números van a salir. ¿Es errónea? ¿no es lo que ocurre en general? Supongo, las combinaciones que no incluyen algún número son muchas más de las que los incluyen todos.

Cita
El número de lanzamientos de un dado hasta que te salga un 6 es un ejemplo de distribución geométrica con probabilidad de éxito [texx]p = 1/6[/texx]. Por tanto el valor esperado del número de lanzamientos necesarios es [texx]1/p = 6[/texx].
De acuerdo en tu premisa pero no entiendo cómo llegas a la conclusión. Sí, 1/6 por cada tirada, pero que en promedio salga a la 6ta no entiendo por qué. Espero haber aclarado arriba.

Cita
Sobre el programa, 100 iteraciones no son muchas, prueba con 1000 o con 10000 y mira a ver si se va acercando a 6.
Vale. Es que lo hice rapidongo, hice 2, hay uno en que sobra 1 frame y además do while es más rápido que goto. Con 100 no tarda 1 minuto pero de la forma conque lo hice tardaría un rato xD

Entiendo que son cinco números y el cero. Cada vez que sale el cero empieza otra ronda; no cuenta como valor.
No sé si te entiendo, lo explicaré más detalladamente.
      Pruebas = 0;
      Lanzamientos = 0;
      Lanzamientos_enesta_prueba = 0;
Eso significa que de momento se realizaron 0 pruebas, 0 esto y 0 lo otro, lo entiendes.
La 3era variable es sólo para los textos que se muestran en pantalla, podría obviarse.

      N = random(6);
Eso es la generación del número. 6 significa que son 6 posibles, del 0 al 5.
Podría haber puesto       N = random(6)+1; para que sean del 1 al 6, pero el code quedaría más complicado inútilmente, pensé.

FOTOGRAMA 3 (separo las cosas porque son varias, pero se entiende que hasta nuevo aviso todas están en el fotograma o parte 3):

      Lanzamientos_enesta_prueba = Lanzamientos_enesta_prueba+1;
Significa que hicimos una tirada.

Código:
      if (N == 0) {
         Pruebas = Pruebas+1;
         Lanzamientos = Lanzamientos+Lanzamientos_enesta_prueba;
         trace ("Lanzamientos en esta prueba: "+Lanzamientos_enesta_prueba);
         Lanzamientos_enesta_prueba = 0;
         if (Pruebas == 100) {
            trace (Lanzamientos/Pruebas);
            stop ();
         }
      }
Si lo separo se entendería menos.
Si sale el 0
___Esta prueba terminó, decimos que hemos realizado 1 prueba más, así que le sumamos 1 a la cantidad de pruebas.
___Lanzamientos es la cantidad de veces que hemos lanzado, sumando las tiradas de todas las pruebas. Lo que hacemos aquí es sumarle la cantidad de tiradas que hicimos en la prueba actual.
___trace es para mostrar mensajes en la pantalla, puedes obviarlo.
___Lanzamientos_enesta_prueba = 0; eso vuelve a 0 porque vamos a iniciar una nueva prueba (salvo que ya se hayan hecho 100).
___Si se hicieron 100 pruebas hacemos el cálculo y el programa termina.
sino (fotograma 4), el programa se dirige al fotograma 2 (donde se genera el número) para repetir el proceso.

Entonces... a ver, yo no sumo valores, por si acaso lo entendiste así, simplemente voy agregando tiradas a un contador, +1 por cada tirada, no es que si sale 5 eso es +5. Capaz que se podría calcular algo de ese modo, pero no fue lo que hice y no sé si tendría sentido.
Y cuando el 0 sale también cuenta como tirada, fijate este fragmento:
Código:
      Lanzamientos_enesta_prueba = Lanzamientos_enesta_prueba+1;
      if (N == 0) {
El contador aumentó antes de chequear si la tirada fue 0 o no. Te comento por si había algún error en el programa, que puede haberlo, pero en ese sentido no lo veo. No sé a qué se debe el aparente malentendido. Y sino, espero que ya nos hayamos entendido.

El programa lanza el dado hasta que salga 0, y anota cuántas veces tuvo que lanzarlo. Repite eso 100 veces y se fija, en promedio, en cuántos lanzamientos salió el 0.
Mi idea es demostrar que en promedio sale antes de 6, pero creo que la prueba en cuestión está mal hecha. Exageradamente es como si queriendo medir cuan alto saltan las pulgas les pusiera un sensor cuyo peso hicieran que salten mucho menos de lo que yo esperaba, mi demostración o medición no sirve, o lo que yo esperaba está equivocado, necesito otro tipo de prueba.

Cita
No, perdona, eso que he dicho en el spoiler no tiene que ver con lo que dices
Menos mal porque no había entendido un pepino xD
Me gustó la idea del promedio, eso sí, lo comenté arriba, pero sería de 0 a 5 y para pasarlo al dado habría que sumarle 1. 3.5.
Me refiero a que el medio entre 1 y 5 sería 3, no 2.5.

Cita
(no, me fijé mal, ya veo que sí se incrementan los lanzamientos)
Hombre, me estoy mareando xD
La verdad no hice el código pensando en que otros pudieran entenderlo, lo hice rapidongo para hacer una simulación de tiradas y mostrar esa simulación y el resultado en una discusión que estaba teniendo, cualquier cosa trato de explicar mejor el code o hacerlo de un modo más sencillo, pero no soy muy hábil en eso tampoco, no soy muy consciente de ciertas cosas que hago o de por qué funcionan o no.

Cita
Con el contador estás obligando a salir al cero 100 veces
Sí, el programa termina cuando sale el 0 100 veces. Sí, yo decía 6 pero en el programa es el 0. Me confundí, pero bueno, hablamos de un número X.

Cita
por lo que por término medio cada uno de los otros números saldrán 100 veces cada uno
De hecho creo que saldrían menos veces (porque cada prueba termina cuando sale un 0, entonces 0 siempre saldría, pero los otros nums podrían no salir). AUNQUE, los otros números podrían salir repetidamente en repetidas pruebas, igual salir 50 veces seguidas, el 0 no. Eso al hacer el mal cálculo hace parecer que salieran más seguido ¿no?

Cita
Si contaras el cero tendrías lo que dice Geómetracat, 600/100, o sea 6. Pero si no lo cuentas son 500/100, cinco, no cinco y medio.
Prueba a poner 3000 en vez de 100 y nos dices a ver.
Creo que sí cuento el 0. Vale, probaré.

Cita
pese a que uso bastante el Flash
Vaya, somos de los últimos. Si quieres te paso archivos fla de algunas animaciones, intentos de videojuegos y algunos muy simplones pero jugables unos minútos. Hay uno de saques de tenis que tiene unas matemáticas bárbaras (si quieres hacerte un lío, pero funciona bien el juego), y otro que es de hacer ciertos cálculos. Son de Macromedia Flash 5, no sé si te servirán (además según he visto las nuevas versiones no permiten poner código en las películas o en los frames de las películas, no me acuerdo). Uso ese porque tiene un comando escondido (sep, no está en la lista, ni idea cómo lo averigué, pero dicen que fue revelado por hackers) llamado fscommand save que permite guardar variables en un archivo. Desde no sé qué versión eso fue eliminado y en su lugar no te sé decir qué pepino han puesto porque no lo entendí, sólo sé que con 1 línea puedo guardar variables y en cambio en nuevas versiones hay que escribir varias, hasta leí que se necesitaba hacer uso de otro lenguaje. Un desastre.

Cita
Ahí incrementa el contador de lanzamientos y le dices que muestre el resultado de cada prueba en la ventanita del trace. O sea, que cuentas a “mano”, cuando aparece la ventanita flotante de cada prueba, copias la cantidad en un papel, ¿no?
¿Papel? Si te refieres literalmente a papel, no, y yo sólo copio lo que sale en el trace, he puesto un ejemplo. Quizá te confundes porque hay 2 variables "lanzamiento". Lo he comentado, una es más bien para que se vea en pantalla cuántas veces se lanzó en cada prueba, y la otra es el contador total.

Cita
Lo del trace es muy lento para contar si pones muchas pruebas, eso lo puedes hacer de otra manera, yo no me acuerdo ya, pero puedes mandarle imprimir en un frame, mediante el texto dinámico o de Input  Text
Supongo que tienes razón, pero a la hora de hacer el programa me resulta más rápido usar trace que crear un texto (que por algún motivo está predeterminado a crearlo azul y muy pequeño, o sea que si no copio un texto hecho tengo que ajustarlo cada vez que abro Flash).
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.626



Ver Perfil
« Respuesta #4 : 21/04/2019, 07:54:45 am »

De acuerdo, ya está bastante aclarado el funcionamiento del programa.


Cita
por lo que por término medio cada uno de los otros números saldrán 100 veces cada uno
De hecho creo que saldrían menos veces (porque cada prueba termina cuando sale un 0, entonces 0 siempre saldría, pero los otros nums podrían no salir). AUNQUE, los otros números podrían salir repetidamente en repetidas pruebas, igual salir 50 veces seguidas, el 0 no. Eso al hacer el mal cálculo hace parecer que salieran más seguido ¿no?

Es decisiva la cantidad de veces. Para analizarlo, cambia la cantidad de pruebas a 5, por ejemplo, y corre el programa 10 ó 20 veces. Lo normal es que de esas veces, unas, se quede por debajo de 6, y otras por encima, porque la función random no funciona a corto plazo con una distribución  perfecta; unas veces puede tardar mucho en salir el cero, y otras no. Si, en cambio, incrementas las pruebas, la suma de todos los lanzamientos se irá acercando a 6000... de forma cada vez más ajustada en la medida que sean más pruebas.
...

Gracias por el ofrecimiento de los flash, pero no te preocupes. Hice algunos juegos hace mucho, y ya no me acuerdo de hacer muchas cosas; sólo lo uso de vez en cuando para dibujos, presentaciones... y como tengo Linux, pues al pasarlo a vídeo AVI no me deja, no sé por qué; me dejaba hace unos años. El caso es que la última que he hecho la he tenido que correr en Flash y capturar la película durante la ejecución en pantalla con otro programa; y la verdad es que se ve mejor incluso. Antes de eso, con el Avi llegó un momento en que no se veían los movieclips a no ser que los pegara con todos sus fotogramas en la línea de tiempo... Fue dando problemas de ese tipo, pero creo que es por usarlo en Linux, que no funciona bien del todo.

Saludos.
En línea

Tachikomaia
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 199


Ver Perfil
« Respuesta #5 : 21/04/2019, 07:59:44 am »

Bueno, acá están más pruebas como me pidieron, pero creo que el problema es el tipo de prueba, así que el resultado de estas no cambiará mi opinión...
Con 10000 pruebas (aprox 10 minutos) el resultado fue 6.1124
Advertencia: Son 10000 líneas. Si quieren las borro.

Spoiler (click para mostrar u ocultar)
En línea
Tachikomaia
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 199


Ver Perfil
« Respuesta #6 : 21/04/2019, 08:02:17 am »

El foro no permite poner tanto texto, se corta. Bueno, igual lo importante está.
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.626



Ver Perfil
« Respuesta #7 : 21/04/2019, 08:18:43 am »

Bueno, acá están más pruebas como me pidieron, pero creo que el problema es el tipo de prueba, así que el resultado de estas no cambiará mi opinión...
Con 10000 pruebas (aprox 10 minutos) el resultado fue 6.1124

Pues ahí lo tienes, mira cómo ha bajado la mantisa; la otra empezaba por 5 y ahora empieza por 1, se acerca mucho más.

Saludos.
En línea

geómetracat
Moderador Global
Pleno*
*

Karma: +0/-0
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 818



Ver Perfil
« Respuesta #8 : 21/04/2019, 08:33:11 am »

Explico mejor el cálculo, sin usar las propiedades de la distribución geométrica. Hay (como mínimo) dos maneras de hacerlo. Explico primero la más directa y después una más sencilla.

En una tirada, la probabilidad de que salga un 6 es [texx]1/6[/texx] y la de que no salga un 6 es [texx]5/6[/texx], creo que en esto todos estamos de acuerdo.
Llamaré [texx]N[/texx] a la variable aleatoria "número de lanzamientos hasta que sale un 6".
Entonces la probabilidad de que [texx]N=1[/texx] (salga un 6 en la primera tirada) es [texx]1/6[/texx]. La probabilidad de que [texx]N=2[/texx] (en la primera tirada no salga un 6 y en la segunda sí) es [texx]\frac{5}{6} \frac{1}{6}[/texx], la de que [texx]N=3[/texx] (no sale un 6 en la primera tirada, no sale un 6 en la segunda tirada, sale un 6 en la tercera tirada) es [texx]\frac{5}{6} \frac{5}{6} \frac{1}{6} = \left( \frac{5}{6} \right)^2 \frac{1}{6}[/texx].
Ahora que el parón está claro vamos a calcular la probabilidad de que en una sucesión de lanzamientos, el primer 6 salga en la tirada número n. Esto es lo mismo que la probabilidad de que en las n-1 primeras tiradas salgan números que no son el 6 y en la n-ésima salga un 6. Obtenemos:
[texx]P(N=n) = \left(\frac{5}{6} \right)^{n-1} \frac{1}{6}[/texx].

Ahora queremos calcular el valor esperado de [texx]N[/texx] (la media del número de lanzamientos). Este valor es
[texx]\sum_{n=1}^\infty n P(N=n) = \sum_{n=1}^\infty n \left( \frac{5}{6} \right)^{n-1} \frac{1}{6}= 6[/texx]
(la suma de la serie infinita no es inmediata, hay que trabajar un poco).

Hay otra manera más sencilla de calcularlo, que es la siguiente. Llama al número esperado de lanzamientos hasta obtener un 6 [texx]\mu[/texx]. Si tiras una vez el dado tienes [texx]1/6[/texx] de probabilidades de que sea 6 y [texx]5/6[/texx] de que no. Si no ha salido 6, vuelves a empezar otra vez, así que el número de lanzamientos esperado a partir de ahora vuelve a ser [texx]\mu[/texx], pero ya has lanzado 1 vez, luego en este caso (en que en la primera tirada no te ha salido un 6) el número esperado de lanzamientos será [texx]1 + \mu[/texx].
Combinando esto, tienes la siguiente ecuación:
[texx]\mu = 1/6 + 5/6 (1+\mu)[/texx].
Si resuelves, obtienes [texx]\mu = 6[/texx] de nuevo.

Por cierto, he hecho un programa en Python y con 100000 iteraciones he obtenido [texx]6.00796[/texx]. El programa tarda unos tres segundos en calcular el resultado, y ni el ordenador ni el programa es especialmente bueno. No es normal que te tarde tanto en hacer 10000 iteraciones. Creo que el problema es que sacas el resultado de cada lanzamiento en una línea y el ordenador pierde mucho tiempo en sacar el resultado por pantalla. Prueba a eliminar eso y que te de únicamente el resultado final, probablemente notarás una mejora sustancial del tiempo de ejecución.
En línea

La ecuación más bonita de las matemáticas: [texx]d^2=0[/texx]
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.626



Ver Perfil
« Respuesta #9 : 21/04/2019, 09:03:46 am »



Por cierto, he hecho un programa en Python y con 100000 iteraciones he obtenido [texx]6.00796[/texx]. El programa tarda unos tres segundos en calcular el resultado, y ni el ordenador ni el programa es especialmente bueno. No es normal que te tarde tanto en hacer 10000 iteraciones. Creo que el problema es que sacas el resultado de cada lanzamiento en una línea y el ordenador pierde mucho tiempo en sacar el resultado por pantalla. Prueba a eliminar eso y que te de únicamente el resultado final, probablemente notarás una mejora sustancial del tiempo de ejecución.

En efecto. Es debido a que en cada una de las cien pruebas salta una ventana flotante (100 ventanitas que encima tendrá que ir cerrando) debería poner ese “trace” en el segundo “if”, al final de todo el proceso.
En línea

Tachikomaia
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 199


Ver Perfil
« Respuesta #10 : 22/04/2019, 06:09:57 pm »

geómetracat.

Cuando pones fracciones una al lado de la otra ¿significa que se suman, multiplican o qué? Igual la ecuación o fórmula que pones luego me resulta demasiado incomprensible.

Tu 2ndo método parece mostrar un calculo adaptativo, no a priori.

Si no te molesta, dime la probabilidad en fracciones (1) o porcentajes, de que en 2 tiradas salga al menos una vez el 6, y haz lo mismo para 3, 4, 5 y 6 tiradas.
Para 1 tirada sé que la posibilidad es 1/6, o sea 16.66...%
Yo intuyo que para 2 es 1/6+1/6, o sea 33%, pero tú dime.
Si eso fuese así, en promedio debería salir luego de la tirada 3.
Bah, probablemente estoy confundido en eso. Lo que quise decir es que generalmente, si se tienen más de 3 tiradas, el 6 sale en alguna. Por eso en 4 tiradas es esperable que el 6 salga. ¿Qué opinan?

Cita
No es normal que te tarde tanto en hacer 10000 iteraciones. Creo que el problema es que sacas el resultado de cada lanzamiento en una línea y el ordenador pierde mucho tiempo en sacar el resultado por pantalla. Prueba a eliminar eso y que te de únicamente el resultado final, probablemente notarás una mejora sustancial del tiempo de ejecución.
No me parece importante el tema del tiempo por unos minutos más o menos en algo como esto.
La demora puede que se deba a lo que dices pero me parece que es porque supuestamente el programa pasa 120 fotogramas por segundo, o sea si lo que hace en 1 fotograma lo hace en menos de 0,00833 segundos entonces se queda "paralizada" hasta que pase ese tiempo. Además, un fotograma donde dice simplemente goto 2 implica que cambia de frame pero probablemente mientras no pase el tiempo no comienza a ejecutar el código en él.
Para que fuese más rápido supongo que convendría usar do while y como dices eliminar los trace (de hecho se podría guardar todo eso en una variable y que lo muestre todo al final, pero eso también podría obviarse obteniendo más velocidad). El problema es que en mi flash si no hay un cambio de fotograma en cierto tiempo (eso es mi teoría) me aparece un cartel de que está trancado, por eso en parte me acostumbré a usar goto y lo usé también en esta ocasión. Se dice que es una mala práctica sí. Se puede mejorar (incluso usando goto) creo, pero no vale la pena.

Si vamos al caso, el random puede que tampoco funcione del todo bien en mi flash, pero la diferencia es poco notable...


feriva
Aparece una única ventana a la que no cierro.
Si pongo el trace solamente al final del 2ndo if entonces me mostraría sólo el promedio. Otra posibilidad sería crear una variable como comenté arriba. No está mal lo de mostrar sólo el promedio, pero cuando hice el programa quería ver caso por caso, por eso quedó así.
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.626



Ver Perfil
« Respuesta #11 : 22/04/2019, 06:21:29 pm »




feriva
Aparece una única ventana a la que no cierro.
Si pongo el trace solamente al final del 2ndo if entonces me mostraría sólo el promedio. Otra posibilidad sería crear una variable como comenté arriba. No está mal lo de mostrar sólo el promedio, pero cuando hice el programa quería ver caso por caso, por eso quedó así.

Ah, entonces es que lo recordaba mal, saldrá una ventan y cambiará el valor entonces.

Lo que dices de los fotogramas, sí, acabo de mirarlo (porque tampoco me acordaba) y el máximo frame rate es 120.

Pero tienes consolas en línea de Javascript, que es prácticamente el mismo lenguaje, no te costará adaptarlo, y ahí puedes probar valores más grandes; con diez minutos o menos te lo hará hasta el millón de pruebas; aquí tienes uno:

https://js.do/

También puedes escribir el código con el bloc de notas y guardarlo como HTLM, y lo corres en el ordenador sin nada más, pero con ese enlace parece más rápido y cómodo.

Saludos.
En línea

geómetracat
Moderador Global
Pleno*
*

Karma: +0/-0
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 818



Ver Perfil
« Respuesta #12 : 22/04/2019, 07:18:07 pm »

geómetracat.

Cuando pones fracciones una al lado de la otra ¿significa que se suman, multiplican o qué? Igual la ecuación o fórmula que pones luego me resulta demasiado incomprensible.

Tu 2ndo método parece mostrar un calculo adaptativo, no a priori.

Se multiplican. Depende de los conocimientos que tengas de probabilidad puede parecer difícil, pero ambas son maneras estándar de calcular valores esperados (la primera es usar la definición, básicamente).

Cita
Si no te molesta, dime la probabilidad en fracciones (1) o porcentajes, de que en 2 tiradas salga al menos una vez el 6, y haz lo mismo para 3, 4, 5 y 6 tiradas.
Para 1 tirada sé que la posibilidad es 1/6, o sea 16.66...%
Yo intuyo que para 2 es 1/6+1/6, o sea 33%, pero tú dime.
Si eso fuese así, en promedio debería salir luego de la tirada 3.
Bah, probablemente estoy confundido en eso. Lo que quise decir es que generalmente, si se tienen más de 3 tiradas, el 6 sale en alguna. Por eso en 4 tiradas es esperable que el 6 salga. ¿Qué opinan?

La probabilidad de que en 2 tiradas salga al menos un 6 es [texx]1 - \left( \frac{5}{6} \right)^2 = \frac{11}{36} = 0.3055...[/texx].
En general, la probabilidad de que salga al menos un 6 en dos tiradas es 1 menos la probabilidad de que no salga 6 en ninguna de las dos tiradas.
Como las tiradas son sucesos independientes (los números que hayan salido en tiradas anteriores no influyen para nada lo que sucede en la tirada actual) la probabilidad  de que no salga 6 en ninguna de las dos tiradas es el producto de la probabilidad de que no salga un 6 en la primera y la de que no salga un 6 en la segunda. Y la probabilidad de que no salga un 6 en una tirada es [texx]5/6[/texx]. De aquí sale esa probabilidad. Otra manera de calcularlo es usar la fórmula de Laplace: cuentas de las 36 combinaciones posibles que puedes obtener al tirar dos dados en cuántas sale al menos un 6 (son 11) y la probabilidad es (casos favorables)/(casos totales), en este caso [texx]11/36[/texx].

La probabilidad de que salga al menos un 6 en [texx]n[/texx] tiradas es [texx]1- \left( \frac{5}{6} \right)^n[/texx], se calcula igual que antes. Para [texx]n=3[/texx] la probabilidad es [texx]0
42...[/texx], para [texx]n=4[/texx] es [texx]0.517...[/texx].
Es decir, en 4 tiradas es más probable que haya salido un 6 que que no haya salido.
Pero este problema es distinto del que tú planteas. Lo que tú preguntabas es: ¿cuál es el número medio de lanzamientos necesarios hasta que salga el primer 6? En ese caso la respuesta es 6 lanzamientos de media, como puedes comprobar tanto matemáticamente como experimentalmente con tu programa.
Esto puede parecer antiintuitivo, pero no lo es tanto.
La cuestión es que si bien en la mitad (aproximadamente) de veces habrás necesitado menos de 5 lanzamientos para sacar un 6, en un tercio de las veces necesitarás más de 6 lanzamientos para el primer 6, y por ejemplo en un [texx]16\%[/texx] de las veces necesitarás más de 10 lanzamientos para sacar el primer 6. Esto hace que al hacer la media del número de lanzamientos necesarios para obtener en primer 6 a lo largo de muchas iteraciones la media tienda hacia 6: las (muchas) veces que necesitas pocos lanzamientos para sacar un 6 se compensan con las (no tantas) veces en que necesitas muchos lanzamientos para sacar un 6.

Sobre los comentarios de programación no tengo mucho que decir, la verdad es que no sé nada de Flash. Pero a mí me parece una barbaridad de tiempo que el programa te tarde 10 min en hacer 10000 iteraciones.
En línea

La ecuación más bonita de las matemáticas: [texx]d^2=0[/texx]
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 8.626



Ver Perfil
« Respuesta #13 : 22/04/2019, 07:34:44 pm »

si se tienen más de 3 tiradas, el 6 sale en alguna. Por eso en 4 tiradas es esperable que el 6 salga. ¿Qué opinan?

¿Por qué no se puede decir lo mismo de otro número cualquiera? El dado tiene seis caras iguales, todos los números son equiprobables, tienen la misma probabilidad de salir, 1/6.

Buenas noches.
En línea

Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!