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