O número \(\pi\) é, há tempos, um tópico de bastante interesse na matemática e em várias áreas que a envolvem. Por ser irracional, \(\pi\) não possui representação finita, de forma que a sua estimação é um âmbito sempre muito explorado. E, é nesse campo da estimação de \(\pi\), que este trabalho será desenvolvido.
Utilizando-se do fato amplamente conhecido que a área de uma circunferência de raio \(r\) é dada por \(\pi\cdot r^2\). Será analisada uma circunferência centrada em \((0,0)\) e de raio \(1\), ou seja, de área \(\pi\). Mais precisamente, apenas o quarto dessa circunferência presente no primeiro quadrante, que proporcionalmente, terá área igual a \(\dfrac{1}{4}\cdot\pi\).
Sendo assim, a ideia é estimar a área desse quarto de circunferência, pois, desta forma, se estará estimando o valor de \(\dfrac{\pi}{4}\). Basta, então, multiplicar o valor estimado por \(4\), que se terá uma estimativa de \(\pi\).
Levando em conta que o objetivo é calcular uma área, surge como uma opção bastante viável o uso da integração. A função cuja área abaixo do gráfico deseja ser calculada é conhecida, pois:
\[y^2 + x^2 = 1 \therefore \qquad y = \pm \sqrt{1-x^2}\]
Porém, é de interesse apenas a parte restrita ao primeiro quadrante, então, a função procurada restringe-se a:
\[y = \sqrt{1-x^2}, \qquad 0 \leq x \leq 1\]
Além disso, uma integral pode ser escrita como:
\[\int_{a}^{b}{f(x)}dx=\lim _{n \to \infty}\sum_{i=0}^{n}{f(x_{i})}\Delta x\]
Em que \(\Delta x = \dfrac{b-a}{n}\) e \(x_{i} = a + i\cdot\Delta x\). Para a execução da estimação, o \(x_i\) ao invés de equidistantemente distribuído, será obtido através de uma distribuição uniforme em \([a,b]\), o que é algo razoável de ser feito.
Calculou-se, então, o valor estimado de \(\pi\) quando \(n\) (o número de elementos na amostra) vale \(1000\):
# ET591-EstComp
# MatheusLeite
# Biblioteca Necessária
library(tidyverse)
# Número de elementos na amostra
n <- 1000
# Inicialização da semente
set.seed("2507")
# Construção do dataframe
dados <- tibble(
Order = 1:n,
U.x = runif(n, 0, 1),
y = sqrt(1 - U.x^2),
PiHat = 4*cummean(y)
)
# Imprime-se valor estimado de pi na tela
cat("Valor de Pi Estimado:", round(dados$PiHat[n], digits = 5))
## Valor de Pi Estimado: 3.15375
Ou seja, com uma amostra de \(1000\) pontos uniformemente distribuídos em \([0,1]\), obteve-se uma estimativa para o valor de \(\pi\) igual a \(3.15375\), que já é consideravelmente próximo ao valor real para um número não tão grande elementos na amostra.
Para melhor interpretação do comportamento da estimação, podemos gera o gráfico que apresenta a performance dos valores estimados com o aumento de elementos na amostra:
É notável que, de fato, a estimativa se aproxima do verdadeiro valor de \(\pi\). E, conforme visto na Figura 1, a estimação vai obtendo melhores estimativas a medida que o número de elementos na amostra aumenta. Portanto, os resultados foram bastante satisfatórios.