un círcuito 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 éste, 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 π.
Paso 1: Generación de coordenadas X , Y.
Generamos n puntos aleatorios en el plano (X, Y) usando una distribución uniforme en el intervalo [0, 1]. Esto significa que todos los puntos tienen la misma probabilidad de estar en cualquier parte del cuadrado de 1x1.
# Paso 1: Generación de coordenadas X e Y
set.seed(42) # Para reproducibilidad
n <- 10000000 # Número de puntos a generar
x <- runif(n, min = 0, max = 1) # Coordenadas X
y <- runif(n, min = 0, max = 1) # Coordenadas Y
Paso 2: Determinar si los puntos están dentro del círculo.
El círculo está centrado en el punto (0.5, 0.5) y tiene un radio de 0.5. Un punto (Xi, Yi) estará dentro del círculo si la distancia desde (Xi, Yi) hasta (0.5, 0.5) es menor que 0.5. En términos de la fórmula para la distancia, esto significa que el punto está dentro del círculo si:
(𝑋i−0.5 )2+(𝑌𝑖−0.5 )2<0.25
#Paso 2:Determinar si los puntos están dentro del círculo
dentro_del_circulo <- (x - 0.5)^2 + (y - 0.5)^2 < 0.25
Paso 3: Calcular la proporción de puntos dentro del círculo y Estimar π.
La fracción de puntos que caen dentro del círculo en relación con el total de puntos generados es una estimación de la razón entre el área del círculo y el área del cuadrado, es decir, π/4. Por lo tanto, podemos estimar π como:
𝜋^=(𝑛dentro del circulo /𝑛)*4
num_dentro_del_circulo <- sum(dentro_del_circulo)
num_dentro_del_circulo
## [1] 7852854
pi_estimada <- (num_dentro_del_circulo / n) * 4
pi_estimada
## [1] 3.141142
Análisis
1. El comando set.seed(42) se utiliza para establecer una “semilla” en el generador de números aleatorios. Esto significa que cada vez que se ejecute el código, los números aleatorios generados (en este caso, las coordenadas x y y) serán los mismos. Establecer una semilla es útil para:
Reproducibilidad y comparabilidad: Al tener los mismos números aleatorios, se puede comparar resultados al cambiar otros parámetros del experimento sin la interferencia de la variabilidad aleatoria.
2. El valor de n determina el número de puntos que generas en el cuadrado, una n de 100000 tiene Mayor precisión: Al aumentar el número de puntos, la estimación de π se vuelve más precisa. Esto se debe a que con más puntos, la proporción de puntos dentro del círculo será más representativa de la fracción π/4.
3.El valor estimado de π se basa en el número de puntos que caen dentro del círculo inscrito en el cuadrado. Dado que estamos utilizando una simulación aleatoria, el valor estimado de π no será exactamente igual a 3.14159… pero estará razonablemente cerca, dependiendo del número de puntos n. A medida que aumentamos n, la estimación de π se volverá más precisa, por lo tanto nuestra estimación nos dio:
Número de puntos dentro del círculo: El valor num_dentro_del_circulo representa cuántos de los puntos generados aleatoriamente están dentro del círculo inscrito en el cuadrado. En este caso, de los 10000000 puntos generados, 7852854 cayeron dentro del círculo.
Estimación de π:El valor pi_estimada es la estimación de π basada en la proporción de puntos que cayeron dentro del círculo, multiplicada por 4, dado que el área del círculo es π/4 del área del cuadrado. La estimación de π basada en esta simulación es aproximadamente 3.141142, que está cerca del valor real de π (3.14159…). Esta pequeña diferencia se debe al uso de una simulación con un número limitado de puntos. Si incrementas n, la estimación se acercará más al valor verdadero de π.