Método de Monte Carlo

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Aplicação do método de Monte Carlo para determinar a área de um lago.

Designa-se por método de Monte Carlo (MMC) qualquer método de uma classe de métodos estatísticos que se baseiam em amostragens aleatórias massivas para obter resultados numéricos, isto é, repetindo sucessivas simulações um elevado numero de vezes, para calcular probabilidades heuristicamente, tal como se, de fato, se registrassem os resultados reais em jogos de casino (daí o nome). Este tipo de método é utilizado em simulações estocásticas com diversas aplicações em áreas como a física, matemática e biologia[1]. O método de Monte Carlo tem sido utilizado há bastante tempo como forma de obter aproximações numéricas de funções complexas em que não é viável, ou é mesmo impossível, obter uma solução analítica ou, pelo menos, determinística.

De acordo com (HAMMERSELEY,1964) o nome "Monte Carlo" surgiu durante o projeto Manhattan na Segunda Guerra Mundial. No projeto de construção da bomba atómica, Stanisław Ulam, von Neumann e Fermi consideraram a possibilidade de utilizar o método, que envolvia a simulação direta de problemas de natureza probabilística relacionados com o coeficiente de difusão do neutron em certos materiais. Apesar de ter despertado a atenção desses cientistas em 1948, a lógica do método já era conhecida há bastante tempo. Por exemplo, existe um registro de um artigo escrito por Lord Kelvin dezenas de anos antes, que já utilizava técnicas de Monte Carlo em uma discussão das equações de Boltzmann. (Fonte Mundo PM)

Existem três classes de algoritmos Monte Carlo: Erro-Unilateral, Erro-Bilateral e Erro-Não-Limitado.

Monte Carlo de Erro-Unilateral[editar | editar código-fonte]

Seja P um problema e A um algoritmo aleatório, A é um algoritmo Monte Carlo de Erro-Unilateral que resolve P se

i) para toda configuração x que é solução de P, , e

ii) para toda configuração x que não é solução de P, prob(A(x = NÃO)) = 1.

Ou seja, sempre que a resposta é NÃO, o algoritmo garante a certeza da resposta.

Contudo, se a resposta for SIM, o algoritmo não garante que a resposta está correta.

Monte Carlo de Erro-Bilateral[editar | editar código-fonte]

Um algoritmo aleatório A é um algoritmo de Monte Carlo de Erro-Bilateral que computa o problema F se existe um número real positivo , tal que para toda instância x de F

Monte Carlo de Erro-Não-Limitado[editar | editar código-fonte]

Os algoritmos Monte Carlo de Erro-Não-Limitado são comumente chamados de Algoritmos Monte Carlo.

Um algoritmo aleatório A é um algoritmo de Monte Carlo se para qualquer entrada x do problema F

Algoritmo de Metropolis[editar | editar código-fonte]

Fluxograma para o algoritmo de Metropolis.

O algoritmo de Metropolis, também conhecido por Algoritmo de Metropolis-Hastings, apresentado inicialmente em 1953 num artigo [2] de Nicholas Metropolis, Arianna Rosenbluth, Marshall Rosenbluth, Augusta Teller e Edward Teller, e generalizado em 1970 por W. K. Hastings [3], é provavelmente o método Monte Carlo mais utilizado na Física, e tem como objetivo determinar valores esperados de propriedades do sistema simulado, através de uma média sobre uma amostra. O algoritmo é concebido de modo a se obter uma amostra que siga a distribuição de Boltzmann.

Para se determinar a probabilidade de uma dada configuração, seria necessário conhecer a chance de ocorrência de todas as outras configurações. No caso de variáveis contínuas, seria necessário uma integração da densidade de probabilidade sobre todo o espaço de configurações, mas esse procedimento fica muito custoso quando se utiliza um número de variáveis da ordem de centenas.

A eficiência do algoritmo de Metropolis está diretamente ligada ao fato de não levar em conta a probabilidade das configurações em si, mas sim a razão entre elas, pois a razão entre as probabilidades de duas dadas configurações pode ser determinada independentemente das outras. Dadas duas configurações m e n quaisquer, a razão entre a probabilidade da configuração m, P_m, e a probabilidade da configuração n, P_n, pode ser escrita como

A partir dessa igualdade, o algoritmo de Metropolis pode ser implementado através do seguinte conjunto de regras:

(a) Geração de uma configuração inicial aleatória, ou seja, com valores aleatórios para todos os graus de liberdade do sistema, respeitando as suas restrições. Vamos atribuir o índice m a essa configuração, que é aceita para a amostra.

(b) Geração de uma nova configuração-tentativa de índice n, resultado de pequenas alterações nas coordenadas da configuração m.

(c) Se a energia da configuração n for menor que a da configuração m, inclui-se a configuração n na nossa amostra, e se atribui a ela o índice m a partir desse momento. Caso contrário, realizam-se os passos descritos nos subitems (c1) e (c2) abaixo:

(c1) Gera-se um número aleatório entre 0 e 1;

(c2) Se esse número aleatório for menor que , aceita-se na amostra a configuração n, e se atribui a ela o índice m. Caso contrário, o índice m permanece designando a configuração original.

