Simulação estocásaca

Documentos relacionados
Departamento de InformáAca - PUC- Rio. Hélio Lopes Departamento de InformáAca PUC- Rio. A plataforma R

Introdução a Algoritmos Genéticos

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.

Monitor: Diego Augusto Silva (P8 Eng. Elétrica) Atendimento: 2as. de 19:45h às 21:30h

Avaliação e Desempenho Aula 1 - Simulação

I - Introdução à Simulação

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

Introdução a Computação

MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO. PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE.

Introdução à Computação: Máquinas Multiníveis

Pesquisa Operacional

Ciclo de vida do software

INTRODUÇÃO À ROBÓTICA MÓVEL

Introdução ao Processamento de Imagens Digitais Aula 01

Conceitos Básicos INTRODUÇÃO À COMPUTAÇÃO E SUAS APLICAÇÕES

PROGRAMAÇÃO I. Introdução

2. Método de Monte Carlo

3 Método de Monte Carlo

1/ 36. Computação 1 - Python Aula 1 - Teórica: Introdução

Aula 1: A Evolução dos Sistemas Computacionais

Introdução à Computação Gráfica

Noções de Algoritmos

Sistema de Informação

Avaliação de Desempenho

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

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Introdução à Programação

Organização e Arquitetura de Computadores I

Depois do estudo deste capítulo, o estudante deve ser capaz de:

JOGOS MASSIVOS PELA INTERNET

USANDO O MÉTODO DE MONTE CARLO PARA ENCONTRAR RAÍZES DE EQUAÇÕES

# $ % & ' ( ) * ' ( ) *! " " Orientador +, -

Cálculo Numérico. Introdução. Prof. Jorge Cavalcanti twitter.com/jorgecav

UM JOGO BINOMIAL 1. INTRODUÇÃO

Desenho Técnico e CAD CAD e Sistemas de Coordenadas. Computação Gráfica. Computação Gráfica

Inteligência Artificial

Máquinas de suporte vetorial e sua aplicação na detecção de spam

Organização e Arquitetura de Computadores. Leslier S. Corrêa

Assunto 2: Administração do Conhecimento

Correção Ortográfica. Processamento Estatístico da Linguagem Natural. Correção de Erros. Distância Mínima de Edição. Distância Mínima de Edição

Capítulo 1 - Erros e Aritmética Computacional

2. ALGORITMOS. Unesp Campus de Guaratinguetá

Inteligência Computacional

Walter Carnielli Grupo!de Lógica Teórica e Aplicada. CLE e IFCH- UNICAMP

GERAÇÃO DE NÚMEROS ALEATÓRIOS A PARTIR DE MAPAS CAÓTICOS DETERMINISTAS

Filtros Digitais. Filtros básicos, parâmetros no domínio do tempo e frequência, classificação de filtros

Algoritmos 2 - Introdução

SISTEMAS MULTIMÍDIA PROF MOZART DE MELO

PESQUISA OPERACIONAL APLICADA A LOGÍSTICA

UFF - Universidade Federal Fluminense Relatório Anual dos Docentes. Exercício: 2014 GET - DEPARTAMENTO DE ESTATÍSTICA

Seminário de Dinâmica Orbital I

LÓGICA DE PROGRAMAÇÃO. Prof. Welber Ribeiro da Silva

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Bruno Ribeiro da Silva. A adaptação de um sistema operacional para a execução em uma diferente arquitetura

LICENCIATURA EM ENGENHARIA DE REDES DE COMUNICAÇÃO E INFORMAÇÃO EQUIVALÊNCIAS ENTRE PLANOS CURRICULARES. Plano Curricular

SBC - Sistemas Baseados em Conhecimento

Aprendizado por Árvores de Decisão

Professor.: João Carmo SISTEMAS CAD EM DESENHO TÉCNICO

Sistemas Especialistas. Prof. Msc. Jacson Rodrigues

Introdução ao Desenvolvimento de Jogos BCT - UERN

Árvore Binária de Busca Ótima

Introdução à Computação: Sistemas de Computação

Restauração de Imagens

Paradigmas de Aprendizagem

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

