INF-103: Avaliação de Desempenho Carlos Alberto Kamienski ( ) UFABC Geração de Números Aleatórios.

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Contadores e Registradores
Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Algoritmos para Geração de Variáveis Aleatórias
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
GERAÇÃO DE NÚMEROS ALEATÓRIOS
AULA 8 Profa. Sandra de Amo GBC053 – BCC
Amintas engenharia.
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Múltiplos Os múltiplos de um número inteiro obtêm-se multiplicando esse número por 0, 1, 2, 3, 4, 5, 6, ... Exemplos: M5= {0, 5, 10, 15, 20,
Sistemas lineares.
Determinantes Determinante é um número real associado a uma matriz quadrada. Notação: det A ou |A|. Determinante de uma Matriz Quadrada de 1ª Ordem. Seja.
SISTEMAS DE EQUAÇÕES.
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Análise de regressão linear simples: abordagem matricial
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Estatística Básica Utilizando o Excel
6. Estruturas p/ Sistemas Discretos
BCC101 – Matemática Discreta
MB751 – Modelos de previsão
POTENCIAÇÃO DE NÚMEROS RACIONAIS
A Teoria dos Determinantes
EQUAÇÕES POLINOMIAIS Prof. Marlon.
FUNÇÃO MODULAR.
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Mecânica dos Sólidos não Linear
Classes e objetos Modelagem
Estrutura de decisão e repetição em JAVA
Provas de Concursos Anteriores
Amintas engenharia.
TENSÕES E CORRENTES EM CIRCUITOS TRIFÁSICOS BALANCEADOS Sistemas de potência são alimentados por geradores trifásicos. De maneira ideal, os geradores suprem.
Geração de random variates
Campus de Caraguatatuba
7 Resultados de Medições Indiretas
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
SISTEMAS LINEARES.
Exponential Random Graph Models
Coordenação Geral de Ensino da Faculdade
Medidas de posição  Estudando as distribuições de  frequência,  percebe-se que existe uma  posição de  concentração dos valores, que podem estar mais concentrados no início, no meio ou no 
Coordenação Geral de Ensino da Faculdade
Quais são, suas médias, medianas e modas?
Múltiplos de um número Sonia Regina de Souza Guedes.
Análise Fatorial Factor analysis.
Erros e variáveis aleatórias
Modelagem Estatística
Introdução e Busca Cega
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Conceitos básicos em grafos
PROGRAMAÇÃO MATEMÁTICA MÉTODO SIMPLEX
Regressão Pontos mais importantes: -objectivo -regressão linear
MATRIZ DE PARENTESCO Nas equações do Modelo Misto, é incluída a matriz de parentesco ( a inversa desta, A-1). Para que? A matriz de parentesco de n indivíduos.
Olhe fixamente para a Bruxa Nariguda
Campus de Caraguatatuba Aula 2: Somatório e Produtório
Máquina de Turing Universal
Inferência Estatística
NOÇÕES DE PROBABILIDADE
Avaliação de Desempenho Simulação
Professor Antonio Carlos Coelho
POTENCIAÇÃO E RAIZ QUADRADA DE NÚMEROS RACIONAIS
Jaime Vinícius de Araújo Cirilo- Engenharia de Produção
Modelagem Estatística
Planilha Eletrônica - Excel
Fontes de Erros Aula 1 Introdução; Erros em processos numéricos;
©2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Geradores de Números Aleatórios Paulo Adeodato Departamento de Informática Universidade Federal.
© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Teste de Geradores de Números Aleatórios Paulo Adeodato Departamento de Informática Universidade.
Transcrição da apresentação:

INF-103: Avaliação de Desempenho Carlos Alberto Kamienski ( ) UFABC Geração de Números Aleatórios

2 Motivação Um dos principais passos para a realização de simulações e experimentações é a geração de valores aleatórios para algumas variáveis com alguma distribuição e probabilidade específica, como normal e exponencial Procedimento composto de 2 passos Gerar um número aleatório entre 0 e 1 (uniforme) Transformar esse número em um valor que satisfaça a distribuição específica

3 Motivação Algumas geradores de números aleatórios são melhores do que os outros Como gerar números aleatórios para simulação/experimentação? O que são números aleatórios adequados para simulação/experimentação? Como funciona a geração de números aleatórios/experimentação?

4 Um gerador simples O métodos mais comum é usar uma relação recursiva na qual o próximo número na seqüência é uma função do último número gerado (ou dos últimos dois números) x n = f (x n-1, x n-2,...) Por exemplo x n = 5 x n mod 16 Começando com x 0 = 5 x 1 = 5(5) + 1 mod 16 = 26 mod 16 = 10

5 Um gerador simples Os primeiros 32 números obtidos através do procedimento acima são 10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5 10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5 Dividindo os x i por 16 0,6250; 0,1875; 0,0000; 0,0625; 0,3750, 0,9375; 0,7500; 0,8125; 0,1250; 0,6875; 0,5000; 0,5625; 0,8750; 0,4375; 0,2500; 0,3125; 0,6250; 0,1875; 0,0000; 0,0625; 0,3750, 0,9375; 0,7500; 0,8125; 0,1250; 0,6875; 0,5000; 0,5625; 0,8750; 0,4375; 0,2500; 0,3125

6 Terminologia Semente x 0 = valor usado para iniciar a seqüência = 5 Ciclo Somente os 16 primeiros números são únicos O 17º é igual ao primeiro Dado um número, o próximo será sempre o mesmo O tamanho do ciclo deste gerador é 16 Cauda Alguns geradores não repetem a parte inicial da seqüência de números, que é chamada de cauda Período O período do gerador é a soma do tamanho da cauda e o tamanho do ciclo

7 Semente, Cauda, Ciclo, Período

8 Números pseudo-aleatórios A função f é determinística Dada a mesma semente, a função f sempre gerará a mesma seqüência de números Os números ainda podem ser considerados aleatórios porque passam em testes de aleatoriedade Esses números são apenas parcialmente aleatórios Em simulação, são preferíveis a números totalmente aleatórios porque é possível repetir os experimentos Se um resultado diferente é necessário, é possível alterar a semente Controle sobre a reprodutibilidade dos experimentos

9 Tipos de Geradores Geradores congruo-lineares Geradores de Tausworthe Geradores de Fibonacci estendidos Geradores combinados

10 Geradores congruo-lineares Descobertos por D.H. Lehmer em 1951: Os resíduos de potências sucessivas de um número têm boas propriedades aleatórias. x n = a n mod m Ou de forma equivalente, x n = a.x n-1 mod m a multiplicador m módulo Lehmer escolheu os seguintes valores: a = 23 e m = 108 Bom para o ENIAC: máquina com 8 dígitos decimais.

11 Geradores congruo-lineares Generalizacão (atualmente em uso): x n = (a.x n-1 + b) mod m Pode ser analisado utilizando a teoria das congruências Geradores Congruo-Lineares Mistos Geradores Congruo-Lineares (LCG) misto = possui tanto uma multiplicação por a como uma adicão de b

12 Seleção dos Parâmetros do LCG a, b e m afetam o período e a autocorrelação O módulo m deve ser grande O período nunca será maior do que m Para o cálculo ser eficiente, m deve ser potência de 2 Assim, mod m pode ser obtido por truncamento Se b é não-nulo, período máximo m será obtido se e só se: Os inteiros m e b forem primos entre si. Todo número primo que for um fator de m deve ser também um fator de a -1 Se m for múltiplo de 4, a -1 também deve ser múltiplo de 4. Essas condições são satisfeitas se m = 2 k, a = 4c + 1 e b for ímpar Onde, c,b e k são inteiros positivos

13 Correlação Indica a força e a direção do relacionamento linear entre duas variáveis aleatórias  Correlação 1: correlação perfeita  Correlação -1: anti-correlação perfeita  Correlação 0: nenhuma correlação Exemplos: X={1,2,3,4,5}, Y={30,40,50,60,70}, correção = 1 X={1,2,3,4,5}, Z={70,60,50,40,30}, correção = -1 X={1,2,3,4,5}, W={1,10,1,10,1}, correção = 0 X={1,2,3,4,5}, V={1,20,5,10,15}, correção = 0,

14 Auto-Correlação Medida que informa o quanto o valor de uma realização de uma variável aleatória é capaz de influenciar seus vizinhos Descreve a correlação entre valores da variável em tempos diferentes É uma ferramenta matemática usada para encontrar padrões que se repetem Ex.: presença de um sinal periódico Na geração de números aleatórios, demonstra aleatoriedade dos números

15 Auto-Correlação X={1,2,3,4,5,6,7,8,9,10,1,2,3,4, 5,6,7,8,9,10,1,2,...}

16 Auto-Correlação X= “1000 números: distribuição uniforme de 0 a 1”

17 Período x Auto-correlação Um gerador que possua um período máximo é chamado de gerador de período completo x n = ( ) x n mod 2 35 x n = ( ) x n mod 2 35 É preferível aquele que exibir baixa auto-correlação entre números sucessivos Ambos os geradores têm o mesmo período completo, mas o primeiro tem uma correlação de 0,25 entre x n-1 e x n, enquanto que o segundo tem uma correlação desprezível de menos do que 2 -18

Média Empírica Tamanho da amostra m = 9, a = 4,b= 1 m = 27, a = 26, b = 5 m = 482, a = 13, b = 14 m = 2 31 – 1, a = 4, b = 1 Seleção dos Parâmetros

19 Recomendações para Escolha da Semente Simulações com múltiplas seqüências: necessitam de mais de uma cadeia de números aleatórios Fila única = Duas cadeias Intervalo entre chegadas e tempos de serviços aleatórios Não usar zero Pode ser usada com LCGs. Mas, LCGs multiplicativos ou um LCG de Tausworthe ficarão presos em zero Evite valores pares. Para LCGs multiplicativos com módulo m = 2 k, a semente deve ser ímpar * É melhor evitar geradores que possuam muitas restrições sobre os valores das sementes ou cujo desempenho (período e aleatoriedade) dependam do valor da semente

20 Recomendações para Escolha da Semente 3. Não subdivida uma cadeia. Não gere sementes sucessivas: u 1 para gerar intervalos entre chegadas, u 2 para gerar o tempo de serviço implica em Forte correlação 4. Use cadeias que não se superponham. Superposição Correlação. Ex.:Mesma raiz implica na mesma cadeia 5. Reutilize sementes em replicações sucessivas. 6. Não utilize sementes aleatórias tais como a hora do dia: Não dá para garantir ausência de superposição

21 Mitos Sobre a Geração de Números Aleatórios Um conjunto complexo de operações leva a resultados aleatórios É melhor usar operações simples que possam ser avaliadas analiticamente quanto à sua aleatoriedade Um teste simples, como o teste do qui-quadrado, é suficiente para testar a qualidade de um gerador de números aleatórios. A seqüência 0, 1, 2,...m-1 passa no teste do qui-quadrado com uma boa nota, mas falharia num teste de execução. Use tantos testes quantos forem possíveis

22 Mitos Sobre a Geração de Números Aleatórios Números aleatórios são imprevisíveis. É fácil obter os parâmetros a,c e m a partir de alguns números. Isso implica em LCGs serem inadequados para aplicações de criptografia

23 Mitos Sobre a Geração de Números Aleatórios 4. Algumas sementes são melhores do que outras. x n = (9806 x n-1 + 1) mod (2 17 _ 1) Funciona corretamente para todas as sementes exceto x 0 = Fica preso em x n = para sempre Geradores deste tipo devem ser evitados. Qualquer semente diferente de zero na faixa válida deveria produzir seqüências de igual qualidade. Para alguns a semente deve ser ímpar. Geradores cujo período ou aleatoriedade dependam da semente não devem ser usadas, dado que um usuário desavisado pode não se lembrar de seguir todas as diretrizes.

24 Geração de Valores para Variáveis Aleatórias (diferentes de U(0,1)) Seja F(x) a distribuição acumulada da função X A inversa da função F Gerar X como Exemplo: Exponencial

25 Geração Números Aleatórios Java

26 Geração Números Aleatórios Java

27 Geração Números Aleatórios Java

INF-103: Avaliação de Desempenho Carlos Alberto Kamienski ( ) UFABC Geração de Números Aleatórios