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.