FACULDADE PITÁGORAS PRONATEC

Prof. Daniela Barreiro Claro

Linguagens Formais e Autômatos P. Blauth Menezes

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Aula 10: Tratabilidade

Documento Especificação de Requisitos da Ferramenta de construção de Modelos de Casos de Uso.

Processo de gerenciamento de capacidade

(RelGradeCurricular) Número de créditos no período: 30 2 CMP4121 INTROD CIENCIA DA COMPUTACAO II MAF4231 CALCULO PARA COMPUTACAO III

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

Os computadores ditigais podem ser classificados em 5 grupos distintos:

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

ENG1000 Introdução à Engenharia

3 Modelos de Simulação

PESQUISA OPERACIONAL. UNIDADE 1 Introdução à Pesquisa Operacional. Prof. Me. Carlos Guimarães

Sistemas Embarcados. Projeto de Sistemas Embarcados

O que vem a ser computação quântica?

Ferramenta 2.1 Matriz do Modelo de Maturidade de Inovação

O problema da interpretação de hachuras no PDF

CONCEITOS FUNDAMENTAIS

Introdução ao Processamento Gráfico

Fundamentos de Programação. Diagrama de blocos

Recursividade e relações de recorrência

Prof. Adriano Maranhão COMPILADORES

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.

Modelagem Funcional e BOM (Bill of Materials)

Radiométricas. Alexandre Xavier Falcão. Instituto de Computação - UNICAMP

TE802 Processos Estocásticos em Engenharia. Valores Esperados de Somas de Variáveis Aleatórias Notes. PDF da Soma de Duas Variáveis Aleatórias.

Prof. Leonardo Augusto Casillo

Introdução à Interação Humano-Computador. Teorias de IHC Engenharia Cognitiva. Fragmentação de IHC

Desenvolvimento de um método e uma ferramenta para a reutilização de processos de software

Transformação de Imagens Digitais em Código CNC Aprimoradas com Redes Neurais Artificiais

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Introdução a Algoritmos Aula 1

Transcrição:

Introdução à Simulação Estocás5ca usando R INF2035 PUC- Rio, 2013.1 Departamento de InformáAca - PUC- Rio Hélio Lopes Departamento de InformáAca PUC- Rio? A Chute aleatório C Saída B Algoritmo 1

A simulação estocásaca visa imitar ou replicar o comportamento de sistemas complexos explorando a sua aleatoriedade para obter cenários das possíveis saídas desses sistemas. Devido a aleatoriedade envolvida, os métodos de simulação são também conhecidos como métodos de Monte Carlo. O nome "Monte Carlo" é uma referência ao famoso cassino em Mônaco e se tornou popular pelos pesquisadores Stanislaw Ulam, Enrico Fermi, John von Neumann, e Nicholas Metropolis, entre outros. A aleatoriedade e a repeação são as principais caracterísacas dos métodos de Monte Carlo, que são análogas as aavidades praacadas num cassino. Os métodos de Monte Carlo são úteis para estudar: Sistemas não determinísacos. Sistemas determinísacos que são muito complicados para se modelar analiacamente. Sistemas determinísacos com alta dimensionalidade que fazem com que os métodos de discreazação do espaço se tornem impraacáveis computacionalmente (ex., Integração por Monte Carlo). 2

Os dois principais requisitos para os métodos de simulação de Monte Carlo são: Possuir o conhecimento das distribuição de probabilidade das variáveis de entrada do sistema. Possuir um gerador de números aleatórios para gerar cenários das variáveis de entrada do sistema. Simulando um grande número de cenários, a distribuição de probabilidade de todas as saídas da simulação podem ser aproximados com precisão. Essa precisão aumenta à medida que o número de cenários aumentam. 3

