====== Colonização Interna ====== {{:roteiro:colinter.jpg?200 |Ilhas dos Barbados - Reserva Biológica Poço das Antas. Foto: Ernesto Viveiros de Castro. http://www.biologia.ufrj.br/labs/lecp/linhas.htm }} Podemos eliminar do modelo anterior o pressuposto de uma chuva de propágulos constante e fazer com que a colonização seja uma função do número de lugares ocupados. Em uma formulação simples desse modelo, a fonte de propágulos é unicamente interna (sistema fechado) e a probabilidade de colonização varia de forma linear à proporção de lugares ocupados. Dessa forma, nosso modelo não terá mais uma probabilidade de colonização constante (**pi**), mas sim uma probabilidade de colonização dependente do número de manchas ocupadas: $$p_i=if$$ ; onde **i** é uma constante que indica quanto aumenta a pi a cada nova mancha que é ocupada. Portanto, quanto mais manchas ocupadas, maior a chance de colonização das manchas vazias. Substituindo **pi** na equação antiga temos: $$\frac{df}{dt}=if(1-f)-p_e f$$ O cálculo da fração de manchas ocupadas no equilíbrio (**F**) também é modificado para: $$F=1-\frac{p_e}{i}$$ Vamos verificar isto simulando esta situação. Como no exercício anterior, criamos uma função no R para gerar a simulação. Como antes, esta função simplesmente sorteia eventos de colonização e extinção em cada mancha a cada intervalo de tempo, segundo as regras do modelo. Em seguida ela retorna um gráfico e as matrizes de ocupação das manchas em cada instante de tempo. meta.inter=function(tf,c,l,fi,i,pe){ paisag=array(0,dim=c(l,c,tf)) nmanchas=c*l paisag[,,1]=matrix(sample(c(rep(1,fi*nmanchas), rep(0,round((1-fi)*nmanchas)))), ncol=c) resultado=numeric() for(t in 2:tf){ pi=i*sum(paisag[,,t-1])/(c*l) paisag[,,t][paisag[,,(t-1)]==1]<-sample(c(0,1),sum(paisag[,,(t-1)]), replace=T,prob=c(pe,1-pe)) paisag[,,t][paisag[,,(t-1)]==0]<-sample(c(0,1),c*l-sum(paisag[,,(t-1)]), replace=T,prob=c(1-pi,pi)) resultado[t-1]=sum(paisag[,,t])/(c*l) } F=1-(pe/i) plot(1:tf,c(fi,resultado),type="l",xlab="Tempo",ylab="Fração de manchas ocupadas", ylim=c(0,1),main=paste("Colonização Interna","\n c=",c," l=",l," fi=",fi," i=",i," pe=",pe),font.lab=2,lwd=2) abline(h=F,col=2,lwd=2,lty=2) return(paisag) } E agora você pode simular o modelo com os valores que escolher para os argumentos da função, como: meta.inter(tf=100,c=10,l=10,fi=.1,i=1,pe=0.5) Brinque um pouco com o modelo fazendo variar os parâmetros do modelo e responda as seguintes perguntas baseado em suas simulações: * Você consegue perceber alguma diferença nos resultados dos dois modelos, mantidos iguais os parâmetros que eles têm em comum? * A posição de uma mancha na paisagem influencia a pi e a pe dessa mancha? Qual seria um modelo mais realista? * Por que há certas combinações de i e pe que não podem existir? * Qual o significado de um F negativo? Salve os resultado de sua simulação em objetos no seu espaço de trabalho no R, por exemplo: sim.int1 <- meta.inter(20,10,10,1, 0.4,0.2) Carregue a função abaixo para o programa meta.anima2=function(dados) { nsim=dim(dados)[3] ln=dim(dados)[1] cl=dim(dados)[2] image(0:ln, 0:cl, dados[,,1], col=c("white", "green") , breaks=c(0,0.99,5),main="Metapopulation Dynamics", sub=paste("Initial configuration from", nsim," simulations", sep=""), xlab="", ylab="") grid(ln,cl) Sys.sleep(.5) conta12=dados[,,1]+ (2*dados[,,2]) image(0:ln, 0:cl, conta12, col=c("white","red","lightgreen", "darkgreen") , breaks=c(0,0.9,1.9,2.9,3.9),main="Metapopulation Dynamics", sub=paste("red= extintion; light green= colonization; dark green = permanence \n maximum time = ", nsim, sep=""), xlab="", ylab="") for(i in 3:nsim) { conta12=dados[,,(i-1)]+ (2*dados[,,i]) image(0:ln, 0:cl, conta12, col=c("white","red","lightgreen", "darkgreen") , breaks=c(0,0.9,1.9,2.9,3.9), xlab="", ylab="", add=TRUE) Sys.sleep(.1) } } ################ Agora é só rodar a função acima com o resultado da simulação para ter uma animação de suas simulações. meta.anima2(dados=sim.int1)