O trabalho pioneiro nesta área remonta a Ulam, que o teria inventado em 1946 ao estudar as possibilidades de ganhar no jogo de cartas Solitário.



Documentos relacionados
Mat2274 Estatística Computacional. Números (Pseudo) Aleatórios. Conceitos. Básicos. Conceito

2. Método de Monte Carlo

Teoria dos Números. A Teoria dos Números é a área da matemática que lida com os números inteiros, isto é, com o conjunto

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

3 Método de Monte Carlo

Pesquisa Operacional

INE Fundamentos de Matemática Discreta para a Computação

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

Aplicações de Combinatória e Geometria na Teoria dos Números

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto

¹CPTL/UFMS, Três Lagoas, MS,Brasil, ²CPTL/UFMS, Três Lagoas, MS, Brasil.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Método Monte-Carlo. Alexandre Rosas. 23 de Março de Departamento de Física Universidade Federal da Paraíba

UNIVERSIDADE DE SÃO PAULO. Faculdade de Arquitetura e Urbanismo

Introdução. Métodos de inferência são usados para tirar conclusões sobre a população usando informações obtidas a partir de uma amostra.

QUADRADO MÁGICO - ORDEM 4

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Este material traz a teoria necessária à resolução das questões propostas.

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

UNIVERSIDADE FEDERAL DO PARANÁ PIBID-PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO A DOCÊNCIA PROVAS E DEMONSTRAÇÕES EM MATEMÁTICA

2. Representação Numérica

Métodos de Monte Carlo

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

2aula TEORIA DE ERROS I: ALGARISMOS SIGNIFICATIVOS, ARREDONDAMENTOS E INCERTEZAS. 2.1 Algarismos Corretos e Avaliados

Geração de Números Aleatórios e Simulação

6 Construção de Cenários

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

ULA Sinais de Controle enviados pela UC

Exercícios Teóricos Resolvidos

8 8 (mod 17) e 3 34 = (3 17 ) 2 9 (mod 17). Daí que (mod 17), o que significa que é múltiplo de 17.

Sistemas de Numerações.

Cálculo das Probabilidades e Estatística I

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Simulação Estocástica

Métodos Estatísticos II 1 o. Semestre de 2010 ExercíciosProgramados1e2 VersãoparaoTutor Profa. Ana Maria Farias (UFF)

Monografia sobre R ser um Domínio de Fatoração Única implicar que R[x] é um Domínio de Fatoração Única.

Aula 04 Método de Monte Carlo aplicado a análise de incertezas. Aula 04 Prof. Valner Brusamarello

Organização e Arquitetura de Computadores I

O MÉTODO HÚNGARO PARA RESOLUÇÃO DE PROBLEMAS DE OTIMIZAÇÃO

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Aritmética Binária e. Bernardo Nunes Gonçalves

Dadas a base e a altura de um triangulo, determinar sua área.

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

Avaliação de Desempenho

Simulação Transiente

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

Cláudio Tadeu Cristino 1. Julho, 2014

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Logo, para estar entre os 1% mais caros, o preço do carro deve ser IGUAL OU SUPERIOR A:

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

Lista de Exercícios 4: Soluções Sequências e Indução Matemática

1. Sistemas de numeração

Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA

Aula 11 Esperança e variância de variáveis aleatórias discretas

Só Matemática O seu portal matemático FUNÇÕES

Somatórias e produtórias

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

Tópico 2. Conversão de Unidades e Notação Científica

Testedegeradoresde. Parte X. 38 Testes de Ajuste à Distribuição Teste Chi-Quadrado

Conceitos Fundamentais

a 1 x a n x n = b,

Matéria: Matemática Assunto: Divisores e Múltiplos Prof. Dudan

Classificação: Determinístico

Contagem II. Neste material vamos aprender novas técnicas relacionadas a problemas de contagem. 1. Separando em casos

Contagem. Prof. Dr. Leandro Balby Marinho. Matemática Discreta. Fundamentos Inclusão/Exclusão Princípio da Casa dos Pombos Permutações Combinações

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Polos Olímpicos de Treinamento. Aula 2. Curso de Teoria dos Números - Nível 2. Divisibilidade II. Prof. Samuel Feitosa

Capítulo 7 Medidas de dispersão

Introdução à genética quantitativa usando os recursos do R

