
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@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@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.