Lu´ıs Fernando de Oliveira
1 Modelagem e Simula¸c˜ao 5
1.1 Sistemas e Modelos . . . 7
1.2 Processo de Modelagem . . . 9
1.3 Processo de Simula¸c˜ao . . . 12
1.3.1 Tipos de Simula¸c˜ao . . . 12
2 T´ecnica de Monte Carlo 13 2.1 Gera¸c˜ao de N´umeros Aleat´orios . . . 14
2.2 Vari´aveis Aleat´orias Discretas . . . 26
2.3 Vari´aveis Aleat´orias Cont´ınuas . . . 27
2.4 Gera¸c˜ao de Vari´aveis Aleat´orias . . . 28
2.4.1 T´ecnica da Transforma¸c˜ao Inversa . . . 28
2.4.2 T´ecnica da Aceita¸c˜ao/Rejei¸c˜ao . . . 30
3 Projeto de Simulador 35 3.1 F´ısica dos Raios X . . . 35
3.1.1 Natureza dos Raios X . . . 35
3.1.2 Tubo de Raio X . . . 36
3.1.3 Intera¸c˜ao dos Raios X com a Mat´eria . . . 37
3.1.4 Atenua¸c˜ao e Transmiss˜ao de Raios X . . . 39
3.1.5 Absor¸c˜ao Fotoel´etrica . . . 41
3.1.6 Emiss˜ao de Radia¸c˜ao Caracter´ıstica . . . 43
3.1.7 Espalhamento Inel´astico ou Compton . . . 48
3.1.8 Espalhamento El´astico ou Thomson . . . 49
3.1.9 Difra¸c˜ao de Raios X ou Espalhamento Rayleigh . . . . 51
3.2 Processo de Modelagem . . . 53
3.2.1 Modelagem Descritiva e Formal do Tubo de Raios X . 53 3.2.2 Modelagem Computacional do Tubo de Raios X . . . . 55
A Alguns Elementos de Quˆantica 61
1
Modelagem e Simula¸
c˜
ao
Antes de qualquer coisa a ser apresentada, ´e natural que se levante uma pergunta que, neste caso, ´e bastante pertinente: o que ´e modelagem e si-mula¸c˜ao? No centro de qualquer resposta que caiba aqui, sempre se encontrar´a a no¸c˜ao b´asica de quemodelos s˜ao aproxima¸c˜oes do mundo real esimula¸c˜ao ´e reprodu¸c˜ao do funcionamento de um sistema atrav´es da modelagem.
Muito de modelagem e simula¸c˜ao ´e realizado por n´os todos os dias sem que percebamos. De uma certa forma, modelagem e simula¸c˜ao conduzem a uma ideia de aprender fazendo: primeiro, criamos um modelo que reproduza um evento real; depois, simulamos o seu funcionamento e observamos o compor-tamento do modelo; ap´os in´umeras repeti¸c˜oes da simula¸c˜ao, podemos analisar os resultados e tirar uma s´erie de conclus˜oes.
Agora, as conclus˜oes s´o ser˜ao confi´aveis (v´alidas) se tivermos a certeza de que o modelo ´e adequado ao que se busca observar e que a simula¸c˜ao reproduz corretamente o funcionamento do modelo. Esta certifica¸c˜ao contempla, ent˜ao, o que chamamos de verifica¸c˜ao e valida¸c˜ao do modelo e simula¸c˜ao.
Para auxiliar todo o desenvolvimento, em especial a etapa de an´alise, ´e interessante que sejamos capazes de exibir os resultados (visualiz´a-los). Nesta hora, vale a m´axima: “mais vale uma imagem que mil palavras”. ´E bem certo que nem sempre se consegue visualizar os resultados na forma gr´afica ou de imagem. Mas estes n˜ao s˜ao os ´unicos recursos de visualiza¸c˜ao dispon´ıveis. Pode-se recorrer a outras formas menos triviais.
Assim, a ´area de modelagem e simula¸c˜ao est´a ancorada em quatro pilares: modelagem, simula¸c˜ao, visualiza¸c˜ao e an´alise. E dentro da an´alise, temos: verifica¸c˜ao e valida¸c˜ao.
´
E importante ressaltar que arrumar uma defini¸c˜ao para simula¸c˜ao n˜ao ´e t˜ao direto quanto o conceito de modelo. As defini¸c˜oes de simula¸c˜ao abrangem:
• um m´etodo para implementar um modelo no tempo;
• uma t´ecnica de teste, avalia¸c˜ao, an´alise ou treino, visando sistemas
dos no mundo real ou situa¸c˜oes onde sistemas reais/conceituais s˜ao re-produzidos por modelos;
• um m´etodo cient´ıfico de investiga¸c˜ao envolvendo experimentos com um modelo tanto quanto com uma por¸c˜ao da realidade que o modelo repre-senta;
• uma metodologia para extra¸c˜ao de informa¸c˜ao de um modelo pela ob-serva¸c˜ao do comportamento do modelo quando este ´e executado;
• um termo n˜ao t´ecnico significando “n˜ao real”, imita¸c˜ao.
A simula¸c˜ao ´e aplicada quando o sistema real n˜ao ´e tang´ıvel (no sentido de adquirir, acessar, usar) e este impedimento pode ter v´arias origens:
• o sistema n˜ao ´e/est´a acess´ıvel;
• pode ser perigoso acess´a-lo ou us´a-lo;
• pode ser inaceit´avel seu uso;
• o sistema pode simplesmente n˜ao existir.
Assim, para ultrapassar ou minimizar estes problemas, “imita-se”, “repro-duz-se” as facilidades e processos dos sistemas reais. Aqui entra a modelagem computacional. A modelagem depende da computa¸c˜ao para visualiza¸c˜ao e simula¸c˜ao de fenˆomenos complexos e de grandes propor¸c˜oes. Estes modelos podem ser usados para replicar sistemas complexos que apresentem comporta-mentos ca´oticos e a simula¸c˜ao pode ser aplicada de forma a prover uma vis˜ao detalhada destes sistemas.
A simula¸c˜ao ´e usada para aperfei¸coar o conhecimento, validar modelos e experimentos, treinar humanos, suportar an´alises estat´ısticas, conduzir anima-¸c˜oes, controlar processos em tempo real, predizer potenciais cat´astrofes, testar e avaliar novos sistemas, testar e avaliar novas hip´oteses, suportar an´alises condicionais e por a´ı vai. As simula¸c˜oes podem ser executadas em equipamento que v˜ao desde computadores pessoais at´e supercomputadores, computadores paralelos e distribu´ıdos geograficamente.
O uso da simula¸c˜ao est´a presente desde a solu¸c˜ao de problemas at´e o aper-fei¸coamento de conhecimento (especializa¸c˜ao) sob circunstˆancias que envolvem alto grau de incerteza. Essas categorias de uso se diferenciam no que diz res-peito ao modelo utilizado. Na solu¸c˜ao de problemas, o modelo ´e entendido como sendo suficiente para representar corretamente o sistema modelado. N˜ao h´a muito o que ser feito a n˜ao ser aguardar a solu¸c˜ao.
incerteza associado `a simula¸c˜ao. Tamb´em, como consequˆencia, quem aplica a simula¸c˜ao para aperfei¸coamento de conhecimento a enxerga como um processo de aprendizagem onde, a cada nova etapa, uma mudan¸ca, uma adapta¸c˜ao, uma melhora est´a sendo inserida. Esta modalidade de simula¸c˜ao se encerra quando o usu´ario julga ter adquirido ou aperfei¸coado seu conhecimento em um n´ıvel satisfat´orio.
Por fim, ´e poss´ıvel adiantar uma lista de vantagens observadas na aplica¸c˜ao da modelagem e simula¸c˜ao neste panorama:
• desenvolvimento de uma habilidade para escolher-se corretamente atrav´es do teste de todos os aspectos envolvidos em propostas de mudan¸ca do “status quo”, sem a exigˆencia de aplica¸c˜ao de novos recursos;
• controle do tempo (expans˜ao e contra¸c˜ao) permitindo ao usu´ario acelerar ou desacelerar os processos e fenˆomenos, facilitando uma pesquisa em profundidade;
• compreens˜ao do por quˆe atrav´es da reconstru¸c˜ao e exame detalhado de cen´arios e controle dos sistemas;
• investiga¸c˜ao de possibilidades em um contexto de pol´ıticas, procedimen-tos operacionais e m´etodos, sem que isso comprometa o sistema;
• diagn´ostico de problemas;
• identifica¸c˜ao de “gargalos”;
• produ¸c˜ao de conhecimento;
• visualiza¸c˜ao de estrat´egias;
• gera¸c˜ao de consenso;
• prepara¸c˜ao para mudan¸cas;
• planejamento para investimentos “pesados”;
• melhor treinamento;
• especifica¸c˜ao de requisitos.
1.1
Sistemas e Modelos
algo usado no lugar do sistema real para melhor compreens˜ao de um certo as-pecto deste e, para produzi-lo, deve-se abstrair da realidade uma descri¸c˜ao do mesmo com o objetivo de reproduzi-lo de forma matematicamente realiz´avel.
Entende-se por sistema um conjunto organizado de elementos que cola-boram entre si de forma a produzir um resultado espec´ıfico. Os elementos constituintes do sistema podem ser individuais ou sistemas menores (subsis-temas) e a ou as colabora¸c˜oes entre estes elementos configuram processos que podem ser executivos ou transformadores.
Os sistemas podem ser f´ısicos ou abstratos, naturais ou artificiais, dinˆamicos ou est´aticos, abertos ou fechados. O conceito de sistema aberto ou fechado est´a atrelado ao fato do sistema interagir com a vizinhan¸ca ou n˜ao numa rela¸c˜ao de dependˆencia. Ser dinˆamico ou est´atico tem a ver com a capacidade do sistema de se adaptar em fun¸c˜ao de est´ımulos externos criando novos processos. Ser f´ısico ou abstrato dispensa coment´arios assim como ser natural ou artificial. S´o para exemplificar:
• uma casa ´e um modelo f´ısico, fechado, est´atico e artificial;
• um organismo vivo ´e um sistema f´ısico, natural, dinˆamico e aberto;
• um sistema de equa¸c˜oes lineares ´e abstrato e est´atico;
• a sociedade e o sistema financeiro s˜ao sistemas abstratos, abertos e dinˆamico.
Bem, nem sempre o sistema permite que se observe os elementos ou sub-sistemas internos e a ´unica possibilidade ´e a observa¸c˜ao das entradas e sa´ıdas. Neste caso, ´e v´alido lan¸car-se m˜ao de uma abstra¸c˜ao para descrevˆe-lo. Sem conhecer-se o acontece dentro do sistema, mas a partir das rela¸c˜oes entre en-tradas e sa´ıdas, ainda ´e poss´ıvel formular o conceito de processo e express´a-lo como fun¸c˜ao de transferˆencia. Cabe ent˜ao ao modelo, atrav´es de testes, ve-rificar se as fun¸c˜oes de transferˆencia (se forem v´arios processos) reproduzem corretamente o funcionamento do sistema. Se juntarmos as fun¸c˜oes de trans-ferˆencia, as entradas e as sa´ıdas, teremos o modelo formal do sistema. Sem o formalismo matem´atico, temos apenas o modelo conceitual (modelo abstrato). Se levarmos a cabo esta situa¸c˜ao, mesmo quando podemos abrir o sistema (n˜ao confundir com o conceito de sistema aberto ou fechado), chegaremos, em algum momento, em elementos que n˜ao podem ser abertos. Portanto, a mo-delagem formal ou matem´atica sempre caber´a, principalmente no processo de modelagem computacional.
linear, temos um modelo abstrato. As pol´ıticas econˆomicas s˜ao elaboradas em cima de um modelo econˆomico (que ´e abstrato e dinˆamico).
Os modelos s˜ao criados com diversos prop´ositos, mas a quest˜ao principal sempre ser´a a investiga¸c˜ao. Atrav´es dos modelos, podemos formular hip´oteses e, atrav´es de simula¸c˜ao, podemos testar estas hip´oteses. ´E muito melhor testar hip´oteses usando um modelo do que tentar abordar um sistema real – imagine as quest˜oes sociais...
Outro ponto importante ´e a quest˜ao da representatividade do modelo. Um sistema pode ser representado por diversos modelos, cada um enfatizando um determinado aspecto e, para um mesmo aspecto, podemos ter v´arios modelos, cada um com um n´ıvel de abstra¸c˜ao diferente. Abstra¸c˜ao e complexidade est˜ao intimamente ligados: modelos muito simples s˜ao muito abstratos ao passo que modelos complexos podem perder generalidade. O grau de representatividade do modelo depende dos objetivos finais da investiga¸c˜ao. Tamb´em vale a pena notar que um modelo dificilmente representar´a o sistema real completamente (salvo algumas situa¸c˜oes de analogia). Ent˜ao, na simula¸c˜ao, deve-se tolerar “erros”, pequenas disparidades entre os resultados reais e os obtidos com o modelo. Por isso, os processos de verifica¸c˜ao e valida¸c˜ao s˜ao muito importantes.
1.2
Processo de Modelagem
Em geral, o processo de modelagem est´a baseado em etapas que permitem a gera¸c˜ao de modelos. O cumprimento destas etapas, em ordem espec´ıfica sem anular a possibilidade de realimenta¸c˜ao, materializa a metodologia de modelagem em si. As etapas s˜ao:
• identifica¸c˜ao do problema;
• especifica¸c˜ao dos objetivos da modelagem
• an´alise das caracter´ısticas operacionais dos sistemas e coleta de dados que descrevam o comportamento do sistema (modelagem conceitual);
• verifica¸c˜ao do modelo;
• formula¸c˜ao do modelo do sistema incluindo as vari´aveis de entrada, sa´ıda e de estado e os processos realizados pelo sistema (modelagem formal);
• estima¸c˜ao dos valores usados pelos parˆametros internos e externos do modelo;
• verifica¸c˜ao do modelo;
• verifica¸c˜ao do modelo;
• especifica¸c˜ao das simula¸c˜oes a serem realizadas;
• an´alise dos resultados;
• verifica¸c˜ao do modelo e valida¸c˜ao da simula¸c˜ao.
No processo de modelagem, as quatro primeiras etapas est˜ao diretamente ligadas a formula¸c˜ao do modelo conceitual. Cabe destacar que o modelo pode se referir tanto ao sistema como um todo assim como de alguma parte, um subsistema, e n˜ao envolve nenhuma representa¸c˜ao formal (matem´atica) do sistema ou de parte dele. O objetivo desta modelagem ´e capturar a essˆencia do sistema, seu funcionamento, sua intera¸c˜ao com a vizinhan¸ca, seus pr´e-requisitos e suas limita¸c˜oes. O n´ıvel de especificidade do modelo conceitual depende dos objetivos estabelecidos no in´ıcio do processo de modelagem. Esta etapa deve ser repetida at´e que o modelo conceitual descreva claramente o sistema visado dentro dos limites estabelecidos nos objetivos.
Na etapa de formula¸c˜ao do modelo, o processo avan¸ca na dire¸c˜ao da repre-senta¸c˜ao formal do sistema, isto ´e, na sua descri¸c˜ao matem´atica. Esta descri¸c˜ao formal deve ser coerente com a descri¸c˜ao conceitual gerada nas etapas anterio-res. Da intera¸c˜ao com a vizinhan¸ca, a modelagem formal retira as informa¸c˜oes sobre entradas e sa´ıdas. Do funcionamento e limita¸c˜oes do sistema, a mode-lagem gera um conjunto de fun¸c˜oes que relacionam as entradas com as sa´ıdas e que, organizadas de forma l´ogica, reproduzem o funcionamento do sistema real. E dos pr´e-requisitos, a modelagem estabelece as vari´aveis de estado do sistema.
Neste ponto, o modelo formal pode ser avaliado a partir de valores iniciais previamente estabelecidos de forma a testar a adequa¸c˜ao do formalismo na reprodu¸c˜ao do comportamento do sistema real. A verifica¸c˜ao se d´a no con-fronto entre a observa¸c˜ao do sistema em situa¸c˜oes espec´ıficas (controladas) e o comportamento do modelo nestas mesmas condi¸c˜oes atrav´es da aplica¸c˜ao de valores `as vari´aveis relacionadas e avalia¸c˜oes num´ericas e gr´aficas. Repete-se a etapa at´e que o modelo formal traduza corretamente o comportamento do sistema em n´umeros.
sequˆencia de tarefas que para o ser humano ´e extenuante. Ent˜ao, a etapa de verifica¸c˜ao do modelo computacional pode ser uma oportunidade de se verificar se o modelo formal ´e correto e representa bem o modelo conceitual.
Depois de in´umeras repeti¸c˜oes das etapas de modelagem conceitual, formal e computacional, o projetista entra na fase “aparentemente final” que ´e a de especifica¸c˜ao das simula¸c˜oes. Neste momento, o projetista est´a voltado para re-produ¸c˜ao do sistema real como um todo e em condi¸c˜oes n˜ao pr´e-estabelecidas, mas que podem ser obtidas atrav´es da observa¸c˜ao experimental. Se o sistema real ´e complexo, todos os subsistemas devem ter sido verificados. A simula¸c˜ao do sistema deve atender, cumprir, os objetivos especificados no in´ıcio da mo-delagem. Somente depois de verificados os resultados da simula¸c˜ao ´e que o processo de modelagem ´e dito validado.
A verifica¸c˜ao e a valida¸c˜ao do modelo s˜ao muito importantes ao longo de todo o processo de modelagem, pois asseguram o atendimento das especi-fica¸c˜oes iniciais e credencia os resultados das simula¸c˜oes baseadas no modelo proposto.
A verifica¸c˜ao tem por objetivo avaliar o modelo quanto as suas especifici-dades e necessiespecifici-dades, sendo testado contra as suas especifica¸c˜oes e requisitos sem os quais o modelo falha. Se o modelo representa um sistema e, por sua vez, o sistema apresenta uma s´erie de pr´e-requisitos, ent˜ao o modelo deve apresentar estes mesmos requisitos. Por exemplo, o sistema real gera como re-sultado um arquivo com um formato espec´ıfico. Sem nos preocuparmos com a interpreta¸c˜ao do conte´udo, o processo de verifica¸c˜ao deve analisar se o modelo tamb´em gera um arquivo e se o formato deste ´e compat´ıvel com a sa´ıda real do sistema. Se o modelo ´e aprovado nesta verifica¸c˜ao, passamos para a etapa de valida¸c˜ao.
O processo de verifica¸c˜ao n˜ao envolve, necessariamente, simula¸c˜ao, pois as condi¸c˜oes operacionais do modelo podem n˜ao ser reais, ou seja, aplicam-se condi¸c˜oes iniciais (configura¸c˜oes) de teste. O modelo sob verifica¸c˜ao tamb´em pode estar deslocado de seu ambiente de opera¸c˜ao final, ou seja, ele ´e parte de um conjunto de modelos (um submodelo, an´alogo a um subsistema) e, portanto, seus resultados n˜ao tem significado.
As realimenta¸c˜oes nos processos de modelagem ocorrem nas etapas de ve-rifica¸c˜ao do modelo. Caso o modelo n˜ao passe na avalia¸c˜ao, o usu´ario (no papel do analista/projetista) retorna para alguma etapa anterior e recome¸ca a modelagem. E se o modelo verificado ´e parte de uma modelagem mais am-pla, mesmo que um modelo espec´ıfico seja considerado verificado e aprovado, o usu´ario dever´a retornar `as etapas iniciais para proceder a modelagem das demais partes do sistema. Somente ap´os a verifica¸c˜ao de todos os modelos (de cada parte do sistema) ´e que ele estar´a habilitado para as etapas seguintes: modelagem computacional e valida¸c˜ao.
verifi-cado e aprovado anteriormente, isto ´e, atende aos requisitos apresentados na concep¸c˜ao do modelo. A coerˆencia entre os resultados envolve a no¸c˜ao de acui-dade que depende de valores estabelecidos como referˆencia. A valida¸c˜ao est´a intimamente ligada `a qualidade dos resultados gerados pelo modelo, isto ´e, dos resultados gerados pela simula¸c˜ao do sistema real atrav´es do modelo con-cebido. Se o modelo ´e dito validado, significa que seus resultados s˜ao confi´aveis e o sistema real pode ser substitu´ıdo pelo modelo. O resultado da valida¸c˜ao ´e a credibilidade do modelo.
1.3
Processo de Simula¸c˜
ao
1.3.1
Tipos de Simula¸
c˜
ao
Das ideias j´a apresentadas, a simula¸c˜ao em si corresponde a aplica¸c˜ao de uma metodologia para manipula¸c˜ao de um modelo e visa reproduzir o com-portamento de um sistema atrav´es de sua modelagem matem´atica. Esta re-produ¸c˜ao comportamental pode ser realizada baseada no tempo ou na ocor-rˆencia de eventos e isto revela algumas modalidades de simula¸c˜ao.
A simula¸c˜ao pode ser do tipo cont´ınua ou discreta no tempo. O que ca-racteriza cada uma das duas modalidades ´e o comportamento do parˆametro observado durante a simula¸c˜ao. Imagine a simula¸c˜ao de um carro que se desloca com velocidade uniforme e, de repente, freia. Se a vari´avel obser-vada for a velocidade, esta ir´a variar continuamente no tempo at´e que o carro pare. Imagine agora o sinal de pedestre. Uma fun¸c˜ao que descreva a troca de estado do sinal ´e uma fun¸c˜ao discreta. Logo, simular o sinal ser´a atrav´es de uma simula¸c˜ao discreta no tempo e simular o carro parando ´e uma si-mula¸c˜ao cont´ınua no tempo. Os modelos matem´aticos usados est˜ao escritos como fun¸c˜oes alg´ebricas do tempo e se as condi¸c˜oes iniciais do fenˆomeno forem repetidas a cada simula¸c˜ao, obteremos os mesmo resultados.
2
T´
ecnica de Monte Carlo
A t´ecnica de Monte Carlo foi desenvolvida nos anos 40 do s´eculo passado pelo grupo de pesquisadores do laborat´orio de Los Alamos, EUA, durante o per´ıodo da segunda grande guerra. O principal prop´osito da t´ecnica era au-xiliar na simula¸c˜ao de blindagem para nˆeutrons proveniente de fiss˜ao nuclear atrav´es de computador. Foi a mesma ´epoca e grupo que desenvolveu a lingua-gem Fortran.
Existem alguns registros indicando que a base da t´ecnica de Monte Carlo foi elaborada por um matem´atico francˆes chamado Contˆe de Buffon durante o s´eculo 18. O prop´osito de Buffon era avaliar a express˜ao de distribui¸c˜ao de probabilidade que modelava a probabilidade de uma agulha de comprimento Lcair sobre um conjunto de linhas paralelas espa¸cadas com distˆancia d. Para atender o objetivo, Buffon literalmente lan¸cava as agulhas e contava o n´umero de vezes que a agulha interceptava as linhas em fun¸c˜ao do tamanho da agu-lha e do espa¸camento das linhas. O que Buffon fez ´e a base da amostragem estat´ıstica. E o processo de lan¸camento das agulhas ´e a base da simula¸c˜ao de processos estoc´asticos.
O evento de intercepta¸c˜ao da agulha com uma linha ´e um processo aleat´orio, n˜ao controlado, e isso ´e muito importante para o processo de valida¸c˜ao de hip´oteses, pois elimina uma s´erie de fontes de erro, principalmente os erros tendenciosos. A agulha pode cair sobre o plano das linhas fazendo um ˆangulo qualquer com as mesmas, ou seja, a distribui¸c˜ao de probabilidade do ˆangulo final ´e uniforme, isto ´e, isoprov´avel. Por´em, ao condicionarmos o evento de lan¸camento com a intercepta¸c˜ao de alguma das linha paralelas, transforma-mos a distribui¸c˜ao isoprov´avel em uma distribui¸c˜ao particular, espec´ıfica. ´E intuitivo pensar que se a agulha cai paralela `as linhas, a probabilidade de inter-cepta¸c˜ao tende a um valor m´ınimo. J´a no caso de a agulha cair perpendicular `as linhas, as chances de intercepta¸c˜ao aumentam bastante. Se a distˆancia entre as linhas aumenta, a probabilidade de intercepta¸c˜ao diminui, assim como no caso de o tamanho da agulha diminuir. Logo, a distribui¸c˜ao de probabilidade n˜ao ´e mais uniforme.
Os valores num´ericos que representam os ˆangulos de queda da agulha s˜ao valores aleat´orios que obedecem a distribui¸c˜ao isoprov´avel. A partir destes n´umeros aleat´orios, em fun¸c˜ao das condicionantes impostas no processo de amostragem, s˜ao gerados resultados ainda aleat´orios, mas que obedecem agora a uma distribui¸c˜ao n˜ao isoprov´avel. Estes resultados s˜ao chamados de vari´aveis aleat´orias. Daqui ´e poss´ıvel delinear um esquema de amostragem estat´ıstica: gera-se um n´umero aleat´orio para se gerar uma vari´avel aleat´oria. A forma como isso ´e processado corresponde `a t´ecnica de Monte Carlo.
Ent˜ao, o primeiro passo ´e a gera¸c˜ao de n´umeros aleat´orios. Vejamos de forma mais detalhada.
2.1
Gera¸c˜
ao de N´
umeros Aleat´
orios
Existem algumas t´ecnicas de gera¸c˜ao de n´umeros aleat´orios em computador j´a consagradas. A t´ecnica mais utilizada chama-se t´ecnica de congruˆencia linear. O modelo gerador de n´umeros aleat´orios est´a baseado na seguinte express˜ao recursiva:
nk+1 =resto(ank+b, m)
onde a, b, m, nk+1 e nk s˜ao constantes inteiras positivas, a ´e o multiplicador,
b ´e a constante aditiva, m ´e o m´odulo gerador e nk+1 ´e o n´umero aleat´orio
gerado pelo processo de itera¸c˜ao tendonk como n´umero gerador (“semente”).
A fun¸c˜ao resto() retorna o resto da divis˜ao deank+b por m.
Se o multiplicadora´e unit´ario e a constante aditiva b´e n˜ao nula, a t´ecnica ´e dita ser de congruˆencia aditiva. Se o multiplicador a ´e n˜ao nulo e n˜ao unit´ario e a constante aditiva b ´e nula, a t´ecnica ´e dita ser de congruˆencia multiplicativa. Se a ´e n˜ao nulo e n˜ao unit´ario e b tamb´em n˜ao ´e nulo, a t´ecnica ´e dita ser de congruˆencia mista. Vejamos um exemplo usando a t´ecnica de congruˆencia aditiva:
C´odigo 2.1: exemplo1.c
# include < stdio .h >
# include < math .h >
int main(void) {
int a, b; /* m u l t i p l i c a d o r e const . aditiva */
int m, n; /* modulo gerador e semente */
int i; /* c o n t a d o r a u x i l i a r */
a = 1; /* m u l t i p l i c a d o r u n i t a r i o */
b = 5; /* c o n s t a n t e aditiva */
m = 13; /* modulo */
/* i m p r i m i r 26 numeros a partir da semente */
for ( i=0; i<2*m; i++ ) {
/* gerador de numeros */
n = (a*n + b)%m; printf(" %3 d \ t ",n); }
printf(" \ n ");
return 0;
}
A sequˆencia de sa´ıda ´e
6,11,3,8,0,5,10,2,7,12,4,9,1
| {z }
sequˆencia aleat´oria
,6,11,3,8,0,5,10,2,7,12,4,9,1, ...
Entre as t´ecnicas de congruˆencia, a multiplicativa ´e a mais implementada pela simplicidade e eficiˆencia computacional. Por isso, a apresenta¸c˜ao do tema sobre gera¸c˜ao de n´umeros aleat´orios dar´a enfase a esta modalidade. A ex-press˜ao recursiva da congruˆencia multiplicativa ´e:
nk+1 =resto(ank, m) = ank−mRk ∴Rk =
jan
k
m
k
onde o operador “⌊ ⌋” indica o c´alculo do maior n´umero inteiro menor que o resultado da opera¸c˜ao analisada que, neste caso, ´eank/m, ou seja, ´e o resultado
real truncado. Os n´umerosnk+1 gerados pela recurs˜ao n˜ao ultrapassam o valor
dem. Logo, o papel dem´e definir a magnitude dos n´umeros aleat´orios inteiros. O primeiro valor aplicado `a express˜ao, isto ´e, n0, ´e chamado de semente da sequˆenciae tamb´em deve ser menor que m. Ela determina completamente a sequˆencia de n´umeros gerados.
Percorrendo a itera¸c˜ao,
• para k= 0: n1 =an0 −mR0
• parak = 1: n2 =an1−mR1 =a(an0−mR0)−mR1 =a2n0−m(R1+aR0)
• para k= 2: n3 =an2 −mR2 =a3n0−m(R2+aR1+a2R0)
• parak =t: nt+1 =ant−mRt =at+1n0−mPti=0aiRt−i =at+1n0−mR= resto(at+1n
0, m)
ter valores menores que m, o conjunto de valores poss´ıveis tem, no m´aximo, m elementos. Este ´e o comprimento m´aximo de uma sequˆencia de n´umeros aleat´orios isoprov´aveis, dado que cada n´umero dentro do universo de valores poss´ıveis ´e gerado uma ´unica vez, ou seja, cada n´umero tem a probabilidade p(nk) = 1/m. Se forem gerados mais n´umeros do que o comprimento m´aximo,
a sequˆencia de n´umeros ir´a se repetir. Por isso, a gera¸c˜ao de n´umeros aleat´orios em computador ´e na verdade pseudo-aleat´orio.
Para que uma sequˆencia de n´umeros pseudo-aleat´orios tenda para uma sequˆencia de n´umeros aleat´orios, ´e necess´ario que o comprimento da sequˆencia tenda a infinito, ou seja, a sequˆencia n˜ao seja peri´odica (fato praticamente imposs´ıvel em um computador digital). E para que o comprimento tenda a infinito, ´e necess´ario que o valor de m tamb´em tenda a infinito (outro fato imposs´ıvel). E mesmo que o maior valor de n´umero inteiro represent´avel no computador seja usado comom, o comprimento real da sequˆencia de n´umeros pseudo-aleat´orios pode ser inferior a m.
Para que a sequˆencia seja ´util, deseja-se que ela seja a maior poss´ıvel. O comprimento efetivo da sequˆencia ´e medido contando-se o n´umero de elementos gerados a partir da semente at´e que a pr´opria semente seja reproduzida, ou seja, a semente ´e sempre o ´ultimo elemento da sequˆencia de n´umeros gerados. Dos parˆametros part´ıcipes da express˜ao de recurs˜ao, m e nk tˆem papeis pr´oprios.
Ent˜ao, o comprimento efetivo da sequˆencia de n´umeros deve ser fun¸c˜ao dea. O exemplo a seguir implementa a gera¸c˜ao de n´umeros aleat´orios atrav´es da t´ecnica de congruˆencia multiplicativa. Nele, o valor de a ´e incrementado unitariamente desde o valor 2 at´em−1, uma vez que a restri¸c˜ao inicial para a´e que ele seja menor que m.
C´odigo 2.2: exemplo2.c
# include < stdio .h >
# include < math .h >
int main(void) {
int a, m;
int n, n0;
int i;
m = 13; n0 = 1;
/* para cada p o s s i v e l valor de ‘a ’ */
for ( a=2; a<m; a++ ) {
printf(" a = %2 d : n = { ",a);
/* r e i n i c i a a geracao com a semente n0 */
n = n0;
/* gerador de numeros a l e a t o r i o s */
n = (a*n)%m;
if (n == n0) { /* se fim da s e q u e n c i a ... */
printf(" %3 d }\ n ",n);
break;
} else { /* senao ... */
printf(" %3 d , ",n); }
} }
return 0;
}
O c´odigo, cuja sa´ıda ´e reproduzida a seguir, imprime na tela os n´umeros aleat´orios gerados para cada combina¸c˜ao de a.
Em rela¸c˜ao a extens˜ao da sequˆencia, o maior comprimento obtido neste m´etodo ´e m −1 como pode ser constatado observando a sa´ıda gerada pelo exemplo.
• a = 2: n = 2, 4, 8, 3, 6, 12, 11, 9, 5, 10, 7, 1
• a = 3: n = 3, 9, 1
• a = 4: n = 4, 3, 12, 9, 10, 1
• a = 5: n = 5, 12, 8, 1
• a = 6: n = 6, 10, 8, 9, 2, 12, 7, 3, 5, 4, 11, 1
• a = 7: n = 7, 10, 5, 9, 11, 12, 6, 3, 8, 4, 2, 1
• a = 8: n = 8, 12, 5, 1
• a = 9: n = 9, 3, 1
• a = 10: n = 10, 9, 12, 3, 4, 1
• a = 11: n = 11, 4, 5, 3, 7, 12, 2, 9, 8, 10, 6, 1
• a = 12: n = 12, 1
Cabe a pergunta: quais s˜ao as caracter´ısticas de a para que a sequˆencia de n´umeros pseudo-aleat´orios tenha o maior comprimento efetivo? Para res-ponder isso, faremos algumas res-pondera¸c˜oes, analisando as propriedades que envolvem o parˆametro a.
A express˜ao que relaciona a semente como ´ultimo n´umero da sequˆencia com ela pr´opria ´e
n0 =apn0−mR∴R= p−1
X
i=0
aiRp−1−i
onde p representa o comprimento efetivo da sequˆencia e o elemento R ´e um valor inteiro que pode ser expresso em termos dos demais parˆametros:
R= (a
p−1)n
0 m
Esta igualdade imp˜oe que m seja divisor de (ap−1)n
0, ou seja,
resto((ap−1)n0, m) = 0
E mais, se a sementen0 n˜ao interfere no comprimento da sequˆencia, visto que o
papel da semente ´e determinar os n´umeros da sequˆencia, resta-nos reconhecer que m deve ser divisor apenas de (ap−1). Logo,
resto(ap−1, m) = 0
Esta ´e uma caracter´ıstica muito importante que relaciona qualquer valor dea com m para gera¸c˜ao de uma sequˆencia de n´umeros pseudo-aleat´orios. Como desejamos o comprimento m´aximo, pdeve ser igual a m−1:
resto(am−1 −1, m) = 0
e nenhum outro valor de p < m−1, para a e m dados, pode satisfazer esta condi¸c˜ao, pois, se algum p < m−1 satisfizer a condi¸c˜ao, sabendo que p ´e a posi¸c˜ao na sequˆencia onde a semente aparece, significa que a sequˆencia n˜ao tem comprimento m´aximo. No exemplo dado, com m igual a 13 e a combina¸c˜ao dos valores de a desde 2 at´e 12, observa-se que:
• a = 2: resto(2p−1,13)
p=12= 0 ⇒p=m−1
• a = 3: resto(3p−1,13)
p=3 = 0⇒p < m−1
• a = 4: resto(4p−1,13)
p=6 = 0⇒p < m−1
• a = 5: resto(5p−1,13)
• a = 6: resto(6p−1,13)
p=12= 0 ⇒p=m−1
• a = 7: resto(7p−1,13)
p=12= 0 ⇒p=m−1
• a = 8: resto(8p−1,13)
p=4 = 0⇒p < m−1
• a = 9: resto(9p−1,13)
p=3 = 0⇒p < m−1
• a = 10: resto(10p−1,13)
p=6 = 0⇒p < m−1
• a = 11: resto(11p−1,13)
p=12= 0⇒p=m−1
• a = 12: resto(12p−1,13)
p=2 = 0⇒p < m−1
confirmando os comprimentos obtidos na pr´atica. Ent˜ao, quando o valor dea´e tal que a express˜aoresto(ap−1, m) = 0 ´e verdadeira somente para p=m−1,
este valor ´e dito ser uma raiz primitiva de m e a sequˆencia tem o maior comprimento efetivo. Agora, existe alguma imposi¸c˜ao ao valor dem?
A resposta ´e simples e direta: sim. O valor demdeve ser um n´umero primo para evitar que algum dos n´umeros gerados seja reduzido por ele porque, se um valor d ´e divisor de m e se nk ´e m´ultiplo de d, ent˜ao os demais n´umeros
gerados ser˜ao m´ultiplos de d e a sequˆencia n˜ao ser´a mais aleat´oria. Sendo m um n´umero primo e sabendo que nk n˜ao ultrapassa o valor de m, as condi¸c˜oes
m´ınimas para gera¸c˜ao de uma sequˆencia pseudo-aleat´oria ficam garantidas. Por´em, temos o valor de a que, at´e ent˜ao, est´a relacionado ao valor de m atrav´es da rela¸c˜ao resto(ap −1, m) = 0 para p = m−1 exclusivamente.
Existe mais alguma imposi¸c˜ao quanto ao valor de a? Infelizmente, n˜ao. Mas, podemos extrair mais algumas informa¸c˜oes sobre os valores de a observando as sequˆencias geradas.
Primeira observa¸c˜ao ´e o fato de existirem sequˆencias que s˜ao inversas umas das outras, aos pares. Repare que, para m = 13, a = 2 e a = 7 geram sequˆencias inversas, a = 3 e a = 9 tamb´em assim como outros pares. Assu-mindo que o par de um valor de a seja representado pelo s´ımbolo ¯a, ´e fato que
resto(a¯a, m) = 1
Veja
• a= 2 e ¯a= 7 produz resto(2×7,13) =resto(14,13) = 1
• a= 4 e ¯a= 10 produz resto(4×10,13) =resto(40,13) = 1
• a= 5 e ¯a= 8 produz resto(5×8,13) =resto(40,13) = 1
• a= 6 e ¯a= 11 produz resto(6×11,13) =resto(66,13) = 1
• a= 12 e ¯a= 12 produz resto(12×12,13) =resto(144,13) = 1
Se encontrarmos os pares, reduzimos a busca pelos valores dea `a metade, isto ´e, num universo de m−2 poss´ıveis valores de a, pois o menor valor de a ´e 2, devemos encontrar (m−2)/2 valores. E se m ´e primo, ent˜ao ´e um n´umero ´ımpar. Logo, m−2 tamb´em ´e ´ımpar e (m−2)/2 n˜ao ´e um n´umero inteiro. Mas, observando as sequˆencias geradas, percebemos que o valor dea =m−1 ´e pareado com ele pr´oprio. Ent˜ao, devemos encontrar, na verdade, (m−3)/2 valores para a desde a= 2 at´e a=m−2.
O produto a¯a deve ser m´ultiplo de m mais uma unidade, isto ´e,
a¯a=c×m+ 1
onde c´e uma constante inteira positiva n˜ao nula. Ent˜ao,
¯
a = c×m+ 1
a
Para encontrar ¯a, devemos testar os valor de c e para que a express˜ao seja v´alida, n˜ao pode haver resto, ou seja,
resto(cm+ 1, a) = 0
O valor de cpode ser testado iterativamente, iniciando com o valor unit´ario e encerrando quando o teste der resto nulo.
As duas rotinas a seguir implementam uma fun¸c˜ao para testar se um de-terminado n´umero ´e primo ou n˜ao e uma outra fun¸c˜ao que retorna o par de um determinado a dado m.
C´odigo 2.3: Fun¸c˜ao TestaPrimo.
char T e s t a P r i m o(u n s i g n e d long int m) {
u n s i g n e d long int i, resp;
/* 2 eh o unico primo par */ /* o r e s t a n t e dos primos eh impar */
resp = m%2;
/* e n q u a n t o ‘i ’ for menor que ‘m ’ e ‘ resp ’ for d i f e r e n t e de zero */
for ( i=3; resp && i<m; i+=2 ) {
/* se ‘m ’ eh primo , entao ‘ resp ’ deve ser sempre d i f e r e n t e de zero */
}
printf(" Menor divisor : % ld \ n ",i-1);
/* se ‘ resp ’ eh nao nulo , r e t o r n a r 1 senao , r e t o r n a r 0 */
return resp?1:0; }
C´odigo 2.4: Fun¸c˜ao FazPar.
u n s i g n e d long int FazPar(u n s i g n e d long int a,
u n s i g n e d long int m) {
u n s i g n e d long int i, c, r=1;
/* e n q u a n t o ‘r ’ for nao nulo e ‘i ’ for menor que ‘m -1 ’ */
for ( i=1; r && i<m-1; i++ ) { c = i;
/* testar valor de ‘c ’ na e x p r e s s ~a o */
r = (c*m+1)%a; }
/* r e t o r n a r o par de ‘a ’ */
return (c*m+1)/a; }
Para especificar um valor deaque, combinado com m, gere uma sequˆencia com comprimento m´aximo, falta a aplica¸c˜ao de um teste que avalie se este a ´e ou n˜ao uma raiz primitiva de m. Isto significa avaliar os valores dep, desde 2 at´em−2 na express˜ao resto(ap−1, m) 6= 0. Repare que os comprimentos
efetivos das sequˆencias tem rela¸c˜ao com os divisores do valor m − 1. No exemplo, os divisores de m −1 = 12 s˜ao: 2,3,4,6,12. Comparando com os comprimentos das sequˆencias, constatamos que:
• para a= 12, a sequˆencia tem comprimento p= 2;
• para a= 3,9, a sequˆencia tem comprimento p= 3;
• para a= 5,8, a sequˆencia tem comprimento p= 4;
• para a= 4,10, a sequˆencia tem comprimento p= 6;
• para a= 2,6,7,11, a sequˆencia tem comprimentop= 12.
O c´odigo a seguir gera as sequˆencias pseudo-aleat´orias para um n´umerom primo fornecido em linha de comando. Primeiro, o valor de m´e testado para comprovar que seja um n´umero primo. Se passar no teste,m´e assumido como m´odulo gerador. Depois, uma lista de divisores ´e gerada e armazenada na forma de vetor indexado. Eles ser˜ao usados para otimizar a busca pelas ra´ızes primitivas. A partir deste ponto, os valores do multiplicador a s˜ao avaliados como poss´ıveis ra´ızes primitivas. Ao encontrar uma raiz primitiva, o c´odigo gera o par ¯adesta raiz. Se o valor do par for maior que o valor deaavaliado, a sequˆencia ´e gerada e impressa na tela. Caso contr´ario, o c´odigo salta a gera¸c˜ao da sequˆencia uma vez que o par j´a foi impresso.
C´odigo 2.5: exemplo3.c
# include < stdlib .h >
# include < stdio .h >
# include < math .h >
/* - - - */
/* d e f i n i c a o de tipos */
/* - - - */
typedef u n s i g n e d long int uli;
typedef struct {
int t; /* tamanho */
uli *e; /* e l e m e n t o s */
} l i s t a _ u l i;
/* - - - */
/* p r o t o t i p o s */
/* - - - */
uli FazPar(uli a, uli m);
uli a p _ m o d _ m(uli a, uli b, uli m);
char T e s t a r P r i m o(uli n);
char T e s t a r R a i z P r i m i t i v a(uli a, uli m, l i s t a _ u l i *p);
l i s t a _ u l i *G e r a r D i v i s o r e s(uli n);
/* - - - */ /* p r o g r a m a p r i n c i p a l */ /* - - - */
int main(int argc, char *argv[]) { uli m, n,
i; l i s t a _ u l i *p;
m = atoi(argv[1]);
if (!T e s t a r P r i m o(m)) {
printf(" % ld nao eh numero primo .\ n ",m); exit(0);
}
p = G e r a r D i v i s o r e s(m-1);
for ( a=2; a<m; a++ ) {
if (T e s t a r R a i z P r i m i t i v a(a,m,p)) { aa = FazPar(a,m);
if (aa>a) {
printf(" % ld : raiz p r i m i t i v a de % ld ",a,m); printf(" , par : % ld \ n ",aa);
n = 1;
for ( i=0; i<m-1; i++ ) { n = (a*n)%m;
printf(" % ld ",n); }
printf(" \ n \ n "); }
} }
return 0;
}
/* - - - */
/* funcoes a u x i l i a r e s */
/* - - - */
char T e s t a r P r i m o(uli n) {
uli i, /* c o n t a d o r */
resp; /* resto de divisao */
/* se n for m u l t i p l o de 2 , */ /* entao resp eh zero */
resp = n%2;
/* e n q u a n t o resp for d i f e r e n t e */ /* de zero , testar n */
resp = n%i; }
/* se resp eh d i f e r e n t e de 0 , */ /* entao retorna 1 */
return resp?1:0; }
/* - - - */
uli a p _ m o d _ m(uli a, uli p, uli m) { uli i, c = a;
/* a p o t e n c i a a ** p eh muito grande , d e p e n d e n d o dos valores de a e p */ /* entao , ( a ** p ) modulo m precisa
ser c a l c u l a d o de forma d i f e r e n t e */
for ( i=1; i<p; i++ ) { c = (a*c)%m;
}
return c;
}
/* - - - */
char T e s t a r R a i z P r i m i t i v a(uli a, uli m, l i s t a _ u l i *p) { uli i, /* c o n t a d o r */
r1, /* teste 1 */
r2; /* teste 2 */
r1 = 1;
for ( i=0; r1 && i<p- >t-1; i++ ) { r1 = a p _ m o d _ m(a,p- >e[i] ,m) -1; }
r2 = a p _ m o d _ m(a,p- >e[i] ,m) -1;
return (r1 && !r2) ? 1 : 0; }
/* - - - */
l i s t a _ u l i* G e r a r D i v i s o r e s(uli n) {
uli i; /* c o n t a d o r */
int nd; /* numero de d i v i s o r e s */
nd = 0;
for ( i=2; i<=n; i++ )
if (n%i==0) nd++;
d = new l i s t a _ u l i; d- >t = nd;
d- >e = new uli [nd];
nd = 0;
for ( i=2; i<=n; i++ )
if (n%i==0) d- >e[nd++] = i;
return d;
}
/* - - - */
uli FazPar(uli a, uli m) { uli i, c, r=1;
/* e n q u a n t o ‘r ’ for nao nulo e ‘i ’ for menor que ‘m -1 ’ */
for ( i=1; r && i<m-1; i++ ) { c = i;
/* testar valor de ‘c ’ na e x p r e s s ~a o */
r = (c*m+1)%a; }
/* r e t o r n a r o par de ‘a ’ */
return (c*m+1)/a; }
/* - - - */
No teste da raiz primitiva, a potˆencia ap −1 precisa ser calculada. Este
valor pode extrapolar a representa¸c˜ao num´erica do computador para valores inteiros (j´a imaginando a maior representa¸c˜ao poss´ıvel). Para ultrapassar esta dificuldade, o c´alculo de resto(ap − 1, m) precisa ser repensado.
Numerica-mente, resto(ap −1, m) ´e igual a resto(ap, m)−1, pois resto(1, m) = 1, e
resto(ap, m) pode ser calculado iterativamente. Vejamos um caso pr´atico:
• resto(31,5) =resto(3,5) = 3
• resto(32,5) =resto(9,5) = 4
resto(32,5) =resto(3×3,5) =resto(3×resto(3,5),5) =
• resto(33,5) =resto(27,5) = 2
resto(33,5) =resto(3×32,5) =resto(3×resto(32,5),5) =
=resto(3×4,5) =resto(12,5) = 2
• resto(34,5) =resto(81,5) = 1
resto(34,5) =resto(3×33,5) =resto(3×resto(33,5),5) =
=resto(3×2,5) =resto(6,5) = 1
Generalizando,
resto(ap, m) =resto(a×ap−1, m) =resto(a×resto(ap−1, m), m)
Logo, o resto da divis˜ao de ap por m pode ser calculado iterativamente. E o
mais interessante surge quando indexamos cada recurs˜ao. Se
kp =resto(ap, m)
ent˜ao,
kp =resto(ap, m) =resto(a×ap−1, m) =
=resto(a×resto(ap−1, m), m) =resto(ak
p−1, m)
Ou seja, kp =resto(akp−1, m) que ´e a express˜ao de recurs˜ao da t´ecnica de
congruˆencia multiplicativa. Neste caso, n˜ao nos interessa a sequˆencia em si, mas o valor final da sequˆencia kp. No c´odigo listado, a fun¸c˜ao ap mod m() ´e
respons´avel pelo c´alculo de resto(ap, m).
2.2
Vari´
aveis Aleat´
orias Discretas
A vari´avel aleat´oria ´e entendida como sendo uma vari´avel num´erica `a qual ser´a associado um valor gerado por um modelo probabil´ıstico. E por mo-delo probabil´ıstico, entende-se uma fun¸c˜ao matem´atica que relaciona eventos `a probabilidades. Sexi´e um valor associado a um evento qualquer e p(xi) = pi
´e a probabilidade deste evento, ent˜ao a fun¸c˜ao
f(xi) = {p(xi)|i= 0,1,2,· · · }
´e chamada de fun¸c˜ao de probabilidade. xi s˜ao os valores da vari´avel
aleat´oria que descrevem o conjunto de eventos poss´ıveis. Como os valores da vari´avel aleat´oriaX correspondem a estados discretos e enumer´aveis (finitos e cont´aveis), esta vari´avel ´e chamada de vari´avel aleat´oria discreta.
Por exemplo, o estado final de uma moeda, ap´os seu lan¸camento ao ar, pode sercara oucoroa. Se associarmos o valor x0 = 0 paracara e x1 = 1 para
universo de poss´ıveis estados {cara,coroa}, onde X representa o n´umero de coroas, isto ´e,
X ={x|x= 0,1}
Al´em disso, se a probabilidade de sair cara oucoroa em um lan¸camento ´e 0,5, ent˜ao podemos caracterizar completamente a vari´avel aleat´oria X como
resultado X P(X) cara 0 0,5 coroa 1 0,5 • X ={x|x= 0,1}
• P(cara) =P(X = 0) =p(0) = 0,5 P(coroa) = P(X = 1) =p(1) = 0,5
Al´em da fun¸c˜ao de probabilidade f(xi) = p(xi), existe outra fun¸c˜ao
im-portante nas aplica¸c˜oes das vari´aveis aleat´orias discretas que ´e a fun¸c˜ao de probabilidade acumulada,
F(xi) =P(X ≤xi) =
1
X
j=0
P(X=xj)
que ´e a soma de todas as probabilidades para valores de X at´eX =xi.
2.3
Vari´
aveis Aleat´
orias Cont´ınuas
Em contraste `as vari´aveis aleat´orias discretas, temos asvari´aveis aleat´orias cont´ınuas que, naturalmente, est˜ao baseadas em distribui¸c˜oes cont´ınuas de probabilidade e, por conseguinte, podem assumir valores reais dentro de um intervalo definido, isto ´e, existem infinitos valores que uma vari´avel aleat´oria cont´ınua pode assumir. N˜ao faz sentido falar da probabilidade de um valor espec´ıfico de vari´avel cont´ınua, pois esta probabilidade ´e zero. Mas, pode-se referenciar probabilidades em rela¸c˜ao a intervalos e fazer estes intervalos tenderem a zero. Desta forma, desenvolve-se a no¸c˜ao de diferencial de proba-bilidade.
Portanto, a rela¸c˜ao entre a probabilidade de uma vari´avel aleat´oria e sua fun¸c˜ao de densidade de probabilidade se materializa na forma de um c´alculo integral. Por exemplo, sejamxex+δxos valores limites de um intervalo para a vari´avel aleat´oriaX ep(x) a fun¸c˜ao de densidade de probabilidade associada. A probabilidade de X assumir um valor entre x ex+ ∆x´e
P(x≤X < x+ ∆x) =
Z x+∆x x
p(t)dt≈p(x)∆x
Quando ∆x tende a zero, encontramos a densidade de probabilidade para X =x, ou seja,
P(X =x) =P(x≤X < x+dx) =
Z x+dx x
p(t)dt =p(x)dx
Seguindo a mesma abordagem das vari´aveis discretas, outra fun¸c˜ao impor-tante para as vari´aveis cont´ınuas ´e afun¸c˜ao de densidade de probabilidade acumulada, dada como a integral da fun¸c˜ao de densidade de probabilidade nos limites (−∞, x), ou seja,
F(x) =P(X ≤x) =
Z x
−∞ p(t)dt
2.4
Gera¸c˜
ao de Vari´
aveis Aleat´
orias
Aqui tamb´em exitem algumas t´ecnicas consagradas de gera¸c˜ao de vari´aveis aleat´orias a partir de n´umeros aleat´orios. As principais s˜ao: transforma¸c˜ao inversa e aceita¸c˜ao/rejei¸c˜ao.
2.4.1
T´
ecnica da Transforma¸
c˜
ao Inversa
A t´ecnica da transforma¸c˜ao inversa est´a baseada em princ´ıpios muito sim-ples:
• se a fun¸c˜ao de probabilidade acumulada y =F(x) ´e uma fun¸c˜ao mono-tomicamente crescente, ent˜ao ela associa os valores da vari´avel aleat´oria X aos valores acumulados de forma biun´ıvoca, isto ´e,
X ↔Y =F(X)
• a fun¸c˜ao de probabilidade acumulada inversa,F−1(Y), tamb´em ´e
mono-tomicamente crescente e relacional de forma biun´ıvoca os valores
O dom´ınio da vari´avel Y est´a restrito ao intervalo (0,1), pois a soma de todas as probabilidades deve ser 1. Ent˜ao, se um valor de Y for sorteado dentro do intervalo (0,1), estaremos gerando valores para a vari´avel aleat´oria X segundo um modelo espec´ıfico de distribui¸c˜ao de probabilidade.
A aplica¸c˜ao da t´ecnica ´e muito simples e direta. Por exemplo, considere a seguinte distribui¸c˜ao de probabilidades:
xi P(X =xi)
1 0,20
2 0,50
3 0,25
4 0,05
✻
✲
0.1 0.2 0.3 0.4 0.5
1 2 3 4
A fun¸c˜ao de probabilidade acumulada corresponde a tabela deP(X ≤xi) cujo
gr´afico pode se visualizado ao lado:
xi P(X ≤xi)
1 0,20
2 0,70
3 0,95
4 1,00
✻
✲
ξ ✲
0.2 0.4 0.6 0.8 1.0
1 2 3 4
Ao se sortear um n´umero aleat´orio ξ entre 0 e 1, determina-se o valor da vari´avel aleat´oria X, verificando-se qual a primeira barra de probabilidade encontrada:
• seξ ≤0,2, ent˜ao X = 1;
• se 0,2< ξ ≤0,7, ent˜ao X = 2;
• se 0,7< ξ ≤0,95, ent˜ao X = 3;
No caso do gr´afico anterior, para ξ = 0,47, ξ est´a entre 0,2 e 0,7. Sendo a barra vis´ıvel a barra correspondente `aP(X ≤2), ent˜ao o valor deX gerado ´e
X = 2.
2.4.2
T´
ecnica da Aceita¸
c˜
ao/Rejei¸c˜
ao
A aplica¸c˜ao da transforma¸c˜ao inversa ´e pr´opria para as situa¸c˜oes onde a dis-tribui¸c˜ao de probabilidade ´e discreta e para os casos onde a fun¸c˜ao de densidade de probabilidade acumulada ´e invers´ıvel. No caso das distribui¸c˜oes cont´ınuas com fun¸c˜oes de densidade de probabilidade acumulada n˜ao invers´ıveis ou cujas inversas sejam muito dif´ıceis de serem calculadas, a t´ecnica da aceita¸c˜ao/rejei-¸c˜ao se torna mais atraente.
Vejamos algumas caracter´ısticas das fun¸c˜oes de densidade de probabilidade:
• o dom´ınio da fun¸c˜ao de densidade de probabilidade corresponde a um intervalo (a, b) de forma que, fora deste intervalo, a fun¸c˜ao ´e nula;
• uma fun¸c˜ao de densidade de probabilidade ´e limitada superiormente por um valor c finito de forma a garantir que a ´area abaixo da fun¸c˜ao seja igual a 1;
• o intervalo (0, c) ´e a imagem da fun¸c˜ao de densidade de probabilidade.
Se a fun¸c˜ao de densidade de probabilidade for escalada pelo fator 1/c, ent˜ao a imagem se transformar´a em (0,1) e a ´area da fun¸c˜ao no dom´ınio (a, b) ser´a 1/c. Vamos admitir que a fun¸c˜ao de densidade de probabilidade seja p(x). Reescalando com o valor 1/c, teremos uma nova fun¸c˜ao f(x) =p(x)/c.
✻
✲
p(x)
0 c
a b x
✻
✲
f(x)
0 1
a b x
Para um valor espec´ıfico de x, digamos x = ξ, ´e f´acil perceber que a raz˜ao entre o valor da fun¸c˜ao f(ξ) e o valor m´aximo de f(x) no intervalo (a, b), que ´e 1, corresponde a probabilidade de encontrarmos qualquer ponto da imagem abaixo de f(x) para x = ξ. Com o valor ξ constante para x, ao sortearmos um valor aleat´orio ǫ, ǫ ∈ (0,1), estaremos procedendo a t´ecnica de transforma¸c˜ao inversa. Se ǫ ≤ f(x)|x=ξ, aceitamos o valor de x = ξ como
N sorteios, com N → ∞, ´e justamentef(ξ). Se isto for realizado para valores de X ={x|x ∈(a, b)}, estaremos gerando valores para a vari´avel aleat´oria X que seguem o comportamento da fun¸c˜ao de densidade de probabilidade p(x).
O algoritmo ´e o seguinte:
1. sorteamos um valor x = ξ dentro do dom´ınio (a, b) para a vari´avel aleat´oria X;
2. calculamos o valor de f(ξ) =p(ξ)/c;
3. sorteamos um valor ǫno intervalo (0,1);
4. se ǫ for menor ou igual a f(ξ), aceitamos o valor de x=ξ como v´alido;
5. sen˜ao, rejeitamos o valor de x=ξ e voltamos para o passo 1.
C´odigo 2.6: exemplo4.c
# include < stdio .h >
# include < stdlib .h >
# include < string .h >
# include < math .h >
# include < time .h >
/*
d e f i n i c a o de macro sqr : q u a d r a d o do c o n t e u d o de ‘a ’ */
# define sqr ( a ) (( a )*( a ))
/*
d e c l a r a c a o da funcao g a u s s i a n a */
double gauss(double x, double m, double dp) {
return exp( -0.5*sqr((x-m)/dp)); }
int main(void) { FILE *fp;
double f, /* valor c a l c u l a d o da funcao g a u s s i a n a */
x, /* o r d e n a d a da funcao g a u s s i a n a */
ep, /* numero a l e a t o r i o */
imax = 1.0/R A N D _ M A X;
int hist[1000]; /* h i s t o g r a m a */
u n s i g n e d long i; /* c o n t a d o r a u x i l i a r */
srand(time(NULL)); /* semente g e r a d o r a de numeros a l e a t o r i o s baseado no r e g i s t r o da hora no c o m p u t a d o r */
/* zerando o h i s t o g r a m a */
for ( i=0; i<1000; i++ ) hist[i] = 0;
/* tecnica da a c e i t a c a o / r e j e i c a o */
/* total de eventos : 1 6 . 7 7 7 . 2 1 5 (=0 xffffff ) */
for ( i=0; i<0xffffff; i++ ) {
/* s o r t e a n d o numero entre 0 e 1 */
ep = rand()*imax;
/* s o r t e a n d o ‘x ’ n o r m a l i z a d o */
x = rand()*imax;
f = gauss(10*x,5 ,0.3);
if (ep<=f) {
/* se ‘ ep ’ menor ou igual a ‘f ’ */ /* i n c r e m e n t a r o h i s t o g r a m a */
hist[(u n s i g n e d)(999*x+ 0 . 5 ) ] + + ; }
}
/* saida em formato texto */
fp = fopen(" saida . txt "," wt ");
for ( i=0; i<1000; i++ )
fprintf(fp," % f \ t % d \ n ",i*0.01 ,hist[i]); fclose(fp);
return 0;
3
Projeto de Simulador
Algum texto.
3.1
F´ısica dos Raios X
3.1.1
Natureza dos Raios X
A hist´oria dos raios X come¸ca com J. J. Thomson, final do s´eculo XIX, estudando as caracter´ısticas dos raios cat´odicos produzidos por ampolas de Crookes que nada mais s˜ao do que os el´etrons acelerados pela presen¸ca de um campo el´etrico intenso. E. Rutherford (disc´ıpulo de Thomson) investigou a propaga¸c˜ao dos raios cat´odicos fora das ampolas de Crookes e percebeu que o alcance dos raios cat´odicos n˜ao ultrapassava alguns poucos cent´ımetros.
Lenard, assistente de Hertz, ainda no final do s´eculo XIX, identificou que, apesar dos raios cat´odicos terem pouco alcance, eram capazes de impressio-nar chapas fotogr´aficas e produzir fluorescˆencia (vis´ıvel) em certos materiais cristalinos mesmo afastados da fonte de raios cat´odicos.
Roentgen se fixou no estudo desta fluorescˆencia dos materiais e resolveu en-volver a fonte de raios cat´odicos com uma cobertura opaca a luz para eliminar poss´ıveis fontes de luz vis´ıvel e ultravioleta provenientes do tubo. Al´em disso, escureceu completamente o laborat´orio onde o aparato se encontrava para eli-minar fontes externas de radia¸c˜ao luminosa. Apesar de todo este trabalho, Roentgen continuou observando a fluorescˆencia em materiais espec´ıficos e o mais curioso, materiais que n˜ao estavam alinhados com o equipamento. Ap´os uma s´erie de investiga¸c˜oes, Roentgen concluiu que a fluorescˆencia n˜ao era pro-duzida pelos raios cat´odicos e sim por uma outra radia¸c˜ao ainda desconhecida que chamou de X em analogia `as inc´ognitas matem´aticas. Outra conclus˜ao foi que a origem desta radia¸c˜ao X era o ponto da ampola onde os raios cat´odicos colidiam sendo, portanto, resultado da intera¸c˜ao dos raios cat´odicos (el´etrons) com o vidro da ampola.
A partir desta introdu¸c˜ao hist´orica, podemos avan¸car na dire¸c˜ao das ca-racter´ısticas desta radia¸c˜ao chamada X.
A radia¸c˜ao X, ou simplesmente raio X, ´e uma radia¸c˜ao de natureza ele-tromagn´etica. Portanto, n˜ao sofre influˆencia de campos el´etricos e magn´eticos externos. Pode ser produzido artificialmente pela intera¸c˜ao de el´etrons acele-rados por um intenso campo el´etrico com um obst´aculo de massa espec´ıfica elevada. Esta itera¸c˜ao se d´a principalmente pelo frenamento dos el´etrons den-tro do material (obst´aculo, chamado tecnicamente de alvo), intera¸c˜ao esta chamada de bremsstrahlung. Como resultado da intera¸c˜ao, fortemente domi-nada pelos efeitos coulombianos, obt´em-se radia¸c˜ao eletromagn´etica que com-preende a radia¸c˜ao t´ermica (calor) e os raios X. O espectro de energia dos raios X se estende, no mapa eletromagn´etico, numa faixa entre poucos keV (quiloel´etron-volt) at´e centenas de keV (300-400 keV).
3.1.2
Tubo de Raio X
A evolu¸c˜ao da ampola de Crookes levou aos modernos equipamentos de produ¸c˜ao de raios X, os tubos de raios X. Este tubos s˜ao confeccionados com base numa ampola de vidro a v´acuo que encapsula um filamento e um alvo met´alico separados de alguns cent´ımetros. Entre o filamento e o alvo ´e aplicado um campo el´etrico intenso produzido pela diferen¸ca de tens˜ao destes elemen-tos. Tradicionalmente, o filamento (catodo) ´e posto sob uma tens˜ao negativa enquanto o alvo met´alico (anodo) ´e aterrado (tens˜ao nula). A circula¸c˜ao de el´etrons pelo filamento, caracterizando uma corrente suficientemente grande para o mesmo, gera uma nuvem de termoel´etrons com energia suficiente para se desprenderem da superf´ıcie condutora. Este termoel´etrons s˜ao capturados pelo intenso campo el´etrico entre catodo e anodo e s˜ao acelerados na dire¸c˜ao do alvo. A diferen¸ca de tens˜ao entre catodo e anodo pode chegar at´e 400 kV e o gradiente de campo el´etrico corresponde `a taxa de eleva¸c˜ao de energia cin´etica dos el´etrons acelerados. Quanto maior a energia cin´etica final dos el´etrons ao colidirem com o alvo, maior ser´a a energia dos raios X produzidos.
A geometria do alvo influencia na intensidade dos raios X dispon´ıvel fora do tubo. Como o interior da ampola ´e v´acuo e a ampola est´a contida num inv´olucro met´alico (blindagem) imersa em ´oleo isolante, os raios X produzidos no anodo (alvo) precisam alcan¸car o meio externo atrav´es de uma pequena ja-nela (foco). Esta jaja-nela ´e normalmente constru´ıda com ber´ılio, substˆancia de baixo n´umero atˆomico e “transparente” aos raios X. Como os raios X produ-zidos no anodo assumem qualquer dire¸c˜ao, apenas um pequeno ˆangulo s´olido formado entre a superf´ıcie do anodo e a janela de ber´ılio ´e que conter´a a radia¸c˜ao dispon´ıvel externamente. Para melhorar a intensidade dos raios X neste ˆangulo s´olido, a geometria do anodo pode ser modificada. Inclusive, o alvo pode ser m´ovel no sentido de minimizar o aquecimento do ponto de colis˜ao do feixe de el´etrons (anodo girat´orio).
3.1.3
Intera¸c˜
ao dos Raios X com a Mat´
eria
A intera¸c˜ao dos raios X com o meio (mat´eria) se d´a atrav´es de mecanismos que envolvem a radia¸c˜ao e os el´etrons orbitais. Nos processos de intera¸c˜ao observa-se:
• transferˆencia parcial de energia para um el´etron orbital,
• transferˆencia total de energia para um el´etron orbital,
Na transferˆencia total de energia, caracterizamos dois mecanismos espe-c´ıficos: absor¸c˜ao fotoel´etrica e colis˜ao el´astica. J´a na transferˆencia parcial, observamos a colis˜ao inel´astica.
Vale observar que, como h´a mudan¸ca na energia do f´oton incidente du-rante a intera¸c˜ao, os comprimentos de onda dos f´otons incidente e espalhado s˜ao diferentes. Olhando para um meio espalhador, os f´otons espalhados inelas-ticamente n˜ao possuem coerˆencia entre si, dada a variedade de comprimentos de onda entre eles. Por isso, o espalhamento Compton tamb´em ´e chamado de incoerente quando se observam v´arios f´otons espalhados pelo mesmo meio.
Ainda com o modelo de el´etrons livres, o f´oton incidente pode transferir completamente sua energia para um el´etron levando-o para um estado de ex-cita¸c˜ao (acelerado pelo campo el´etrico da radia¸c˜ao). Ao desexcitar, o el´etron produz uma radia¸c˜ao secund´aria idˆentica ao f´oton incidente, mas com nova dire¸c˜ao de propaga¸c˜ao. Como n˜ao h´a altera¸c˜ao das caracter´ısticas energ´eticas entre os f´otons prim´ario e secund´ario (incidente e espalhado), esta itera¸c˜ao ´e dita ser el´astica e recebe o nome de espalhamento el´astico ou espalhamento Thompson.
Ao considerarmos o el´etron ligado ao ´atomo, devemos considerar a den-sidade eletrˆonica do elemento qu´ımico. As caracter´ısticas de espalhamento el´astico de Thompson e inel´astico de Compton permanecem presentes, por´em estas passam a ser moduladas por fatores de forma.
No espalhamento Thomson, a radia¸c˜ao espalhada est´a em fase com a dia¸c˜ao incidente por n˜ao haver mudan¸ca de energia. Nesta situa¸c˜ao, as ra-dia¸c˜oes primaria e secund´aria, incidente e espalhada, s˜ao ditas estarem em coerˆencia de fase. V´arios ´atomos espalhando coerentemente a radia¸c˜ao criam a possibilidade de ocorrˆencia de fenˆomenos de interferˆencia de ondas construti-vas e destruticonstruti-vas, ou seja, difra¸c˜ao da radia¸c˜ao incidente, se a distribui¸c˜ao dos ´atomos no meio espalhador ´e regular como em um cristal. Para este efeito de espalhamento coerente entre ´atomos, d´a-se o nome de efeito de espalhamento coerente, difra¸c˜ao de raios X ou efeito Rayleigh.
Na absor¸c˜ao fotoel´etrica, o f´oton de raio X transfere completamente sua energia para um el´etron orbital, normalmente um el´etron fortemente ligado dos n´ıveis quˆanticos mais baixos, e produz, como consequˆencia, a eje¸c˜ao de um el´etron (fotoel´etron) e a emiss˜ao de um f´oton de raio X caracter´ıstico ou de um el´etron de baixa energia (el´etron Auger). A energia cin´etica do fotoel´etron ´e a diferen¸ca entre a energia do f´oton incidente e a energia de liga¸c˜ao do el´etron na eminˆencia de ser ejetado. Este processo (absor¸c˜ao fotoel´etrica seguida de emiss˜ao de radia¸c˜ao secund´aria) se chama efeito fotoel´etrico de raios X.
3.1.4
Atenua¸c˜
ao e Transmiss˜
ao de Raios X
Antes de entrarmos nos mecanismos de intera¸c˜ao dos raios X com o meio, torna-se interessante observar, do ponto de vista do experimentador, alguns fatos. Considere, inicialmente, um meio homogˆeneo de massa espec´ıficaρe um feixe de raios X monoenerg´etico incidente com intensidadeI e energia E, cuja trajet´oria atravessa este meio. O comprimento do trecho da trajet´oria do feixe que intercepta o meio mede ∆x. Com um detector posicionado na trajet´oria do feixe ap´os o meio, o experimentador mede um feixe com intensidade I′, sendo
I′ ≤I e
∆I =I′−I ≤0
que corresponde `a por¸c˜ao do feixe que foi retirado da trajet´oria original, isto ´e, atenuado. J´a a por¸c˜ao do feixe que foi detectado, por ter permanecido na trajet´oria original (por n˜ao ter interagido com o meio atrav´es de algum dos mecanismos de intera¸c˜ao), ´e dito ter sido transmitida.
Ao alterarmos a espessura do meio de forma a variarmos o comprimento ∆x, mas mantendo a intensidade do feixe incidente, percebemos que ∆I se torna mais negativo conforme ∆xaumenta. Se mantivermos a espessura ∆xe aumentarmos a intensidadeI do feixe, tamb´em notamos que ∆I se torna mais negativo. Logo, empiricamente, podemos montar a rela¸c˜ao
∆I =−µI∆x
onde o parˆametroµ faz o papel de constante de proporcionalidade. No limite de ∆x tendendo a 0, ∆x se torna o infinitesimal dx, ∆I se torna dI e a express˜ao anterior fica
dI =−µIdx
Movendo a vari´avelI para o termo `a esquerda e integrando ambos os lados da igualdade, temos que
Z
dI
1 =−µ
Z
dx
cujo resultado ´e
I′ =Ie−µx
µ= lnI/I ′ x
Como o metro ´e uma unidade muito grande para os c´alculos de atenua¸c˜ao, costuma-se utilizar o subm´ultiplocm−1e, por ser uma unidade de comprimento
linear,µ´e chamado de coeficiente de atenua¸c˜ao linear. A raz˜ao I′/I ´e a probabilidade do feixe ser transmitido,P
trans, e vale
Ptrans =
I′ 1 =e
−µx
Logo, a probabilidade do feixe ser atenuado, Paten, ´e
Paten = 1−
I′
1 = 1−e −µx
Uma outa caracter´ıstica que n˜ao foi analisada at´e aqui ´e a dependˆencia da atenua¸c˜ao/transmiss˜ao em rela¸c˜ao `a energia do feixe de raios X e `a constitui¸c˜ao do meio. Considerando um feixe com intensidade fixa I e um percurso de comprimento ∆xno meio atenuante, a atenua¸c˜ao da intensidade do feixe varia com o inverso da energia, ou seja, entre dois feixes, um com energiaE1 e outro
com energia E2, onde E1 ≥E2, o feixe de energia E2 ser´a mais atenuado que
o feixe de energiaE1. O parˆametro que depende da energia ´e o µ.
Se observarmos uma mesma substˆancia com diferentes massas espec´ıficas (por exemplo, ´agua, gelo e vapor d’´agua), veremos que o coeficiente de ate-nua¸c˜ao linear tamb´em varia. No entanto, a raz˜aoµ(E)/ρtende a ser constante, independente do estado de agrega¸c˜ao da substˆancia que comp˜oe o meio. Esta raz˜ao ´e chamada de coeficiente de atenua¸c˜ao de massa, µρ(E), pois sua
unidade ´ecm2/g.
Atualizando a express˜ao da atenua¸c˜ao usando a lei de Beer-Lambert, temos
I′(E) = I(E)e−µρ(E)ρx
onde
µρ(E)ρ=µ(E)
Quantitativamente, o coeficiente de atenua¸c˜ao de massa, por ser dimensi-onado como unidade de ´area por unidade de massa, ´e tamb´em chamado de se¸c˜ao de choque total e as probabilidades de ocorrerem algum dos meca-nismos de intera¸c˜ao, que resultem na atenua¸c˜ao do feixe transmitido, tamb´em est˜ao relacionadas `a se¸c˜oes de choque de cada mecanismo. Assim, os efeitos fotoel´etrico, de espalhamento el´astico e inel´astico est˜ao associados, caracteri-zados, quantitativamente por se¸c˜oes de choque pr´oprios.
O coeficiente de atenua¸c˜ao de massa e a soma das se¸c˜oes de choque para cada mecanismo:
µρ(E) = τρ(E) +σρe(E) +σiρ(E)
onde τρ(E) ´e a se¸c˜ao de choque para o efeito fotoel´etrico, σρe(E) ´e a se¸c˜ao
de choque para o espalhamento el´astico e σi
ρ(E) ´e a se¸c˜ao de choque para o
espalhamento inel´astico. Em 100% de probabilidade de um f´oton ser atenuado, ´e f´acil perceber queτρ(E)/µρ(E) corresponde `a probabilidade deste evento ser
o efeito fotoel´etrico,σe
ρ(E)/µρ(E) de ser espalhamento el´astico eσρi(E)/µρ(E)
de ser inel´astico.
Logo, para um feixe monoenerg´etico de energiaE, a probabilidade do feixe ser transmitido em um meio de espessura x e massa espec´ıfica ρ´e
Ptrans =e−µρ(E)ρx
como j´a foi apresentado, e as probabilidades de ocorrer ou o efeito fotoel´etrico ou de espalhamento el´astico ou inel´astico s˜ao, respectivamente:
Pf otoelet=
τρ(E)
µρ(E)
1−e−µρ(E)ρx
Pelast =
σe ρ(E)
µρ(E)
1−e−µρ(E)ρx
Pinelast =
σi ρ(E)
µρ(E)
1−e−µρ(E)ρx
3.1.5
Absor¸c˜
ao Fotoel´
etrica
A energia cin´etica do el´etron ejetado ´e
E =hν−Eb
onde hν ´e a energia do f´oton e Eb ´e a energia de liga¸c˜ao do el´etron. Dado o
mecanismo de eje¸c˜ao, este el´etron ´e chamado de fotoel´etron.
Experimentalmente, ´e percept´ıvel que a se¸c˜ao de choque para o efeito fo-toel´etrica depende do n´umero atˆomico e da energia da radia¸c˜ao incidente visto que, conforme o n´umero atˆomico cresce, a probabilidade de ocorrˆencia de ab-sor¸c˜ao fotoel´etrica tamb´em cresce e, por outro lado, com o aumento da energia da radia¸c˜ao incidente, a probabilidade de absor¸c˜ao diminui.
Tamb´em ´e percept´ıvel que, quando a energia da radia¸c˜ao incidente se iguala `a energia de liga¸c˜ao de um el´etron orbital, a se¸c˜ao de choque para o efeito fotoel´etrico apresenta um salto, uma descontinuidade.
Dadas estas caracter´ısticas, uma primeira aproxima¸c˜ao dos valores da se¸c˜ao de choque para o efeito fotoel´etrico leva em considera¸c˜ao as faixas de energia definidas pela energias de liga¸c˜ao dos el´etrons orbitais, o n´umero atˆomico do elemento qu´ımico com o qual a radia¸c˜ao interage e a energia da radia¸c˜ao inci-dente, resultando na express˜ao:
τρ =
30,3Z3,94
AE3 para E > EK
0,978Z4,3
AE3 para EK > E > EL1
0,78Z3,94
AE3 para EL3 > E > EM1
onde EK, EL1, EL3 e EM1 s˜ao, respectivamente, as energia de liga¸c˜ao dos el´etrons da camada K e das subcamadas L1, L3 e M1
A partir desta primeira modelagem, trabalhando sobre dados experimen-tais e te´oricos, Hubell e McMaster ajustaram curvas que interpolavam as se¸c˜oes de choque para o efeito fotoel´etrico para 87 elementos qu´ımicos diferentes, co-brindo uma faixa de energia entre 1 keV e 1 MeV [1]. O resultado s˜ao po-linˆomios di-logar´ıtmicos ajustados para cada intervalo de energia entre bordas de absor¸c˜ao (saltos na se¸c˜ao de choque sobre as energias de liga¸c˜ao dos el´etrons orbitais) em fun¸c˜ao da energia da radia¸c˜ao incidente. O modelo dos polinˆomios segue a express˜ao
lnτj =
3
X
i=0
ondeτ0 reproduz os valoresτN+τO+τP+· · · para E < EM5, τ1 ´e usado para gerar os valoresτM +τN +τO+τP +· · · na faixa de energia EM1 < E < EL3, τ2 reproduz os valores τL + τM +τN +τO +τP + · · · na faixa de energia
EL1 < E < EKeτ3interpola os valoresτK+τL+τM+τN+τO+τP+· · · na faixa de energiaE > EK. Para resolver os valores das se¸c˜oes de choque nos intervalos
internos das camadas, por exemplo em EL3 < E < EL1 e EM5 < E < EM1, a solu¸c˜ao vem com a aplica¸c˜ao das constantes de raz˜ao de salto (jump ratios) que s˜ao as raz˜oes entre os valores das se¸c˜oes de choque `a direita e `a esquerda das energias de liga¸c˜ao dos el´etrons orbitais nas subcamadasL1, L2, M1, M2,M3 e M4.
3.1.6
Emiss˜
ao de Radia¸
c˜
ao Caracter´ıstica
A eje¸c˜ao do fotoel´etron da estrutura atˆomica produz uma vacˆancia que ´e prontamente preenchida por algum el´etron orbital de um n´ıvel quˆantico supe-rior cujo potencial de liga¸c˜ao ´e menos negativo. Esta transi¸c˜ao de preenchi-mento exige que o el´etron candidato perca energia de forma que seu potencial de liga¸c˜ao final seja idˆentico ao potencial de liga¸c˜ao do fotoel´etron antes de produzir a vacˆancia. Sendo Ei a energia de liga¸c˜ao original do el´etron de
transi¸c˜ao e Ef a energia de liga¸c˜ao final (correspondente `a vacˆancia), a
dife-ren¸ca de energia de transi¸c˜ao ´e dada por
∆E =Ei−Ef >0
sendo que este excesso de energia ´e perdido atrav´es de dois mecanismos exclu-sivos:
• emiss˜ao de um f´oton de raio X secund´ario com energia ∆E,
• eje¸c˜ao de um el´etron fraquissimamente ligado (Eb ≈ 0) com energia
cin´etica ∆E.
Vale a pena observar (lembrar) que as energias de liga¸c˜ao dos el´etrons orbi-tais s˜ao caracter´ısticas para cada elemento qu´ımico, ou seja, nenhum elemento qu´ımico tem uma distribui¸c˜ao energ´etica idˆentica a de outro elemento qu´ımico. Logo, a diferen¸ca de energia ∆E ´e caracter´ıstica para cada elemento qu´ımico e serve como uma assinatura, uma identidade.
No caso do excesso de energia ser perdido na forma de um f´oton de raio X, este f´oton ´e chamado de f´oton de raio X caracter´ıstico e sua energia hν ´e
hν = ∆E