(d) Repete-se os passos (b) e (c) até que algum critério de parada seja satisfeito. Cada uma dessas repetições é dita um passo Monte Carlo (MC).

Monte Carlo em Medicina[editar | editar código-fonte]

Esquema de transferência de fótons em uma simulação de Monte Carlo.

Monte Carlo, ao ser um algoritmo baseado em um modelo que usa distribuições de probabilidade bem estabelecidas, consegue modelar as interações individuais de fótons e elétrons de um paciente de radioterapia e seu transporte através dele ou um phantom de água.[necessário esclarecer] O principal objetivo é essencialmente caracterizar o feixe clínico produzido por uma fonte de radiação, e também para a computação direta das distribuições de doses de fótons para um dado paciente e geometria de tratamento. A limitação mais importante é o tempo necessário para calcular o grande número de histórias necessárias para reduzir as incertezas estatísticas.[4]

A simulação examina diversos processos envolvidos em materiais comuns aos aplicativos de radioterapia. Por exemplo, a distância média que um fóton viaja antes de interagir através do meio de um dos muitos processos de interação (a.k.a. caminho livre de significados), como efeito Compton ou efeito fotoelétrico.

O caminho livre médio vai depender da energia do fóton. Por exemplo, para energias entre 100 keV e 10 MeV, a diferença é bastante baixa entre a água e o osso, mas para valores mais elevados, a diferença está além do alcance. Além disso, pode deduzir-se que, para o intervalo de energia compreendido entre 10keV e 40MeV as distâncias de interação do fóton são da ordem de 20 cm para materiais comuns de baixo número atômico. Isso significa que é possível simular centenas de milhões de histórias de partículas se considerarmos o transporte de fótons sozinhos[5].

A transferência de fótons pode ser dividida en várias etapas [5]:

  1. Energia do fóton, direção, posição inicial e transporte para o primeiro limite.
  2. A distância à primeira interação e o phantom de transporte são determinados através de amostragem aleatória.
  3. Tipo de interação como espalhamento Compton ou produção de par é selecionado, como base nas primeiras etapas.
  4. Direção de qualquer nova partícula produzida.
  5. Transportar fótons dispersos até deixar geometria.
  6. Transportar eletrodo secundário com controle de Bremsstrahlung produzido.
  7. Pontuação de energia depositada em Região de Interesse (ROI).
  8. Repita os passos 1 a 7 para muitas partículas até que as quantidades pontuadas tenham incerteza estatística suficientemente pequena.

Programas de simulação[editar | editar código-fonte]

Hoje em dia existem diferentes códigos para simular transporte de fótons e elétrons em materiais arbitrários e geometrias complexas, como por exemplo PENELOPE2014 e BEAMnrc.

PENELOPE

PENELOPE (Penetration and Energy Loss of Positrons and Electrons) é utilizado para simular interações de elétrons e de pósitrons (como dispersão elástica e emissão bremsstrahlung), onde eventos 'duros' (i.e. perda de energia maior que os cutoffs pré-seleccionados) são simulados com precisão, ao passo que as interações 'suaves' são calculadas a partir de múltiplas abordagens de dispersão. Interações de fótons (dispersão de Rayleigh, dispersão de Compton, efeito fotoelétrico e produção de pares de elétrons-pósitrons) e aniquilação de pósitrons são simuladas de uma forma detalhada[6].

BEAMnrc

BEAMnrc é um código de Monte Carlo usado para simular feixes de radiação de unidades de radioterapia incluindo elétrons e fótons de alta energia. É capaz de acompanhar o histórico de cada partícula e marcar o depósito de dose separados usando esta informação.

O código BEAM modela a fonte de terapia com o eixo z como o eixo do feixe, e geralmente a origem é definida como o centro do feixe onde ele sai do vácuo do acelerador. Este modelo consiste em um grupo de módulos componentes (CMs), contido entre dois planos perpendiculares para o eixo z e não estão sobrepostos [7][5].

Referências

  1. J. Hromkovic, Algorithms for hard problems: introduction to combinatorial optimization, randomization, approximation, and heuristics. [S.l.]: Springer-Verlag, London - Berlin - Heidelberg - New York, 2001.
  2. N. Metropolis, A. Rosenbluth, M. Rosenbluth, A. Teller, E. Teller, Equation of State Calculations by Fast Computing Machines, Journal of Chemical Physics 21, 1087 (1953).
  3. W. K. Hastings, Monte Carlo Sampling Methods Using Markov Chains and Their Applications, Biometrika 57 (1), 97 (1970).
  4. Verhaegen, F. (2003). «Monte Carlo Modelling of External Radiotherapy Photon Beams». Phys. Med. Biol. 
  5. a b c Verhaegen, F. (2013). Monte Carlo Techniques in Radiation Therapy. [S.l.]: Taylor and Francis 
  6. «PENELOPE2014, A Code System for Monte-Carlo Simulation of Electron and Photon Transport». www.oecd-nea.org. Consultado em 23 de junho de 2017 
  7. Rogers, D.W.O. (1995). «BEAM: A Monte Carlo code to simulate radiotherapy treatment units». Medical Physics, Vol. 22, No. 5