Universidade Federal do ABC. Sinais Aleatórios. Prof. Marcio Eisencraft

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Um capacitor é um sistema elétrico formado por dois condutores separados por um material isolante, ou pelo vácuo.

MD Teoria dos Conjuntos 1

AS LEIS DE NEWTON PROFESSOR ANDERSON VIEIRA

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

Definição. A expressão M(x,y) dx + N(x,y)dy é chamada de diferencial exata se existe uma função f(x,y) tal que f x (x,y)=m(x,y) e f y (x,y)=n(x,y).

(a 1 + a 100 ) + (a 2 + a 99 ) + (a 3 + a 98 ) (a 50 + a 51 ).

Ivan Guilhon Mitoso Rocha. As grandezas fundamentais que serão adotadas por nós daqui em frente:

MÉTODOS DISCRETOS EM TELEMÁTICA

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Estruturas de Repetição

36ª Olimpíada Brasileira de Matemática GABARITO Segunda Fase

Lista 1 para a P2. Operações com subespaços

Estudaremos métodos numéricos para resolução de sistemas lineares com n equações e n incógnitas. Estes podem ser:

PÓS GRADUAÇÃO EM CIÊNCIAS DE FLORESTAS TROPICAIS-PG-CFT INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA. 09/abril de 2014

Variáveis Aleatórias Contínuas

Forças internas. Objetivos da aula: Mostrar como usar o método de seções para determinar as cargas internas em um membro.

APLICAÇÕES DA DERIVADA

Modelagem no Domínio do Tempo. Carlos Alexandre Mello. Carlos Alexandre Mello 1

O que é a estatística?

Aula 8 Circuitos Integrados

Processos Estocásticos

O degrau de potencial. Caso II: energia maior que o degrau

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

5 SIMULAÇÃO DE UM SISTEMA WDM DE DOIS CANAIS COM O SOFTWARE VPI

1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3.

Transcrição:

Prof. Lorí Viali, Dr. viali@mat.ufrgs.br http://www.ufrgs.br/~viali/ Números aleatórios (NA) são elementos básicos necessários na simulação de quase todos os sistemas discretos. Eles podem ser utilizados diretamente ou então utilizados para gerar valores de variáveis aleatórias. Métodos de geração de NA e de variáveis aleatórias são normalmente denominados de Métodos de Monte Carlo. A denominação é uma homenagem ao Cassino de Monte Carlo, onde a roleta é um dos mecanismos mais simples de geração de NA. O trabalho pioneiro nesta área remonta a Ulam, que o teria inventado em 946 ao estudar as possibilidades de ganhar no jogo de cartas Solitário. Stanislaw Marcin Ulam (909-984)

John Von Neumann (903-957) Trabalhando com Von Neuman e Metropolis ele desenvolveu algoritmos computacionais. Explorou meios de transformar problemas não aleatórios em aleatórios para que pudesse resolvê-los através da amostragem. Esse trabalho transformou a amostragem estatística de uma curiosidade matemática para um metodologia formal aplicável a uma grande variedade de problemas. Foi Metropolis que denominou a nova metodologia de Monte Carlo. Ulam e Metropolis publicaram o primeiro artigo sobre o método em 949. Nicholas Constantine Metropolis (95-999) Existem várias maneiras ou mecanismos de geração de NA. O objetivo é a geração por computador. Embora falar em NA gerados por computador não seja apropriado, pois a característica de qualquer seqüência de NA é não ser reproduzível e todos os procedimentos computacionais fornecem seqüências que podem ser reproduzidas. Uma seqüência de números aleatórios U, U 2,..., U n deve apresentar três propriedades básicas: (i) Uniformidade; (ii) Aleatoriedade e (iii) Ausência de autocorrelação. Cada número aleatório U i é um valor de uma VAC uniforme em [0; ], isto é, de uma função densidade de probabilidade (fdp) dada por: se 0 u f (u) 0 c.c. 2

