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 .
Realizar simulaciones para diferentes valores de n y determinar cuántos de los puntos están dentro del círculo y cuál es su estimación de π para cada caso.
# Fijar "semilla" para reproducibilidad de resultado:
set.seed(123)
# Generar funcion en torno a n para realizar iteraciones
estimar_pi <- function(n){
X <- runif(n, min=0, max=1)
Y <- runif(n, min=0, max=1)
# Determinar si cada punto (Xi,Yi) se encuentra dentro del círculo.
dentro_circulo <- (X - 0.5)^2 + (Y - 0.5)^2 < 0.25
# Contar cuántos puntos están dentro del círculo y estimar π.
puntos_dentro_circulo <- sum(dentro_circulo)
estimacion_pi <- 4 * (puntos_dentro_circulo / n)
return(list(puntos_dentro_circulo = puntos_dentro_circulo, estimacion_pi = estimacion_pi))}
# Estimar π para diferentes valores de n
resultados_1000 <- estimar_pi(1000)
resultados_10000 <- estimar_pi(10000)
resultados_100000 <- estimar_pi(100000)
## Número de puntos dentro del círculo: 800
## Estimación de π: 3.2
## Número de puntos dentro del círculo: 7882
## Estimación de π: 3.1528
## Número de puntos dentro del círculo: 78600
## Estimación de π: 3.144
Mientra mas grande sea la muestra (n: 1000, 10000 y 100000) mas aproximado es el valor estimado de π al valor real.