1. Estimación del valor de π

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 π.

2. Conceptos y configuración del problema

Simulación Monte Carlo: La simulación Monte Carlo es una técnica que utiliza muestreo aleatorio para obtener resultados numéricos para problemas que podrían ser determinísticos en principio. En este caso, se utiliza para estimar el valor de π.

Configuración Inicial:

Concepto: Cuadrado y Círculo Inscrito. Descripción: Tenemos un cuadrado de lado 1. Dentro de este cuadrado, se inscribe un círculo con radio 0.5. El área del círculo es π/4 y el área del cuadrado es 1.

3. Pasos de la estimación

Generación de Puntos Aleatorios: Generamos coordenadas aleatorias (x, y) para puntos dentro del cuadrado. Estas coordenadas se generan de una distribución uniforme entre 0 y 1, lo que significa que cada punto tiene igual probabilidad de caer en cualquier lugar dentro del cuadrado.

Determinación de la Posición del Punto: Para cada punto generado, calculamos su distancia al centro del círculo (0.5, 0.5). Si la distancia es menor a 0.5, el punto está dentro del círculo. Matemáticamente, esto se verifica usando el cuadrado de la distancia para ser más eficiente. Conteo de Puntos: Contamos cuántos de los puntos aleatorios caen dentro del círculo. La proporción de estos puntos con respecto al total de puntos generados es una estimación de la relación entre el área del círculo y el área del cuadrado.

Estimación de π: Usamos la proporción de puntos que cayeron dentro del círculo para estimar π. Dado que el área del círculo es π/4 veces el área del cuadrado, multiplicamos la proporción anterior por 4 para obtener una estimación de π.

estimate_pi_with_plot <- function(n) {
  # Generar n coordenadas x y y utilizando una distribución uniforme entre 0 y 1
  x_coords <- runif(n, 0, 1)
  y_coords <- runif(n, 0, 1)
  
  # Inicializar el contador de puntos dentro del círculo
  points_inside_circle <- 0
  
  # Vector para almacenar los colores de los puntos
  point_colors <- character(n)
  
  # Verificar si cada punto (Xi, Yi) está dentro del círculo
  for (i in 1:n) {
    xi <- x_coords[i]
    yi <- y_coords[i]
    
    # Calcular el cuadrado de la distancia desde el centro (0.5, 0.5)
    distance_squared <- (xi - 0.5)^2 + (yi - 0.5)^2
    
    # Verificar si la distancia al cuadrado es menor que 0.25
    if (distance_squared < 0.25) {
      points_inside_circle <- points_inside_circle + 1
      point_colors[i] <- "blue" # Punto dentro del círculo
    } else {
      point_colors[i] <- "red"  # Punto fuera del círculo
    }
  }
  
  # Estimar el valor de pi
  pi_estimate <- 4 * (points_inside_circle / n)
  
  # Graficar los puntos
  plot(x_coords, y_coords, col = point_colors, pch = 16, xlab = "X", ylab = "Y", 
       main = paste("Estimación de π con", n, "puntos: ", round(pi_estimate, 4)), 
       xlim = c(0, 1), ylim = c(0, 1), asp = 1) # Ajustar los límites de los ejes y mantener la relación de aspecto
  symbols(0.5, 0.5, circles = 0.5, add = TRUE, inches = FALSE, bg = NA)
  
  return(pi_estimate)
}
estimate_pi_with_plot(100)

## [1] 3.12
estimate_pi_with_plot(1000)

## [1] 3.132
estimate_pi_with_plot(10000)

## [1] 3.1488
estimate_pi_with_plot(1000000)

## [1] 3.13828