estatística e modelos probabilísticos - coe241classes/est-prob-2012/slides/aula_12.pdf · tempo...
TRANSCRIPT
![Page 1: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/1.jpg)
Rosa – 2012
Estatística e Modelos Probabilísticos - COE241
Aula de hoje
Análise de Comandos de Programação
Introdução à simulação
Geração de números aleatórios
Aula passada
Função Distribuição Condicional
Calculando Probabilidades condicionando
Esperança Condicional
![Page 2: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/2.jpg)
Rosa – 2012
Exemplo: X e Y v.a. contínuas
Queremos calcular P[X<Y]
P [X Y ]=∫−∞
∞
P [X Y /Y= y ] f Y y dy
P [X Y ]=∫−∞
∞
P [X y ] f Y y dy
P [X Y ]=∫−∞
∞
F X y f Y y dy
![Page 3: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/3.jpg)
Rosa – 2012
Esperança Condicional
![Page 4: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/4.jpg)
Rosa – 2012
Esperança Condicional
![Page 5: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/5.jpg)
Rosa – 2012
Somas Aleatórias
Seja T=X1+X
2+ … +X
N, onde N é uma
variável aleatória que é independente deX
ke todos os X
k são variáveis aleatórias
independentes e identicamente distribuídas
![Page 6: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/6.jpg)
Rosa – 2012
Somas Aleatórias Estas variáveis aleatórias ocorrem nos
seguintes casos:
Tempo de execução de comandos de programação como whilewhile e repeat
Tempo para transmitir uma mensagem em um canal de múltiplo acesso
Como o número de parcelas (N) na soma é uma variável aleatória, iremos usar o condicionamento para cálculo de medidas de interesse
![Page 7: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/7.jpg)
Rosa – 2012
Somas Aleatórias: Média
![Page 8: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/8.jpg)
Rosa – 2012
Somas Aleatórias: Variância
![Page 9: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/9.jpg)
Rosa – 2012
Análise de Comandos de Programação
Suponha que queiramos obter a média e variância de comandos usados em programação
v.a. X representa o tempo de execução do comando
v.a. N representa a probabilidade de um determinado trecho ser executado
![Page 10: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/10.jpg)
Rosa – 2012
Análise de Comandos de Programação
Comando if B then S1 else S2
Variável X está condicionada a N onde N
representa a probabilidade de execução de S
i
X é uma v.a. contínua condicionada a uma
v.a. discreta. Podemos definir a função densidade condicional de X como:
f X /N x /i= f i x , função densidadecondicional de X dada a escolha S i
![Page 11: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/11.jpg)
Rosa – 2012
Análise de Comandos de Programação
A função densidade marginal de X é:
Temos que E[X] pode ser obtido de:f X x=∑
i=1n pN i f i x
E [X ]=∫−∞
∞
x∑i=1
npN i f i xdx
E [X ]=∑i=1
npN i ∫−∞
∞
x f i xdx
E [X ]=∑i=1
npN i E [X i ]
![Page 12: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/12.jpg)
Rosa – 2012
Análise de Comandos de Programação
No caso do comando if then else, N é uma v.a. Bernoulli, logo temos:
E[X] = pE[X1] + (1-p)E[X
2]
![Page 13: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/13.jpg)
Rosa – 2012
Análise de Comandos de Programação
A variância é dada por E[X2] – E[X]2, onde
No caso do comando if then else, N é uma v.a. Bernoulli, logo temos:
Temos que Var[T] = pVar[X1 ] + (1-
p)Var[X2 ] +p(1-p)(E[X
1]-E[X
2])2
E [X 2]=∑i=1
npN i E [X i
2]
E [X 2]= pE [X 1
2]1− pE [X 2
2]
![Page 14: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/14.jpg)
Rosa – 2012
Análise de Comandos de Programação
Comando case i of
1: S1;2: S2;end
Mesmo caso do comando if then else, só que existem várias opções de escolha
Variável X está condicionada a N onde N
representa a probabilidade de execução de S
i
![Page 15: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/15.jpg)
Rosa – 2012
Análise de Comandos de Programação
Média:
Variância:
E [X ]=∑ipN i E [X i ]
Var [X ]=∑i
npN i E [ X i
2]−∑i
npN i E [X i ]
2
probabilidade de escolha de uma das opções
Tempo médio de execução de Si
![Page 16: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/16.jpg)
Rosa – 2012
Análise de Comandos de Programação
Threads concorrentes
N é o número de threads
Xi é o tempo de execução de cada thread
Estatística de ordem permite o cálculo da distribuição até que a primeira thread termine e até que a última termine
![Page 17: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/17.jpg)
Rosa – 2012
Simulação de Sistemas Discretos
É uma técnica de modelagem que visa a representação do comportamento do sistema para obtenção de medidas de desempenho e/ou confiabilidade
O sistema é representado através de eventos que ocorrem segundo uma distribuição de probabilidade
![Page 18: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/18.jpg)
Rosa – 2012
O Ciclo de Modelagem
Criação do Modelo
Solução doModelo
Sistema real
aproximação
Influênciano sistema
![Page 19: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/19.jpg)
Rosa – 2012
Modelando um Sistema
Abstração do sistema
Simplificação necessária
Representação matemática do sistema
Aleatoriedade
Servidor
Web
pedidosCPU
Disco 1
Disco 2
pedido finalizado
Taxa de chegadade pedidos
![Page 20: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/20.jpg)
Rosa – 2012
Algumas Medidas de Desempenho
Vazão de um recurso: número de processos servidos por unidade de tempo
Utilização de um recurso: percentual do tempo que o recurso fica ocupado
Número médio de processos na fila do recurso
Tempo médio que cada processo fica na fila do recurso
![Page 21: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/21.jpg)
Rosa – 2012
Fila Genéricarequisições
CPU
Como avaliar o desempenho desta fila? Qual o tamanho médio da fila?
Simulação
![Page 22: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/22.jpg)
Rosa – 2012
Simulando uma Fila Genéricarequisições
CPU
O que é uma simulação?
Programa que imita comportamento do sistema
Como simular este sistema?
Programa deve gerar eventos de chegadas e serviço, manter estado da fila, calcular medidas de interesse
![Page 23: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/23.jpg)
Rosa – 2012
Simulando uma Fila Genéricarequisições
CPU
N(t)
t
Sistema ocioso
Sistema ocupado
Imitar evolução do sistema: N(t)
Obter medidas de interesse: vazão, utilização, E[N], etc.
![Page 24: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/24.jpg)
Rosa – 2012
Simulação
VantagensPode lidar com modelos mais complexos
Melhor representação do sistema real
DesvantagensDifícil verificar a precisão dos resultados
Pode ter longo tempo de execução
Modelos analíticos possuem vantagens e desvantagens com relação a simulação
![Page 25: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/25.jpg)
Rosa – 2012
Caracterizando um Simulador Determinístico ou Estocástico
Modelo contém eventos aleatórios?
Estático ou DinâmicoEvolução do tempo influi no sistema?
Contínuo ou DiscretoEstado do sistema evolui continuamente ou em instantes discretos no tempo?
Simulação Discreta de Eventos
estocástica, dinâmica e discreta
![Page 26: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/26.jpg)
Rosa – 2012
Primeiro Passo para Simulação
Como gerar números aleatórios?
Gerar números pseudo-aleatóriosque pareçam aleatórios
![Page 27: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/27.jpg)
Rosa – 2012
Gerador de Números Pseudo-Aleatórios
Algoritmo que gera uma sequência de números inteiros U
1, U
2, ..., que
pareçam ser:
Uniformemente distribuídos no intervalo [0, M-1] (para algum M fixo)
Estatisticamente independentes
pareçam ser: sequência deve ter propriedades relevantes de uma sequência de v.a. uniforme
![Page 28: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/28.jpg)
Rosa – 2012
Método Congruente
Dois parâmetros a e M (números inteiros) e o valor inicial é x
0 (semente)
x i=a x i−1mod MU i=
x i
M
x0 determina a sequência inteira
M determina quantos diferentes números podem ser gerados
![Page 29: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/29.jpg)
Rosa – 2012
Exemplo
Supor a=3 e M=11
x i=3 xi−1mod 11
x0=4Supor (semente)
Quantos números diferentes podemos gerar?
x 1 =3 x 0 m o d1 11 2m o d1 11
=
=
x 2 =3 x 1 m o d1 13 m o d 1 13
=
=
![Page 30: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/30.jpg)
Rosa – 2012
Exemplo
Supor a=3 e M=11
x i=3 x i−1 m o d1 1
x0=4x1=1x2=3x3=9x4=5x5=4x6=1
.
.
.
Gerador entra em loop depois de 5 amostrasE se x
0 for diferente ?
![Page 31: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/31.jpg)
Rosa – 2012
Propriedades do Gerador
Qual o tamanho de uma sequência?Escolher a e M tal que para qualquer x
0
Sequência pareça aleatóriaLongo ciclo antes de repetiçãoCálculo seja eficiente
![Page 32: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/32.jpg)
Rosa – 2012
Método Congruente LinearTrês parâmetros a, c e M (números inteiros)Dado x
0 (semente)
x i=a x i−1c m o dM
U i=x i
M
x0 determina a sequência inteira
Bastante utilizado
diferença do outro método
![Page 33: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/33.jpg)
Rosa – 2012
ExemploSupor a = 3, M = 11, c = 2Semente x
0 = 4
x i=3 x i−12 m o d1 1
x 0 =4x 1 =3x 2 =0x 3 =2x 4 =8x 5 =4x 6 =3
.
.
.
x 1 =3 x 0 2 m o d1 1
1 4m o d 1 13
=
=
![Page 34: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/34.jpg)
Rosa – 2012
Geradores na PráticaLinguagens de programação oferecem geradores
C ou C++ (gnu)
lrand48() - retorna long [0, 231]
drand48() - retorna float [0, 1)
Método Congruente Linear
Usuário define semente (x0)
Matlab utiliza múltiplos geradores
usuário pode escolher
M=248 a=25214903917 c =1 1
![Page 35: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/35.jpg)
Rosa – 2012
Tarefa de Casa (1)Fazer um programa para gerar números aleatórios usando o método congruente linear
Escolha conjuntos de parâmetros e justifique a escolha de cada conjunto
Gerar gráfico com histograma para cada conjunto de parâmetros comentando como a escolha dos parâmetros influenciou nos resultados
0.1 0.2 0.3 0.4 0.5 0.6 . . .
Número de ocorrências
0 1.0
![Page 36: Estatística e Modelos Probabilísticos - COE241classes/est-prob-2012/slides/aula_12.pdf · Tempo para transmitir uma mensagem em um canal de múltiplo acesso Como o número de parcelas](https://reader033.vdocuments.pub/reader033/viewer/2022052610/5c13686709d3f2e3218c82c8/html5/thumbnails/36.jpg)
Rosa – 2012
Tarefa de Casa (2)
Repetir o experimento usando o gerador da linguagem de programaçãoComparar resultados do seu gerador com os obtidos com o gerador da linguagemEntregar relatório contendo os resultados do seu experimento e o código do programa