Notebook 27
Integrais (Monte Carlo)

É possível calcular integrais utilizando métodos não-determinísticos, conhecidos genericamente como "métodos de Monte Carlo", em oposição a métodos determinísticos, como a regra do trapézio e de Simpson. A mais intuitiva (e menos eficiente) das técnicas de integração com o método de Monte Carlo consiste em amostrar pontos uniformemente distribuídos em um "volume" (no sentido multidimensional da palavra) $V$ e contabilizar a fração que "cai" na região que entendemos por "integral" (a área "embaixo" do gráfico).

Considere a função $f(x) = \sqrt{1^2 + x^2}$, cujo gráfico é mostrado abaixo. Essa função é integrável analiticamente e o valor da integral para $0 \le x \le 1$ é $\pi/4$ = 0,7854... Podemos aproximar esse resultado gerando pontos aleatória e uniformemente distribuídos no "volume" que contém o gráfico da função (no caso, $0 \le x \le 1$ e $0 \le y \le 1$) e contabilizar a fração deles que está abaixo do gráfico.

Para um par $(x,y)$ sorteado, utilizamos o valor de $x$ para calcular o valor da função $f(x)$ e comparamos com o valor de $y$ sorteado. Se $y \lt f(x)$, contabilizamos o ponto como "dentro". A razão entre o número de pontos "dentro" e o número de pontos sorteados, multiplicada pelo "volume" em que se encontra o gráfico da função (no caso, 1 × 1 = 1) é uma aproximação para a integral. No gráfico abaixo, além da função estão mostrados 1000 pontos sorteados. Cada vez que o documento é carregado, um novo sorteio é realizado, e um novo valor para a aproximação da integral é obtido.

Este é um exemplo "clássico" do cálculo de uma estimativa para o valor de $\pi$. O valor aproximado de $\pi$ pode ser computado comparando-se o número de pontos aleatoriamente distribuídos sobre um quadrado com o número de pontos aleatoriamente distribuídos sobre um círculo inscrito nele. A precisão com que o valor de $\pi$ pode ser calculado cresce com o número de pontos utilizados.

Considere um círculo de raio $R$ e área $A_c = \pi R^2$. O quadrado em que está inscrito terá lado $L = 2R$ e área $A_q = L^2 = 4R$. A razão entre as áreas é $A_c/A_q = \pi R^2/4R = \pi/4$ e, portanto, $\pi = 4(A_c/A_q)$. Se os pontos estão distribuídos uniformemente sobre as áreas, o número de pontos $N_c$ dentro do círculo é (aproximadamente) proporcional à sua área e o número de pontos $N_q$ dentro o quadrado (que inclui o círculo) é proporcional à sua área. Desse modo:

\begin{equation} \pi = 4 \frac{A_c}{A_q} \simeq 4 \frac{N_c}{N_q} \end{equation}

O gráfico acima pode ser visto, geometricamente, como um quadrante de um círculo de raio $R=1$. Como a área do círculo é $\pi R^2$, a área desse quadrante é $\pi/4$. Pontos com coordenadas entre 0 e 1 estão necessariamente dentro do quadrado, mas só estarão também dentro do quardo de círculo se sua distância até a origem, dada por $d = \sqrt{x^2 + y^2}$, for menor do que o raio do círculo.

Note que para $R$ = 1 podemos escrever $y = \sqrt{1^2 - x^2}$, que é a função utilizada acima, cuja integral entre 0 e 1 é $I = \pi/4$, ou seja, $\pi = 4I$ e, portanto, $I \simeq (N_c/N_q)$.

Um pouco de matemática pode otimizar esse cálculo.

A média dos valores da função em um conjunto de pontos $x_1$, $x_2$, ..., $x_N$ é dada por:

$$\langle f \rangle = \frac{\sum_{i=1}^N f(x_i)}{N} $$

Fazendo:

$$N = \frac{(x_N - x_1)}{\Delta{x}}$$

obtemos:

$$\langle f \rangle = \frac{\sum_{i=1}^N f(x_i) \Delta{x}}{(x_N - x_1)} $$

Para $\Delta{x} \to 0$, o produto da somatória com o intervalo se aproxima da integral:

$$ \int_{x_1}^{x_N} f(x) \text{d}x \simeq \lim_{\Delta{x} \to 0} \sum_{i=1}^N f(x_i) \Delta{x} = (x_N - x_1) \langle f \rangle $$

Em resumo: o valor da integral é a média dos valores da função multiplicada pelo "volume" do espaço em que o sorteio foi feito.

Exercícios

  1. A função $\text{sinc}(x)$ é extensamente utilizada em aplicações que envolvem processamento digital de sinais e é definida como: \begin{equation} f(x) = \text{sinc}(x) = \begin{cases} 1, & x = 0 \\[2ex] \large{\frac{\sin{x}}{x}}, & x \ne 0 \end{cases} \end{equation}

    Utilize o método de Monte Carlo tal como definido acima para calcular o valor da integral no intervalo $0 \le x \le 4\pi$. O resultado deve ficar próximo de 1,492... (a integral dessa função é uma série; calcular o seu valor esperado é um exercício desafiador!)

  2. Comparado com a regra do trapézio e a regra de Simpson, o método de Monte Carlo é ineficiente para tratar esse problema. Sua importância cresce à medida que o número de dimensões do problema cresce (como em cálculos de funções de onda atômicas, por exemplo, em que dezenas ou centenas de dimensões devem ser consideradas).

    A generalização deste método para mais de uma dimensão é direta, bastando substituir $(x_N - x_1)$ pelo volume $V$ do espaço de integração (multidimensional). Utilizando esse método, faça um programa que calcule a integral de $f(x,y) = \tan{x}\tan{y}$ entre $x=0$ e $x=\pi/4$. Você deve obter algo em torno de 0,119...