[{"@context":"https:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/ivonascimento.com\/2025\/12\/22\/alem-das-medias\/#BlogPosting","mainEntityOfPage":"https:\/\/ivonascimento.com\/2025\/12\/22\/alem-das-medias\/","headline":"Al\u00e9m das m\u00e9dias","name":"Al\u00e9m das m\u00e9dias","description":"Programei duas distribui\u00e7\u00f5es matematicas \u2014 Binomial e Normal \u2014 em Go com o intuito de utilizar programa\u00e7\u00e3o para refor\u00e7ar o...","datePublished":"2025-12-22","dateModified":"2025-12-22","author":{"@type":"Person","@id":"https:\/\/ivonascimento.com\/author\/ivonascimento\/#Person","name":"Ivo Nascimento","url":"https:\/\/ivonascimento.com\/author\/ivonascimento\/","identifier":10240028,"image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/2305ea1f48319271d323c5e1c0aadd4cc45d10c4927dd8b3af083facb8c6f75f?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2305ea1f48319271d323c5e1c0aadd4cc45d10c4927dd8b3af083facb8c6f75f?s=96&d=identicon&r=g","height":96,"width":96}},"publisher":{"@type":"Person","name":"Ivo Nascimento"},"image":{"@type":"ImageObject","@id":"https:\/\/i0.wp.com\/ivonascimento.com\/wp-content\/uploads\/2025\/12\/cover_.png?fit=902%2C743&ssl=1","url":"https:\/\/i0.wp.com\/ivonascimento.com\/wp-content\/uploads\/2025\/12\/cover_.png?fit=902%2C743&ssl=1","height":743,"width":902},"url":"https:\/\/ivonascimento.com\/2025\/12\/22\/alem-das-medias\/","about":["Algoritmo","Estatistica","go","Matematica"],"wordCount":1224,"keywords":["estatistica","go","golang","matematica","monte carlo"],"articleBody":"Programei duas distribui\u00e7\u00f5es matematicas \u2014 Binomial e Normal \u2014 em Go com o intuito de utilizar  programa\u00e7\u00e3o para refor\u00e7ar o entendimento da matem\u00e1tica.Longe de ser sobre data science esse texto \u00e9 sobre um tempo que tive pra mim e que dediquei a visitar temas que gosto.Vamos l\u00e1 conversar sobre matem\u00e1tica e programa\u00e7\u00e3o.O in\u00edcio da jornada Matem\u00e1ticaTudo come\u00e7a com o NNT \u2014 o Nassim Nicholas Taleb \u2014 de quem sou f\u00e3 desde a leitura do Cisne Negro.Foi durante uma leitura do Iludidos pelo Acaso, A influ\u00eancia da sorte nos mercados e na vida que me peguei preso a maneira como o Taleb faz uso de simula\u00e7\u00f5es de Monte Carlo.A maneira Talebiana de escrever torna o assunto divertido.&#8220;O nome Monte Carlo traz \u00e0 mente a imagem de um homem urbano bronzeado do tipo europlayboy entrando em um cassino em meio \u00e0 brisa mediterranea. Ele sabe esquiar e jogar tenis, mas tambem se garante no xadrez e no bridge. Tem um carro esportivo cinza, usa ternos italianos feitos sob medida e bem passados, e fala com cuidado e suavidade sobre assuntos mundamos e reais, que um jornalista poderia facilmente descrever ao p\u00fablico em frases curtas. Dentro do cassino, ele conta as cartas com ast\u00facia, calcula as probabilidades e aposta de maneira estudada, sua mente produzindo calulos precisos da aposta perfeita. Poderia ser o irm\u00e3o perdido e mais esperto de James Bond.Quando penso no m\u00e9todo de Monter Carlo, penso alegremente em uma combina\u00e7\u00e3o de ambas as coisas: o realismo do homem de Monte Carlo, sem a superficialidade, misturado com a intui\u00e7\u00e3o do matem\u00e1tico, sem a abstra\u00e7\u00e3o excessiva.&#8221;Nesse ponto eu admito, I&#8217;m hooked! E se passaram dias de viagens de metro e trem para o trabalho seguindo esse fluxo de consciencia do Taleb.Foi isso que me levou ao exerc\u00edcio provavel da probabilidade na programa\u00e7\u00e3o.O HookNNT se diverte durante o livro com seus brinquedos baseados em Monte Carlo e eu tamb\u00e9m quero me divertir \ud83d\ude42N\u00e3o \u00e9 incomum ouvir de um programador que vai utilizar Monte Carlo quando o que quer dizer \u00e9 que vai usar aleatoriedade para testar um software em um cen\u00e1rio incerto ou talvez n\u00e3o t\u00e3o incerto assim. (As vezes a dificuldade de coletar uma amostra significativa dentre toda a popula\u00e7\u00e3o de logs leva ao uso de Monte Carlo sem levar em conta que o resultado \u00e9 diferente). Usar uma amostra dos logs \u00e9 olhar o que j\u00e1 aconteceu enquanto Monte Carlo ajuda a simular o que pode acontecer.Monte Carlo \u00e9 usado para resolver problemas deterministicos atrav\u00e9s de estat\u00edstica para obter resposta num\u00e9ricas para problemas que talvez sejam dif\u00edceis de resolver de forma anal\u00edtica.  Numa simplifica\u00e7\u00e3o, da pra dizer que \u00e9 usar aleatoriedade para gerar entradas(amostra) para um sistema com o objetivo de entender seu comportamento de um ponto de vista probabilistico .Cara ou CoroaFoi esse jogo, o cara ou coroa, que me levou as distribui\u00e7\u00f5es matem\u00e1ticas.O jogo de cara ou coroa \u00e9 comum quando se fala de Monte Carlo por que ele tem input aleat\u00f3rio e permite inferir a probabilidade de eventos, que \u00e9 a combina\u00e7\u00e3o de resultado. \u00c9 um ponto de partida classico.Existe 50% de chance de cair cara ou coroa ao jogar uma vez a moeda, mas qual a chance de 3 caras se eu jogar 5 vezes? Essa \u00e9 a pergunta interessante que o Monte Carlo ajuda a responder.qual a chance de 3 caras se eu jogar 5 vezes?Podemos obter o resultado atrav\u00e9s do m\u00e9todo analitico(matematica).F\u00f3rmula: P(X = k) = ( n ) . p^k . q^(n-k)( k )Onde:n = 5 (total) p = 0,5 (sucesso)k = 3 (desejado) q = 0,5 (fracasso)1) Coeficiente Binomial (5 \/ 3):5! \/ 3!(5-3)! = (5.4.3!) \/ (3!.2.1) = 20\/2 = 102) Pot\u00eancias:(0,5)\u00b3 = 0,125(0,5)\u00b2 = 0,253) Resultado:P(X=3) = 10 . 0,125 . 0,25P(X=3) = 0,3125ou podemos estimar uma resposta usando o m\u00e9todo computacional de Monte Carlos como no c\u00f3digo em Go no link flipCoin3on5.go (veja os exemplos de execu\u00e7\u00e3o abaixo)Obs.: O c\u00f3digo abaixo n\u00e3o passou por qualquer otimiza\u00e7\u00e3o. Uma outra vers\u00e3o com atomics e goroutines que pode ser vista em flipCoin3on5_bignumbers.go e mesmo essa otimiza\u00e7\u00e3o n\u00e3o exaure as possibilidades de melhoria de performance.  #Poucas Rodadas n\u00e3o trazem uma boa estimativa, por exemplo, com 1 rodada ou sr\u00e1 Probabilidade de 0% ou de 100%..\/flipCoin3on5 1Simulou 1 rodadas de 5 lan\u00e7amentos...Casos com exatamente 3 caras: 0Probabilidade Estimada: 0.0000 (0.00%).\/flipCoin3on5 1Simulou 1 rodadas de 5 lan\u00e7amentos...Casos com exatamente 3 caras: 1Probabilidade Estimada: 1.0000 (100.00%)#Com uma quantidade de Rodadas insuficiente o dado n\u00e3o \u00e9 confiavel..\/flipCoin3on5 50Casos com exatamente 3 caras: 17Probabilidade Estimada: 0.3400 (34.00%).\/flipCoin3on5 50Casos com exatamente 3 caras: 17Probabilidade Estimada: 0.3400 (34.00%)#Com rodadas demais temos uma \u00f3tima estimativa mas desperdi\u00e7amos tempo.# 1 Bilh\u00e3o rodadas =&gt; 1 minutotime .\/flipCoin3on5 1000000000   Simulou 1000000000 rodadas de 5 lan\u00e7amentos...Casos com exatamente 3 caras: 312500797Probabilidade Estimada: 0.3125 (31.25%)real    1m8,066suser    1m8,147ssys    0m0,080s#Com rodas o suficiente temos uma \u00f3tima estimativa #com 8\/10 execu\u00e7\u00f5es com Probabilidade estimativa identica a Probabilidade te\u00f3rica.# Duzentos Milh\u00f5es de rodadas =&gt; 13 sectime .\/flipCoin3on5 200000000 Simulou 200000000 rodadas de 5 lan\u00e7amentos...Casos com exatamente 3 caras: 62506172Probabilidade Estimada: 0.3125 (31.25%)real    0m13,721suser    0m13,732ssys    0m0,012stime .\/flipCoin3on5 200000000Simulou 200000000 rodadas de 5 lan\u00e7amentos...Casos com exatamente 3 caras: 62489409Probabilidade Estimada: 0.3124 (31.24%)real    0m13,547suser    0m13,557ssys    0m0,024sAlguns Pontos interessantes at\u00e9 aqui:Um evento \u00e9 uma combina\u00e7\u00e3o de resultados(ex.:ocorrer 3 caras em 5 jogadas).Na simula\u00e7\u00e3o tivemos evidencia de um teorema fundamenta da probabilidade, a lei dos grandes n\u00fameros.A simula\u00e7\u00e3o provou uma probabilidade te\u00f3rica calculada, e ainda fica a pergunta: Como teriamos certeza da assertividade da resposta se n\u00e3o tivessemos a probabilidade te\u00f3rica calculada?A Jogo de cara ou coroa utiliza distribui\u00e7\u00e3o Binomial na solu\u00e7\u00e3o analitica e vou falar dela pr\u00f3ximo artigo.O jogo de cara ou coroa traz outro tema interessante. A fal\u00e1cia do ApostadorO exemplo de Monte Carlo utilizado \u00e9 simples. Monte Carlo \u00e9 um m\u00e9todo para obter aproxima\u00e7\u00f5es num\u00e9ricas de fun\u00e7\u00f5es complexas e as vezes imposs\u00edveis de se obter resultados de maneira determin\u00edstica. Vou voltar ao Monte Carlo com exemplos mais interesantes.Al\u00e9m das m\u00e9diasAplicar probabilidade \u00e0 tecnologia ajuda a trazer mais seguran\u00e7a na tomada de decis\u00f5es que v\u00e3o desde a aprova\u00e7\u00e3o de uma nova tela de checkout(um teste A\/B), um novo endpoint de API(teste de carga) e passam por tratamento de ruido em dados como dados de GPS(reflex\u00f5es de sinal). Eu pretendo visitar esses casos nos pr\u00f3ximos textos.O que vem a Seguir?Aqui eu contei que durante as realiza\u00e7\u00e3o desse exerc\u00edcios inspirados pelo NNT acabei me interessando ainda mais por distribui\u00e7\u00f5es matem\u00e1ticas e decidindo implementar primeiro a Binomial, por que ela aparece no exerc\u00edcio de jogar moedas e depois pela distribui\u00e7\u00e3o Normal que tem uma rela\u00e7\u00e3o direta com o que vimos at\u00e9 aqui.O reposit\u00f3rio dessas implementa\u00e7\u00f5es \u00e9 o godist e vou falar sobre ele no artigo sobre distribui\u00e7\u00e3o binomial.Como pr\u00f3ximo artigo acho interessante abordar a seguinte quest\u00e3o: Como ter certeza da assertividade da resposta da simula\u00e7\u00e3o sem comparar com probabilidade te\u00f3rica?Godist no github: https:\/\/github.com\/iannsp\/godist\t\t\t\t\t\t\t\t\t\t\t\tCompre Iludidos pelo Acaso"},{"@context":"https:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"2025","item":"https:\/\/ivonascimento.com\/2025\/#breadcrumbitem"},{"@type":"ListItem","position":2,"name":"12","item":"https:\/\/ivonascimento.com\/2025\/\/12\/#breadcrumbitem"},{"@type":"ListItem","position":3,"name":"22","item":"https:\/\/ivonascimento.com\/2025\/\/12\/\/22\/#breadcrumbitem"},{"@type":"ListItem","position":4,"name":"Al\u00e9m das m\u00e9dias","item":"https:\/\/ivonascimento.com\/2025\/12\/22\/alem-das-medias\/#breadcrumbitem"}]}]