Problema

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 .

Objetivo

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.

Código en R

# 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)

Resutados

n=1000

## Número de puntos dentro del círculo: 800
## Estimación de π: 3.2

n=10000

## Número de puntos dentro del círculo: 7882
## Estimación de π: 3.1528

n=100000

## Número de puntos dentro del círculo: 78600
## Estimación de π: 3.144

Conclusión

Mientra mas grande sea la muestra (n: 1000, 10000 y 100000) mas aproximado es el valor estimado de π al valor real.