Atuária: Cenários de vida de um indivíduo Finanças: Cenários econômicos e financeiros Avaliação de projetos: Opções reais Geologia: Cenários para caracterização de reservatórios Computação gráfica e processamento de imagens: rendering e remoção de ruídos Jogos Aprendizado de máquina A aleatoriedade é algo complicado de se definir, mas geralmente ela é associada a algo que é digcil de se prever. Uma seqüência de números é aleatória quando a sua menor representação é ela mesma. Processos gsicos tais como jogar uma moeda para cima ou jogar um dado podem ser considerados sistemas determinísacos pelo fato de se conhecer as equações que governam o seu movimento e as condições iniciais que os geram. Porém o comportamento desses processos gsicos é caóaco, pois são extremamente sensíveis às condições iniciais praacadas numa jogada. Mesmo num caso determinísaco, sistemas altamente complicados são geralmente tratados por métodos de simulação estocásaca. 4

A geração de números aleatórios é o alicerce de qualquer sistema de simulação estocásaca. Porém, nos computadores digitais as conhecidas funções que geram números aleatórios não são efeavamente aleatórias. Números realmente aleatórios são gerados por um processo gsico. Para isso, são construídos disposiavos gsicos que analisam fenômenos microscópicos ou qüânacos e através de um conversor digital conseguem gerar um número aleatório. Na práaca o que se usa em simulação estocásaca são os geradores de números. Esses geradores produzem uma seqüência determinísaca de números inteiros ou em ponto flutuante na precisão do computador, que imita uma seqüência de variáveis aleatórias independentes e uniformemente distribuídas entre 0 e 1. A essência de uma seqüência de números é a sua imprevisibilidade, no senado de que ninguém é capaz de, ao vê- la, dizer qual é a regra determinísaca que a produz e conseguir prever qual é o próximo número da seqüência. 5

As propriedades desejáveis de um bom gerador de números são: Possuir um padrão aleatório : ele deve passar em testes estalsacos de aleatoriedade; Possuir um período longo; Ser eficiente : ele deve ser executado rapidamente e requerer um baixo armazenamento; Ser de fácil reprodução : a parar de determinadas condições iniciais ele deve produzir sempre a mesma seqüência; Ser portável : a parar de determinadas condições iniciais a seqüência gerada deve ser a mesma em qualquer computador. Linear CongruenAal Generator (LCG) é um gerador de número pseudo- aleatório muito famoso. Ele gera uma seqüência de números inteiros através da seguinte fórmula de recorrência: x k =(a x k 1 + c) mod M onde M, a e c são inteiros dados. A condição inicial x0 é chamada semente do gerador. O inteiro M é aproximadamente o maior inteiro representável na máquina. A qualidade de tal gerador depende da escolha de a e c, e em qualquer caso o período é no menor do que M. 6

Exercício Mostre a seqüência de inteiros gerada pelo método LCG, usando a = 6, c = 0 e M = 11. i 0 1 2 3 4 5 6 7 8 9 10 11 x i 1 6 3 7 9 10 5 8 4 2 1 6 Repita o exercício fazendo o mesmo valor para c e M, e alterando a para 3. Considere x 0 = 1, e depois x 0 = 2. Para o gerador LCG, vale a seguinte proposição: Se c = 0 e M é primo, o período máximo da seqüência para qualquer condição inicial x 0 se: a m-1-1é múltiplo de M; a j -1não é múltiplo de M para j = 1,2,,M-2. 7

M a Referência 2 31 1 = 2147483647 16807 Park & Miller 2147483647 39373 L Ecuyer 2147483647 742938285 Fishman & Moore 2147483647 950706376 Fishman & Moore 2147483647 1226874159 Fishman & Moore 2147483399 40692 L Ecuyer 2147483563 40014 L Ecuyer Para todos os casos acima, c = 0. Na realidade, em simulação estocásaca, nos interessa ter um gerador que pseudo- aleatoriamente gere uma uniforme entre 0 e 1. Para isso podemos criar uma outra seqüência a parar da seqüencia gerada pelo LCG, por exemplo: x k =(a x k 1 + c) mod M u k = x k /M 8

Mersenne Twister é um gerador de números pseudo- aleatório desenvolvido em 1997 por Makoto Matsumoto e Takuji Nishimura que é baseado em uma recursão linear. Ele fornece uma geração rápida com alta qualidade de aleatoriedade. Ele tem período de 2 19937 1. Ele está presente nas linguagens Python, R e MATLAB, por exemplo. 9