Lanzamiento de 2 dados

Función

# Esta función lanza 2 dados B veces, luego los suma para saber el resultado de lanzarlos y los 
# resta para saber la diferencia que hay entre ambos dados, por último retorna una lista que 
# contiene 2 listas con los resultados de las B sumas y las B restas.
Dado = function(B){
  set.seed(0)
  dado1 = 0
  dado2 = 0
  sumaDados = 0
  restaDados = 0
  for (i in 1:B) {
    dado1[i] = sample(1:6, 1, replace = TRUE)
    dado2[i] = sample(1:6, 1, replace = TRUE)
    sumaDados[i] = dado1[i] + dado2[i]
    restaDados[i] = abs(dado1[i] - dado2[i])
  }
  return(list(sumaDados, restaDados))
}

#En este punto se llama la libreria que sirve para obtener el coeficiente asimetria que tienen nuestros datos, los vamos a guardar en una lista para luego comprar como fue cambiando la simetria de los datos con a medida que aumentan los lanzamientos de los dados.
library(e1071)
asimetria = 0

Prueba con 10 lanzamientos

# En estos fragmentos de código cambiamos la cantidad de iteraciones (lanzamientos) que queremos 
# realizar de los 2 dados, guardamos los resultados separados en 2 variables y mostramos en un
# gráfico de barras para hacerlo más simple y visual, para así analizarlo mejor.
iteraciones = 10
datos = Dado(iteraciones)
suma = datos[1]
resta = datos[2]
table(suma)/iteraciones
## suma
##   4   5   6   7   8   9  10 
## 0.1 0.2 0.1 0.2 0.2 0.1 0.1
asimetria[1] = skewness(table(suma)/iteraciones)
plot(table(suma)/iteraciones,type="h",xlab="resultado de la suma",ylab="probabilidad",main="Probabilidades de la suma de 2 dados 10 veces")

table(resta)/iteraciones
## resta
##   0   1   2   3   4   5 
## 0.1 0.1 0.1 0.3 0.3 0.1
plot(table(resta)/iteraciones,type="h",xlab="diferencia entre los dados",ylab="probabilidad",main="Probabilidades del valor absoluto de la resta de 2 dados 10 veces")

Al simular los 10 lanzamientos con los dos dados, obtuvimos valores en la suma de ambos desde 4 hasta 10, estos con una probabilidad muy uniforme (entre 0.1 y 0.2). En este escenario, se niega la posibilidad de obtener tanto valores muy pequeños como valores altos, por lo que discrepa con la realidad, donde estos valores faltantes (2, 3, 11, 12) sí son posibles de obtener. Además, en la resta de ambos valores se tienen las probabilidades más altas (0.3) para 3 y 4, lo que nos podría indicar que entre ambos dados no suelen ser muy similares los valores del lanzamiento.

Prueba con 100 lanzamientos

iteraciones = 100
datos = Dado(iteraciones)
suma = datos[1]
resta = datos[2]
asimetria[2] = skewness(table(suma)/iteraciones)
plot(table(suma)/iteraciones,type="h",xlab="resultado de la suma",ylab="probabilidad",main="Probabilidades de la suma de 2 dados 100 veces")

plot(table(resta)/iteraciones,type="h",xlab="diferencia entre los dados",ylab="probabilidad",main="Probabilidades del valor absoluto de la resta de 2 dados 100 veces")

Prueba con 1000 lanzamientos

iteraciones = 1000
datos = Dado(iteraciones)
suma = datos[1]
resta = datos[2]
asimetria[3] = skewness(table(suma)/iteraciones)
plot(table(suma)/iteraciones,type="h",xlab="resultado de la suma",ylab="probabilidad",main="Probabilidades de la suma de 2 dados 1000 veces")

plot(table(resta)/iteraciones,type="h",xlab="diferencia entre los dados",ylab="probabilidad",main="Probabilidades del valor absoluto de la resta de 2 dados 1000 veces")

Prueba con 10000 lanzamientos

iteraciones = 10000
datos = Dado(iteraciones)
suma = datos[1]
resta = datos[2]
asimetria[4] = skewness(table(suma)/iteraciones)
plot(table(suma)/iteraciones,type="h",xlab="resultado de la suma",ylab="probabilidad",main="Probabilidades de la suma de 2 dados 10000 veces")

plot(table(resta)/iteraciones,type="h",xlab="diferencia entre los dados",ylab="probabilidad",main="Probabilidades del valor absoluto de la resta de 2 dados 10000 veces")

Prueba con 100000 lanzamientos

iteraciones = 100000
datos = Dado(iteraciones)
suma = datos[1]
resta = datos[2]
asimetria[5] = skewness(table(suma)/iteraciones)
plot(table(suma)/iteraciones,type="h",xlab="resultado de la suma",ylab="probabilidad",main="Probabilidades de la suma de 2 dados 100000 veces")

plot(table(resta)/iteraciones,type="h",xlab="diferencia entre los dados",ylab="probabilidad",main="Probabilidades del valor absoluto de la resta de 2 dados 100000 veces")

Con los resultados obtenidos con 100, 1000, 10000 y 100000 lanzamientos podemos observar que entre más realicemos, las probabilidades se van acercando más a los resultados obtenidos por la función de masa, de la forma:

\[\ p(x)= \left \{ \begin{aligned} \frac{6-|7-x|}{36}, \hspace{1cm}x=2,3,..,12\\\ 0, \hspace{1cm} en\hspace{0.1 cm}cualquier\hspace{0.1 cm}otro\hspace{0.1 cm}caso \end{aligned} \right.\]

Conforme se van haciendo más lanzamientos, podemos ver como la frecuencia de la suma es más simétrica esto se puede observar visualmente pero también podemos confirmarlo con los coeficientes de asimetria de cada prueba los cuales son los siguientes:

asimetria
## [1]  0.22908106 -0.50423967 -0.04929667  0.11207081  0.07683338

el pico se concentra en el valor intermedio y va disminuyendo hacia los valores externos. Pero en la resta, vemos un comportamiento decreciente, se concentran la mayoría de lanzamientos en una diferencia pequeña y para cada diferencia mayor la frecuencia disminuye.