fdp da U(0; ) Se X é uniforme no intervalo [0; ], então a FDA de X é dada por: 0,5 0 - -0,5 0 0,5,5 2 F(x ) 0 x se x < 0 se 0 x se x > FDA da U(0;) 0,5 E (X ) x 2 + 2 0 2 x.f (x )dx 0,50 0 xdx 0 - -0,5 0 0,5,5 2 σ 2 V(X) E(X 2 ) E(X) 2 2 + ) 2.f (x)dx x E(X x 3 2 σ 3 V ( X ) 2 2 E ( X 3 4 2 ) 3 2 0 E ( X 3 2 ) Duas conseqüências da uniformidade e independência são: (a) Se o intervalo [0, ] é dividido em k classes de igual tamanho, então o número esperado de observações em cada classe é n/k onde n é o total de valores gerados. 3

(b) A probabilidade de observarmos um valor em uma classe é independente do valor obtido anteriormente. São as primeiras tentativas feitas para encontrar geradores de números aleatórios. Foram aceitos e válidos na sua época. Com o tempo e a sofisticação teórica e computacional as falhas foram aparecendo e foram substituídos por métodos mais eficientes. Foi desenvolvido por Von Neumann e Metropolis em meados de 940. Consiste em elevar o número anterior ao quadrado e extrair os dígitos do meio. Se desejamos NA de três dígitos e o valor da semente fosse λ 0 252, teríamos: 225 2 63504, que produziria o valor λ 350 e assim por diante. 4

Suponhamos que uma seqüência de 4 dígitos aleatórios seja necessária. Seja X i o i-ésimo valor a ser elevado ao quadrado e U i o i-ésimo NA. Seja X 0 5497 (semente). Determinar os primeiros 200 valores. Faça o mesmo com os seguintes valores: 597 e 6500. Entre outras técnicas semelhantes à técnica do meio do quadrado está a do meio-produto. Este método parte de duas sementes com o mesmo número de dígitos: x 0 e x 0. Multiplica-se o número x 0 por x 0 para obter o valor x do qual é selecionado o meio, fornecendo o valor x i+. Usar a técnica do Meio-Produto para gerar uma seqüência aleatória de 40 dígitos com x 0 2938 e x 0 7229. Encontre dois valores iniciais. Determine 200 valores pelo método meio-produto e faça um diagrama de dispersão dos resultados tomando metade dos resultados como valores x e a outra metade como valores y. 5

A técnica da constante multiplicativa é uma leve variação da técnica do meio do quadrado. Utiliza uma constante multiplicativa k. A constante é multiplicada por um valor semente x 0. Ambos, constante e NA, têm d dígitos. O resultado é um valor R. Os d dígitos do meio do resultado são tomados para obtermos o valor x, e assim por diante. Usar a técnica constante multiplicativa para gerar uma seqüência aleatória de 40 dígitos com k 3987 e x 0 7223. Encontre dois valores iniciais. Determine 200 valores pelo método da constante multiplicativa e faça um diagrama de linha dos resultados. Um último processo de interesse histórico é o Método Aditivo Congruencial (MAC) que foi proposto por Lehmer em 95. Derrick Henry Lehmer Professor de Matemática da UC Berkeley (905-99) O MAC utiliza uma abordagem diferente dos métodos anteriores. Ele requer uma seqüência de tamanho n, x, x 2,..., x n. O gerador produz então uma extensão desta seqüência: x n+, x n+2,..., através da expressão: x i (x i- + x i-n ) mod m 6

Seja a seqüência de inteiros x 57, x 2 34, x 3 89, x 4 92 e x 5 6 (isto é, n 5). Seja m 00. Esta seqüência pode ser ampliada, usando o método aditivo congruencial da seguinte forma: x i (x i- + x i-n ) mod m x 6 (x 5 + x ) mod 00 73 mod 00 73 x 7 (x 6 + x 2 ) mod 00 7 mod 00 07 x 8 (x 7 + x 3 ) mod 00 96 mod 00 96 x 9 (x 8 + x 4 ) mod 00 88 mod 00 88 x 0 (x 9 + x 5 ) mod 00 04 mod 00 04 Uma maneira diferente de gerar números aleatórios é através da teoria do caos. Identifique valores iniciais que poderiam render um bom gerador para a seguinte seqüência caótica. x i+ 4x i ( - x i ) A congruência foi introduzida formalmente por Gauss na obra Disquisitiones Arithmeticae para estudar os Karl Friedrich Gauss (777-855) problemas aritméticos relacionados com a divisibilidade. Posteriormente foi aplicada a problemas da teoria dos números. 7

Sejam a e b números inteiros e m > 0 um número natural. Se a e b fornecem o mesmo resto quando divididos por m escrevemos: a b (mod m) Lê-se a é congruente a b módulo m. De forma equivalente pode-se dizer que m divide a b. O valor m é denominado de módulo da relação de congruência. Por exemplo, os números que são congruentes a 0 módulo m, são os múltiplos de m. A notação sugere que a relação de congruência é semelhante a relação de igualdade. De fato a congruência módulo m é, tal como a igualdade, uma relação de eqüivalência. Ela apresenta as seguintes propiedades: Reflexiva: a a (mod m) Simétrica: a b (mod m) se e só se b a (mod m) Transitiva: a b (mod m) e b c (mod m) então a c (mod m). Assim pode-se agrupar os números enteiros em famílias disjuntas formadas pos números que são congruentes módulo m. Vamos obter m famílias que são denominadas de classes de congruência de m. Serão as famílias de números congruentes a i módulo m fazendo i variar de 0 a m -. Por exemplo, as classes de congruência módulo 2 são os conjuntos dos números pares e o dos ímpares. 8

De mesma forma, existem três classes de congruência módulo 3. São formadas pelos números múltiplos de 3, pelos múltiplos de 3 mais e pelos múltiplos de 3 mais 2 (ou menos ). As classes de inteiros módulo m serão representadas por Z m (Z módulo m) Assim, por exemplo: Z 3 { 0,, 2 }. As principais propriedades da congruência são as relacionadas a soma e a multiplicação de inteiros: Se a b (mod m) e c d (mod m), então a + c b + d (mod m) Se a b (mod m) e c d (mod m), então ac bd (mod m) Essas propriedades precisam ser provadas. Para verificar se a soma de congruências é também uma congruência precisamos verificar se: (a + c) (b + d) é divisível por m. Tem-se o seguinte: Se a b (mod m), então existe k Z tal que a b km. Se c d (mod m), então existe l Z tal que c d lm. Assim (a + c) - (b + d) (a - b) + (c - d) km + lm (k + l)m Ou seja: a + c b + d (mod m) Prove que a subtração de congruências é também uma congruência. 9

Prova de que o produto de congruências e uma congruência. Nesse caso é necessário mostrar que ac bd é divisível por m. Tem-se que: Se a b (mod m), então existe k Z tal que a b km. Se c d (mod m), então existe l Z tal que c d lm. Assim a.c - b.d a.c + 0 - b.d a.c + (-bc + bc) - b.d ac bc + bc bd c(a b) + b(c d) ckm + blm (ck + bl).m pm, onde p ck + bl Portanto ac bd (mod m) Um caso particular da regra da multiplicação que é útil é: Se a b (mod m) então ka kb (mod m), para qualquer inteiro k. Sistema completo de restos Cada inteiro é congruente módulo n com exatamente um dos n números: 0,, 2,... n -. Seja z un inteiro qualquer. Dividindo por n, se obtém: z qn + r, 0 < r < n, Assim que z é congruente módulo n a r, que é um número entre 0 e n -. Suponhamos agora que 0 < r < r 2 < n e que z r (mod n) e z r 2 (mod n) 0

Tem-se então que: r r 2 (mod n) pois n divide a r 2 - r, mas 0 < r 2 - r < n - < n, o que é uma contradição. O Método Linear Congruencial (Linear Congruencial Method), proposto por Lehmer em 95, é o gerador de NA mais utilizado. Tal gerador é baseado na seguinte relação recursiva: X i (a.x i- + c) mod m, onde X i, para i, 2, 3,... são os números inteiros aleatórios de saída, X 0 é o valor inicial da recursão ou semente e a, c e m são constantes pré-escolhidas. Para se obter valores de uma variável aleatória uniforme no intervalo (0, ), será necessário dividir o valor X i pelo módulo m, obtendo desta forma o valor U i X i /m. Se c 0 na definição então a expressão é denominada de Método Congruencial Misto. Quando c 0 a fórmula é conhecida como Método Congruencial Multiplicativo.

A rapidez e a eficiência na utilização de geradores é um dos principais fatores a ser considerado na seleção. Isso pode ser obtido pela utilização de um módulo m que seja uma potência de 2. Se o módulo for uma potência de 0, digamos 0 b para b > 0 e c é zero então a obtenção dos valores X i é simples. Ela consistirá em tomar os b dígitos à direita do número X i a.x i-. Exemplo: Por analogia, o mesmo pode ser feito, quando o módulo for m 2 b para b > 0. Essa opção é particularmente eficiente para o uso computacional. Sejam: X 0 0, a 2, c 9 e m 00 Então: X i 2X i- + 9 (mod 00) Exemplo: X (2.0 + 9) (mod 00) 29 mod 00 9 U 9/00 0,9 X 2 (2.9 + 9) (mod 00) 408 mod 00 8 U 2 08/00 0,08 X 3 (2.08 + 9) (mod 00) 77 mod 00 77 U 3 77/00 0,77... Propriedades: 0. Em virtude da operação módulo m, os valores possíveis do algoritmo são os inteiros: 0,, 2,..., m -, se c 0 ou os inteiros:, 2, 3,..., m -, se c 0. 2

02. A mais fina partição do intervalo (0, ) que esse gerador pode fornecer é {0, /m, 2/m,..., (m - )/m}. Assim, não se tem uma verdadeira uniforme pois para qualquer k {0,,..., m - } temse: P(k/m < U < (k+)/m) 0 e não /m como seria requerido. No entanto qualquer outro algoritmo computacional apresentará o mesmo problema, em virtude da precisão da máquina. Por exemplo, em uma computador com palavra de 32 bits a partição mais refinada de [0, ] é: {0, /2 32, 2/2 32,..., (2 32 - )/2 32 }. 03. Como o valor X i depende apenas do valor anterior X i-, uma vez que um valor se repita, a seqüência inteira se repetirá. Tal repetição é dita ciclo e o tamanho da seqüência é dita período. O período máximo de um gerador congruencial é m. Ainda, a resolução de um gerador é a menor diferença possível entre dois valores diferentes produzidos pelo gerador. 04. As escolhas de a, c, e m (bem como a aritmética particular da máquina), determinarão a resolução da partição [0, ] bem como o comprimento do ciclo (período) e, portanto, a uniformidade da distribuição e a propriedade de independência da seqüência de saída. A escolha apropriada de a, c e m é uma técnica com resultados teóricos e testes empíricos. A primeira regra é selecionar o módulo m "tão grande quanto possível. Entretanto, m grande pode não ser o bastante, pois e o gerador pode ter muitos ciclos pequenos ou a seqüência não ser independente. 3

Exemplos: X i 2X i- (mod 2 32 ), onde uma semente da forma 2 k cria um ciclo contendo somente inteiros que são potências de 2. X i (X i- + ) mod 2 32, que gera uma seqüência não aleatória de inteiros crescentes. Essa equação fornece um gerador que tem um ciclo de período máximo, mas ela é inútil para simular uma seqüência aleatória. Teorema: Um gerador linear congruencial terá um período máximo se e somente se: (i) c é não nulo e é primo relativo de m. (ii) (a mod q), para cada fator primo q de m ou de forma equivalente b a - é um múltiplo de p, para cada primo p dividindo m. (iii) (a mod 4) se 4 é um fator de m, ou de forma equivalente b é múltiplo de 4, se m é múltiplo de 4. Pelo teorema um gerador com c 0, não pode ter um período de tamanho m, mas ele poderá ter um período de tamanho m. Conhecidas as limitações e propriedades dos geradores congruenciais, tem-se ainda a questão de como escolher a terna (a, c, m) do melhor modo possível. Para isto é aconselhado o seguinte roteiro direto, apesar de lento [LEW89]: 4

(a) Escolher valores (a, c, m) que forneçam um ciclo conhecido e suficientemente longo e utilizar este gerador para obter variáveis uniformemente distribuídas em [0, ]. (c) Sujeitar o gerador a testes teóricos. O teste espectral de Coveyou e MacPherson é bastante utilizado e reconhecido como um teste estrutural sensível para distinguir entre bons e maus geradores. (d) Aplicar ao gerador os novos testes, que estão continuamente surgindo. Vários de tais testes são encontrados em [LEW89]. Estes testes são aplicáveis a quaisquer geradores e não somente aos do tipo congruencial. Geradores que passam pelo procedimento acima, em geral, tem sido considerados bons geradores. KNUTH, Donald E. The Art of Computer Programing. Volume 2 - Seminumerical Algorithms. Reading (Massachusetts): Addison Wesley, 98. LEWIS, P. A. W., ORAV, E. J. Simulation Methodology for Statisticians, Operations Analysts and Engineers. Volume I. Belmont (California): Wadsworth, Inc., 989. SOBOL, I. O método de Monte Carlo. Moscou: Editora Mir, 983. TOCHER, K. D. The Art of Simulation. London: Universities Press, 963. 5