“Testando” a lei dos grandes probabilidades através do Stata números: simulando cálculo de 53) A lança uma moeda n+1 vezes e B lança a mesma moeda n vezes. Qual é a probabilidade de A obter mais caras que B? Solução: Seja XA o número de caras obtido por A em n+1 lançamentos da moeda e seja seja XB o número de caras obtido por B em n lançamentos da mesma moeda. Pergunta-se: P(XA > XB). P( X A ) n 1 XA P( X B ) n XB XA 1 2 1 2 XB n 1 XA 1 2 (n 1)! 1 (n 1 X A )! X A ! 2 n XB 1 2 (n n! 1 X B )! X B ! 2 n 1 n Temos uma matriz constituída por (n+1) linhas correspondentes aos lançamentos de A e n colunas correspondentes aos n lançamentos de B. x1,1 x2,1 x1,2 ... ... x2,2 ... ... x1,n x2,n ... ... ... ... ... ... ... ... ... ... xn ,1 xn 1,1 ... ... ... ... xn ,n ... ... xn 1,n O valor do primeiro subscrito dos elementos desta matriz corresponde ao número de caras de A e o valor do segundo subscrito dos elementos desta matriz corresponde ao número de caras de B. As combinações em que A faz maior número de caras do que B correspondem a região da matriz que está abaixo da diagonal que vai de x1,1 a xn,n. n 1 i 1 i 2 j ( n 1)! 1 1 ( n 1 i )!i ! 2 n 1 n 1 i 1 i 2 j 1 2 n! 1 ( n j )! j ! 2 ( n 1)! n ! 1 j )! j ! 2 1 ( n 1 i )!i !( n 2n 1 n 2n 1 n 1 i 1 ( n 1)! n ! i 2 j 1 1 ( n 1 i )!i !( n j )! j ! 1 ( n 1)!2!( n 1)!1! 1 (0)!( n 1)!( n 1)!1! 1 ( n 2)!3!( n 1)!1! 1 ... ( n 2)!3!( n 2)!2! 1 1 ... (0)!( n 1)!( n 2)!2! (0)!( n 1)!0! n! Fiz uma simulação deste somatório para n = 2 até 30 através de uma rotina no Stata conforme abaixo e cheguei aos resultados listados depois do programa. Os resultados do cálculo da probabilidade convergem rapidamente para 0,5. Mas esta é uma solução por “simulação”. Se alguém conseguir uma solução analítica para o desenvolvimento do somatória acima, favor enviar. forvalues n = 2(1)30 { scalar soma = 0 forvalues i=2(1)`n' { local k = `i' - 1 forvalues j=1(1)`k' { scalar fator = (exp(lnfactorial(`n'+1-`i'))*exp(lnfactorial(`i'))*exp(lnfactorial(`n'`j'))*exp(lnfactorial(`j')))^(-1) scalar soma = soma + fator } } disp "n = ", `n', " probabilidade = ", soma*.5^(2*`n' + 1)*exp(lnfactorial(`n'+1))*exp(lnfactorial(`n')) } n= n= n= n= n= n= n= n= n= n= n= n= n= n= n= n= n= n= n= n= n= 2 probabilidade = .1875 3 probabilidade = .328125 4 probabilidade = .41015625 5 probabilidade = .45410156 6 probabilidade = .47680664 7 probabilidade = .48834229 8 probabilidade = .49415588 9 probabilidade = .49707413 10 probabilidade = .49853611 11 probabilidade = .49926782 12 probabilidade = .49963385 13 probabilidade = .49981691 14 probabilidade = .49990845 15 probabilidade = .49995422 16 probabilidade = .49997711 17 probabilidade = .49998856 18 probabilidade = .49999428 19 probabilidade = .49999714 20 probabilidade = .49999857 21 probabilidade = .49999928 22 probabilidade = .49999964 n= n= n= n= n= n= n= n= 23 24 25 26 27 28 29 30 probabilidade = probabilidade = probabilidade = probabilidade = probabilidade = probabilidade = probabilidade = probabilidade = .49999982 .49999991 .49999996 .49999998 .49999999 .49999999 .5 .5 70) Motores de avião funcionam independentemente e cada motor tem uma probabilidade p de falhar durante o vôo. Um avião voa com segurança se a maioria de seus motores funciona. Para que valores de p um avião com 3 motores é preferível a um avião com 5 motores? Solução: para um avião de três motores a probabilidade de voar é: P3 3 2 p 2 (1 p )3 3 p 2 (1 p) p3 2 3 3 p 3 (1 p )3 3 p 5 (1 p )5 5 3! 2 3! 3 p (1 p ) p 2!1! 3!0! 3 p2 2 p3 Para o avião de 5 motores: P5 5 4 p 4 (1 p )5 4 5 5 5 p 4 (1 p ) p5 5 p4 4 p5 Então o avião de 3 motores é preferível ao avião de cinco motores quando é satisfeita a seguinte inequação: 3 p 2 2 p3 5 p 4 4 p5 4 p5 5 p 4 2 p 3 3 p 2 0 p 2 (4 p 3 5 p 2 2 p 3) 0 Desenvolvi a seguinte rotina no Stata para estudar o sinal deste polinômio. Esta rotina resulta na construção do gráfico a seguir. Pelo gráfico verifica-se que o valor do polinômio é sempre positivo para 0 < p < 1. Portanto o trimotor é sempre preferível ao avião de 5 motores. clear set more off set matsize 2000 matrix A = J(1000,2,0) local j = 0 forvalues i = 0(.001)1 { local j = `j' + 1 scalar t = 4*`i'^5 - 5*`i'^4 - 2*`i'^3 + 3*`i'^2 0 .1 f(p) .2 .3 matrix A[`j',1] = `i' matrix A[`j',2] = t disp t } svmat A, names(A) rename A2 y rename A1 p twoway (line y p), ytitle(f(p)) 0 .2 .4 .6 .8 1 p 58) Quantas vezes, no mínimo, se deve lançar um dado não tendencioso para que a probabilidade de obter algum 6 seja superior a 0,9? Solução: Seja n o número de lançamentos do dado. A probabilidade de se obter no mínimo um 6 em n lançamentos é dado por: n P(no minimo um 6) = 1 - P(nenhum 6) = 1 0 n! 5 1 ( n 0)!0! 6 5 6 n 0.1 n 1 5 6 n 0.9 1 6 0 1 1 6 n 0 5 log 0.1 6 log0.1 n> 5 log 6 n> 12.63 nlog 5 Para n = 12 16 5 Para n = 13 16 12 0.888 13 0.906 7) Uma loteria tem N números e só um prêmio. Um jogador compra n bilhetes em uma extração. Outro compra só um bilhete em n extrações diferentes. ( ambos os jogadores apostam portanto a mesma importância). Qual deles tem maior probabilidade de ganhar o prêmio? Solução: O primeiro jogador tem probabilidade de ganhar o premio igual: 1 P( X n N 1 1 N 1 N 2 N n N n ... 1 N N 1 N n 1 N 0) 1 n N O segundo jogador tem probabilidade igual a: 1 P( X n 0 0) 1 1 N 0 1 1 N n 0 1 1 1 N n Para demonstrar que o segundo jogador tem maior probabilidade de ganhar o n premio, temos que demonstrar que N < N. n 1 N 1 1 N N 1 1 N n N n n 1 1 1 N n para qualquer n e N, n N n N 1 N N n N 1 Esta expressão é falsa, pois quando N é grande N n 1e N n N 1 Portanto o primeiro jogador terá maior probabilidade de ganhar o premio. 39) Uma moeda é jogada 6 vezes. Sabendo-se que no primeiro lançamento deu coroa,calcular a probabilidade condicional de que o número de caras nos 6 lançamentos supere o número de coroas. Solução: Em cinco lançamentos restantes, como já temos uma coroa, o número de caras deve superar o numero de coroas + 1. Temos então de calcular P(X>= 3) onde X é o número de caras em 5 lançamentos. 5 3 10 32 1 2 5 32 3 1 2 1 32 2 5 1 4 1 4 2 2 16 0,5 32 1 5 5 1 2 5 1 2 0 Simulei 100000 vezes 5 lançamentos de uma mesma moeda através do seguinte programa Stata e a proporção de resultados com 3 ou mais caras foi igual a 0,49648. * Simulando 5 lançamentos de uma moeda cap prog drop moeda prog def moeda local contador = 0 forvalues i = 1(1)5 { scalar z = runiform() if z <= .5 { scalar moeda = 0 } else { scalar moeda = 1 local contador = `contador' + 1 } } if `contador' >= 3 { scalar x = 1 } else { scalar x = 0 } end simulate y=x , reps(100000) nodots: moeda summa y 30) João e Pedro lançam, cada um, um dado não-tendencioso. Qual é a probabilidade do resultado de João ser maior ou igual ao resultado de Pedro? Solução: Supoe-se que os resultados de João e Pedro são independentes. A probabilidade dp resultado de João ser maior do que o resultado de Pedro corresponde a um subconjunto do espaço amostral, que se constitui de 36 eventos subtraindo-se os eventos em que Pedro ganha e teremos (36-6)/2 = 15 eventos em que João ganha, cada um com probabilidade 1/36 e portanto a probabilidade de João ganhar é igual a 15/36. 27) Colocam-se ao acaso n botões em um tabuleiro n x n, não sendo permitido haver dois botões em uma mesma casa. Qual é a probabilidade de não haver dois botões nem na mesma linha nem na mesma coluna? Solução: Existem n2 possibilidades de se colocar o primeiro dos n botões no tabuleiro. Para cada uma destas n2 possibilidades temos (n2-1) possibilidades de colocarmos o segundo dos n botões e assim por diante – quando chegamos ao penúltimo botão só nos resta uma possibilidade restante de colocarmos o nosso n-esimo botão. Então o numero de eventos distintos em que não ocorrem dois botões na mesma casa é: n 2 (n 2 1) ( n 2 2) ...( n n2 ! n 2) 1 ( n 2 n 1)! 2 Este é o tamanho de nosso espaço amostral. O número de eventos favoráveis é igual a n!. Por exemplo, se n = 3 temos os seguintes eventos favoráveis: b x x x b x x ou x b b x x x b x b x x ou x b x b x x x x b ou x x b b x x x b x x b x x x b ou x x b ou x b x b x x b x x O número de resultados (eventos) distintos do espaço amostral é igual a Portanto a probabilidade será igual a: n! n2 ! ( n 2 n 1)! n !( n 2 n 1)! n2 ! Por exemplo, para n = 3 temos: n! n2 ! (n 2 n 1)! n !(n 2 n 1)! n2 ! 3!(9 3 1)! 9! 3!7! 9! 3 4 Vamos simular este experimento através da seguinte rotina Stata: nn . * Simulando o preenchimento com botões em um tabuleiro * com n x n posições cap prog drop tabuleiro prog def tabuleiro local n = 5 matrix X = J(`n',`n',0) local i = 1 while `i' <= `n' { local k = int(1+(`n')*runiform()) local l = int(1+(`n')*runiform()) scalar x = X[`k',`l'] if x == 1 { } else { matrix X[`k',`l'] = 1 local i = `i' + 1 } } matrix list X matrix lin = J(1,`n'+1,0) matrix col = J(`n',1,0) matrix X = X,col matrix X = X\lin forvalues i = 1(1)`n' { forvalues j = 1(1)`n' { matrix X[`i',`n'+1] = X[`i',`n'+1] + X[`i',`j'] matrix X[`n'+1,`j'] = X[`n'+1,`j'] + X[`i',`j'] } } scalar x = 0 forvalues i = 1(1)`n' { forvalues j = 1(1)`n' { if X[`n'+1,`j'] > 1 { scalar x = 1 continue, break } } if X[`i',`n'+1] > 1 { scalar x = 1 continue, break } } scalar x = 1 - x end simulate y=x , reps(10000) nodots: tabuleiro summa y qui local n = 5 disp exp(lnfactorial(`n'))*exp(lnfactorial(`n'^2-`n'+1))/exp(lnfactorial(`n'^2))