[R-br] Otimizar tempo de processamento
Leonard Assis
assis.leonard em gmail.com
Quinta Agosto 18 17:45:57 BRT 2011
Entendi sua explanação. heehhe
olhei o código bem por alto depois do almoço num tempó livre, única coisa
"estranha" que notei foi esse loop que pra mim estava sem muito sentido.
Mas muito dessa minha opinião vai do fato de não conhecer ao fundo o
problema, pois para mim, ele estaria interessado em cada uma das iterações
(eu, quando faço simulações, procuro guardar cada uma delas, nem que seja
pra brincar de bootstrap depois, hehehe)
Quanto à copa américa, estava meio na cara que daria Uruguai, é o time com
mais conjunto, Argentina e Brasil estavam em início de trabalho. No betclick
eu apostei no uruguai e salvei algum, ehhehe
lmassis <at> yahoo <dot> com <dot> br
assis.leonard <at> gmail <dot> com
2011/8/18 Benilton Carvalho <beniltoncarvalho em gmail.com>
> Leonard,
>
> para cada 'g', ele determina uma realizacao (aleatoria) de Y_n
> condicionado em Y_{n-1}. Se essa realizacao por nao-nula, ele
> incrementa 'pp'. Como a chance de Y_m ser zero e' bem pequena, ele
> repete o laco 'm' vezes, contando quantas vezes (em 'm') ele observa
> Y_n > 0...
>
> Estou bem certo de que o codigo esta' correto... mas eu tambem estava
> certo que o Brasil ganharia a Copa America...
>
> b
>
> 2011/8/18 Leonard Assis <assis.leonard em gmail.com>:
> > Benilton, eu nem cheguei a rodar, analisei o que ele faz mesmo.
> >
> > Tem que resolver esse problema daquele loop que só faz perder tempo senão
> o
> > próprio estudo de simulação dele está inválido.
> > lmassis <at> yahoo <dot> com <dot> br
> > assis.leonard <at> gmail <dot> com
> >
> >
> > 2011/8/18 Benilton Carvalho <beniltoncarvalho em gmail.com>
> >>
> >> Tiago,
> >>
> >> esse e' um problema legal... se vc derivar as distribuicoes a mao,
> >> certamente vc consegue ganhos bem maiores...
> >>
> >> FYI: usando propriedades de estatistica, vc chega na mudanca que eu
> >> fiz na geracao das suas variaveis aleatorias.
> >>
> >> Adicionalmente, eu nao tive paciencia de esperar o seu codigo original
> >> acabar de rodar... eu o cancelei depois de um pouco mais de 1h10m.
> >>
> >> Abaixo uma sugestao para voce:
> >>
> >>
> >> library(foreach)
> >> library(doMC)
> >> registerDoMC()
> >> programa2 <- function(f,n,m) {
> >> ## f: número máximo de filhos
> >> ## n: número de gerações
> >> ## m: número de iterações
> >> S <- foreach(p=seq(0,1,by=0.01), .combine=rbind) %dopar% {
> >> pp <- 0
> >> for (g in 1:m) {
> >> y <- 1
> >> for (k in 1:n)
> >> y <- rbinom(1, y*f, p)
> >> if (y > 0) pp <- pp + 1
> >> }
> >> c(p, pp/m)
> >> }
> >> return(S)
> >> }
> >> system.time(prog2 <- programa2(2,200,1000))
> >> plot(prog2, xlab = "p", ylab = "Probabilidade de Percolação")
> >>
> >> para matar sua curiosidade, no meu computador, eu obtive:
> >>
> >> > system.time(prog2 <- programa2(2,200,1000))
> >> user system elapsed
> >> 257.072 2.562 20.835
> >> _______________________________________________
> >> R-br mailing list
> >> R-br em listas.c3sl.ufpr.br
> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> >> código mínimo reproduzível.
> >
> >
> > _______________________________________________
> > R-br mailing list
> > R-br em listas.c3sl.ufpr.br
> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código
> > mínimo reproduzível.
> >
>
>
>
> --
> Successful people ask better questions, and as a result, they get
> better answers. (Tony Robbins)
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110818/f985078a/attachment.html>
Mais detalhes sobre a lista de discussão R-br