O método de Monte Carlo foi popularizado pelo matemático John von Neumann durante o período da Segunda Guerra Mundial. Neumann foi um dos principais nomes da Teoria dos Jogos, pouco tempo depois, publicou o livro Teoria dos Jogos e o Comportamento Econômico, livro no qual ele pôde se aprofundar no tocante a incerteza inerente às decisões dos agentes.
O método surgiu em Los Alamos, no âmbito do Projeto Manhattan e foi desenvolvido com o intuito de simular processos estocásticos, tendo sido utilizado por Neumann para simular o comportamento das partículas em diferentes materiais, permitindo verificar a viabilidade das reações atômicas, o nome do método foi uma homenagem ao Cassino Monte Carlo, um complexo de jogos e entretenimento localizado no principado de Mônaco. A escolha do nome buscava evidenciar a estrita relação do método com a aleatoriedade e sua natureza altamente probabilística e imprevisível. Essa imprevisibilidade, entretanto, permite que o método seja suficientemente flexível para lidar com elevados graus de incertezas e relações pouco determinísticas.
Um exemplo clássico de aplicação do método de Monte Carlo consiste na estimativa da área de um lago com formato irregular. Suponha que você foi incumbido da missão de calcular a área de um lago cuja forma é extremamente irregular. Para cumpri-la, você só dispõe de uma longa trena e dos conceitos básicos de geometria analítica. E, com o auxílio do método de Monte Carlo, isso é tudo que você precisa.
Precisamos definir uma abordagem inicial para solucionar esse problema, o primeiro passo poderia ser a inscrição do lago em uma forma geométrica mais simples, como um círculo, cuja fórmula do cálculo é amplamente conhecida. No entanto, essa aproximação ainda pode resultar em uma estimativa muito grosseira. Para conseguirmos uma aproximação mais precisa, devemos definir qual o percentual da área do Lago em relação à àrea do círculo.
O primeiro passo para calcular a área do lago utilizando o método de Monte Carlo consiste na representação do lago em um plano cartesiano, onde cada ponto do lago vai ser descrito por um par de coordenadas (x, y). Essa abordagem visa facilitar a geração de pontos aleatórios para, posteriormente, verificar o percentual dos pontos aleatóriamente definiram percentem ao perimetro da representação do lago.
Para aplicar o método, geramos 1000 pares de coordenadas aleatórias distribuídas estocatiscamente dentro do círculo que circunscreve a área do lago. Em Python, podemos usar a biblioteca random para simular os esses pontos e verificar o percentual dessa distribuição caíram dentro do lago.
Uma vez que os pontos foram gerados, podemos prosseguir com o cálculo, A fórmula para estimar a área do lago circunscrito em um círculo, utilizando o método de Monte Carlo, é:
Área do Lago (A_lago) ≈ Área do Círculo (A_circulo) × (N_dentro / N_total)
Onde:
A_circulo: Área do círculo que circunscreve o lago.N_dentro: Número de pontos aleatórios que caem dentro do lago.N_total: Número total de pontos aleatórios gerados dentro do retângulo.Supondo que o raio do círculo no qual a ilha está circunscrita seja de 4.7km, a função que descreve a área é f(R)=πR², temos f(R)=3,14*4,7² de forma que a área do círculo é equivalente a 69,36Km²
Substituindo na fórmula Área do Lago (A_lago) ≈ 69,36 × (574 / 1000)
De forma que a área estimada para a ilha é 39,81km²
Se quiser entender melhor como o método funciona aqui está o link para o repositório com o código