Práctica 1

COMPETENCIA: Analizar los conceptos básicos de probabilidad, específicamente

el de aleatoriedad y VARIABLE ALEATORIA, como base de los procesos de

simulación estocástica.

DESCRIPCIÓN:

Realizar un programa que genere números aleatorios para simular los siguientes

eventos:

a. Lanzar una moneda.

b. Tirar un dado de seis lados.

c. Tirar dos dados de seis lados.

El programa debe mostrar el menú con las tres opciones y preguntar el número de veces

que va a simularse el evento, lanzarse la moneda o dados. Mostrar el detalle de los

lanzamientos y el conteo de las coincidencias de los resultados obtenidos.

Para el reporte registrar los datos obtenidos:

Lanzar una moneda

Sabemos que la probabilidad de que nuestra variable aleatoria XX (1 si es el anverso, 2 si el reverso) es 12\dfrac{1}{2}, y por el teorema de los grandes números después de un número grande de lanzamientos tendrá converger a ese valor. De hecho, esta es una distribución de Bernoulli. Dicho número grande está dado por el umbral de error que queremos asumir. Para nuestro caso δ=5%\delta=5\%.

Simulación

Generamos una matriz de experimentos dado el evento de lanzar una moneda. La idea es separar el experimento de las repeticiones.

simulate(
    lambda: [random.randint(1, 2)], 
    lambda experiment: [experiment() for _ in range(0,10000)]
)

Resultados

Vemos que nuestro experimento aleatorio muestra los resultados esperados (la convergencia hacia 1/21/2) 51.2%50%<1.2%<5%|51.2\%-50\%|<1.2\%<5\%. Que fue obtenido con 1000010000 experimentos pseudoaleatorios.

Lanzamientos
1        51.2%
2        48.8%

Tirar un dado de seis lados

Sabemos que la probabilidad de que nuestra variable aleatoria XX (los valores del dado de 1 al 6) es 160.16666...\dfrac{1}{6}\approx0.16666... Por el teorema de los grandes números después de un número grande de lanzamientos tendrá converger a ese valor. También sigue una distribución de Bernoulli. Dicho número grande está dado por el umbral de error que queremos asumir. Para nuestro caso δ=5%\delta=5\%.

Simulación

Generamos una matriz de experimentos dado el evento de tirar un dado de seis lados. La idea es separar el experimento de las repeticiones que son independientes entre sí.

simulate(
    lambda: [random.randint(1, 6)], 
    lambda experiment: [experiment() for _ in range(0,50000)]
)

Resultados

Vemos que nuestro experimento aleatorio muestra los resultados esperados (la convergencia hacia 1/61/6) 16μ=16.66666...%16.666666667%<5%|\dfrac{1}{6}-\mu|=|16.66666...\%-16.666666667\%|<5\%. Que fue obtenido con 5000050000 experimentos pseudoaleatorios.

Tiros
1       17.1%
5       17.1%
6       16.7%
2       16.6%
3       16.6%
4       15.9%

Tirar dos dados de seis lados

Sabemos que las probabilidades de nuestra variable aleatoria XX (los valoes del dado de 2 al 12 que son obtenidos tras sumar de valores de los dados) son p(X=2)=136,p(X=3)=236,p(X=4)=336,p(X=5)=436,p(X=6)=536,p(X=7)=636,p(X=8)=536,p(X=9)=436,p(X=10)=336,p(X=11)=236,p(X=12)=136p(X=2)=\dfrac{1}{36},p(X=3)=\dfrac{2}{36},p(X=4)=\dfrac{3}{36},p(X=5)=\dfrac{4}{36},p(X=6)=\dfrac{5}{36},p(X=7)=\dfrac{6}{36},p(X=8)=\dfrac{5}{36},p(X=9)=\dfrac{4}{36},p(X=10)=\dfrac{3}{36},p(X=11)=\dfrac{2}{36},p(X=12)=\dfrac{1}{36} Por el teorema de los grandes números después de un número grande de lanzamientos tendrá converger a esos valores; nuestra hipótesis es que X=7X=7 es el valor con mayor probabilidad de ocurrir. También sigue una distribución de Bernoulli. Dicho número grande está dado por el umbral de error que queremos asumir. Para nuestro caso δ=5%\delta=5\%.

Simulación

Generamos una matriz de experimentos dado el evento de tirar dos dados de seis lados y sumar ambas caras. La idea es separar el experimento de las repeticiones.

simulate(
    lambda: [sum([random.randint(1, 6),random.randint(1, 6)])], 
    lambda experiment: [experiment() for _ in range(0,50000)]
)

Resultados

Vemos que nuestro experimento aleatorio muestra los resultados esperados (la convergencia hacia 6/366/36) 1616.7%<5%|\dfrac{1}{6}-16.7\%|<5\%. Que fue obtenido con 5000050000 experimentos pseudoaleatorios.

Tiros
7           16.7%
8           14.1%
6           13.7%
5           11.3%
9           10.9%
10           8.5%
4            8.2%
11           5.6%
3            5.5%
12           2.8%
2            2.8%

Conclusiones

Por los resultados, podemos concluir que las hipótesis fueron exitosas: el teorema de los grandes números se ha cumplido.

Referencias

https://gist.github.com/sanchezcarlosjr/a8633fd691febea9c88f3c86aba173d8