Estimación del valor de π

1. Planteamiento del problema:

La siguiente figura sugiere como estimar el valor de π con una simulación. En la figura, un circuito con un área igual a π/4, está inscrito en un cuadrado cuya área es igual a 1. Se elige de forma aleatoria n puntos dentro del cuadrado. La probabilidad de que un punto esté dentro del círculo es igual a la fracción del área del cuadrado que abarca a este, la cual es π/4. Por tanto, se puede estimar el valor de π/4 al contar el número de puntos dentro del círculo, para obtener la estimación de π/4. De este último resultado se encontrar una aproximación para el valor de π.

¿Cuántos de los puntos están dentro del círculo? ¿Cuál es su estimación de π?

2. Metodología solución

2.1 Función:

Se ha desarrollado una función que utiliza simulaciones para estimar el valor de π. Esta función toma un parámetro ‘n’, que indica cuántas simulaciones se realizarán. En cada simulación, se genera pares de coordenadas aleatorias (X, Y) en el rango de 0 a 1, que representan puntos dentro de un cuadrado de 1x1. Luego, se calcula la distancia entre cada punto y el centro del cuadrado (0.5, 0.5) utilizando la fórmula de la distancia.

El siguiente paso es determinar cuántos puntos caen dentro del circulo. Esto se logra comparando las distancias calculadas con el radio del círculo (0.5). Luego, se identifican cuántos puntos están dentro del círculo en cada simulación y se estima π/4 dividiendo esta cantidad por ‘n’.

Finalmente, multiplicamos la estimación de π/4 por 4 para obtener una estimación del valor de π. Este proceso de simulación permite aproximarse al valor de π y luego se visualiza los resultados en gráficas que muestran la distribución de puntos.

#install.packages("plotrix")
library(plotrix)


#Creando una función llamada Puntos

Puntos<- function(n){
  #Constantes 0 y 1
    Mi = 0
    Ma = 1
  #Variables aleatorias
    X <- runif(n, Mi ,Ma)
    Y <- runif(n, Mi, Ma)
  #Calculo de la distancia d elos puntos
    Dist. <- (X-0.5)^2 + (Y-0.5)^2

  # Crear el gráfico 
  plot(X, Y, cex = 0.5 , pch = 7, xlim = c(0, 1), ylim = c(0, 1), asp = 1, col = "white")
  
  # Dibujar un círculo con área π/4 dentro de un cuadrado 1x1
  draw.circle(0.5, 0.5, 1/2 , border = "darkgreen")
  
  # Pintar los puntos dentro y fuera del circulo de color diferente
  points(X[Dist. < 0.25], Y[Dist. < 0.25], cex = 0.5, pch = 7, col = "#A9DFBF")
  points(X[Dist. >= 0.25], Y[Dist. >= 0.25], cex = 0.5, pch = 7, col = "#D2B4DE")
  
  #Contar puntos dentro del circulo
  
  P_in <- sum(Dist.<0.25)
  
  #Estimación de π/4 
  
  Est_pi_div_4 <- P_in/n
  
  #Estiamación de π
  Est_pi <- Est_pi_div_4 * 4
  
  Tabla <- data.frame(Puntos_en_Circulo= P_in,
                      Estimación_Pi_div_4 = Est_pi_div_4,
                      Estimación_Pi= Est_pi)
  return(Tabla)
  
}

2.2 Comparación simulaciones

Mil Puntos

Puntos(1000)

Puntos_en_Circulo Estimación_Pi_div_4 Estimación_Pi
796 0.796 3.184

Diez Mil Puntos

Puntos(10000)

Puntos_en_Circulo Estimación_Pi_div_4 Estimación_Pi
7847 0.7847 3.1388

Cien Mil Puntos

Puntos(100000)

Puntos_en_Circulo Estimación_Pi_div_4 Estimación_Pi
78420 0.7842 3.1368

3. Conclusión

A medida que aumentamos el tamaño de la muestra, la estimación de π se vuelve más precisa y se acerca al valor real de π. Esto se debe a que con una muestra más grande, se está generando más puntos aleatorios y, por lo tanto, obteniendo una estimación más confiable.

En términos generales, se espera que la estimación de π sea menos precisa con una muestra pequeña (1000) y más precisa con muestras más grandes (10000 y 100000). Esto ilustra la importancia de la cantidad de datos en el proceso de estimación y cómo una muestra más grande tiende a reducir la variabilidad en la estimación.