O método de Monte Carlo: algumas aplicações na Escola Básica

Propaganda
1
Universidade de São Paulo/Faculdade de Educação
Seminários de Ensino de Matemática (SEMA-FEUSP)
Coordenador: Nílson José Machado
novembro/2009
O método de Monte Carlo: algumas aplicações na Escola
Básica
Marisa Ortegoza da Cunha
[email protected]
Sob o nome “Monte Carlo”, há vários métodos que seguem o mesmo paradigma:
a utilização de números aleatórios como valores de variáveis envolvidas no processo,
para viabilizar sua simulação.
O nome do método remete diretamente à cidade de Monte Carlo, em Mônaco,
famosa por seu cassino; a roleta, o jogo de azar, caracterizam dispositivos simples de
produção de números aleatórios.
A obtenção de grandes sequências de números aleatórios não é, no entanto, uma
tarefa simples. Em 1946, John Von Neumann propôs o primeiro algoritmo para gerar
números “pseudo” aleatórios, chamado “método do meio dos quadrados”. Sua lógica é a
seguinte: consideremos um número inicial qualquer, entre 0 e 1, com quatro casas
decimais. Por exemplo, x0 = 0,3542. Calculamos x02 = 0,12545764. Formamos, então, o
número x1, com as quatro casas centrais: x1 = 0,5457. Repetindo o procedimento,
teremos:
x0 = 0,3542
x02 = 0,12545764
x1 = 0,5457
x12 = 0,29778849
x2 = 0,7788
x22 = 0,60652944
x3 = 0,6529
Há inúmeros algoritmos que visam à geração de números randômicos. Em
computação, cada linguagem de programação tem definida uma função “pseudorandômica”, cuja descrição é de código “caixa-preta”, isto é: dada uma entrada
2
(geralmente chamada de seed = semente) qualquer, o usuário não sabe que
procedimentos serão utilizados pela função para a produção do resultado. Geralmente
são funções de muitas variáveis e uma possibilidade – entre tantas outras-, é a função
também considerar, nos seus cálculos, o horário no relógio interno à CPU, no exato
instante em que determinada linha do programa é executada.
Há muitas aplicações para os métodos de Monte Carlo, principalmente quando a
realização do processo envolve riscos ou custos muito altos. A ideia é: dado um
problema que contém alguma variável aleatória, obter uma aproximação do resultado,
atribuindo a essa variável valores fornecidos por algum método de geração de números
aleatórios.
Algumas aplicações na escola básica
1. Estimativa de áreas - Queremos avaliar a área da região plana destacada na figura
abaixo, contida num quadrado de lado 10cm:
São tomados, no interior do quadrado, 100 ponto ao acaso:
3
Desses pontos, aconteceu de 22 pertencerem ao interior da região assinalada.
Logo, uma aproximação para sua área é dada pela relação: 22/100 = área/100 = 22cm2.
No caso, por se tratar de uma figura poligonal, é possível calcular sua área com
precisão: 19,75cm2.
2. Aproximação do
- A ideia de estimar o valor da área de uma região pode ser útil
numa aproximação de . Consideremos um quadrado de lado r e o quarto de círculo
inscrito nele:
Sabemos que a área da região destacada é
e a do quadrado é r2. Tomando N pontos
aleatórios no interior do quadrado, sendo N’ a quantidade desses pontos pertencentes à
região cinza, teremos:
=
=
. Daí, obtemos a aproximação:
4
3. Obtenção das raízes de equações - É bem conhecido, na área de cálculo numérico, o
método da bisecção para obter uma aproximação das raízes de uma equação. Trata-se de
um método simples e seguro, cuja precisão pode ser estipulada a priori (na prática, essa
precisão depende também da quantidade de casas decimais consideradas). Ele se baseia
no seguinte fato: dada uma equação f(x) = 0, com f(x) contínua num intervalo [a,b], se
f(a).f(b) < 0, então existe pelo menos um zero de f(x) entre a e b.
A ideia do método é “cercar” esse valor, diminuindo gradativamente o
comprimento do intervalo que o contém.
Para isso, tomamos o ponto médio do
intervalo [a,b]. Seja x1 esse ponto. Se f(x1) = 0, x1 já é a raiz procurada. Se não, ficamos
com a metade que contém a raiz e “descartamos” a outra. Procedemos dessa forma até
chegar a um valor de x tal que f(x) seja satisfatoriamente próximo de zero:
Um exemplo: Consideremos a equação f(x) = x3 – 9x + 2 = 0.
Temos que f(0) = 2 > 0 e f(1) = -6 < 0.
Logo, há pelo menos uma raiz dessa equação, no intervalo [0,1].
Calculamos o ponto médio desse segmento: x1 = 0,5.
Como f(0,5) = -2,375 < 0, a raiz se encontra no intervalo [0 ; 0,5].
5
Novamente, consideramos o ponto médio: 0,25.
Como f(0,25) = -0,234, a raiz se encontra no intervalo [0 ; 0,25]
Ponto médio de [0 ; 0,25]= 0,125
f(0,125) = 0,877 > 0; logo, há raiz entre 0,125 e 0,25:
Procedendo dessa forma, e trabalhando com 3 casas decimais, chegamos ao
valor 0,223 como aproximação da raiz procurada (f(0,223) = 0,004).
Que alternativa o Método de Monte Carlo pode representar, nesse problema?
Ora, por que o ponto médio? Se a ideia é diminuir, gradativamente, o comprimento do
intervalo que contém a raiz, então qualquer número – aleatoriamente escolhido ou
sorteado - no intervalo, pode fazer as vezes do ponto de secção!
Como atividade com os alunos, o exercício anterior pode ser refeito, adotando a
estratégia de Monte Carlo, e usando “chutes”, como números aleatórios divisores dos
intervalos. Nesse processo, os alunos não mais fariam uma ação mecânica – calcular o
ponto médio de um segmento-, mas teriam que observar os dois extremos, e comparálos (comparação de decimais), para fornecer um número intermediário.
Bibliografia
M. DOMBROVSKY. O MÉTODO DE MONTE CARLO. Tradução de M.
Dombrovsky. Moscou: Editora MIR, 1983.
http://www.eltonminetto.net/docs/monteCarloDistribuido.pdf
http://www.facef.br/novo/publicacoes/IIforum/Textos
Download