Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
roteiro:meta_inter [2012/05/28 12:23] adalardoroteiro:meta_inter [2024/01/09 18:18] (atual) – edição externa 127.0.0.1
Linha 1: Linha 1:
-====== Efeito de resgate ====== +====== Colonização Interna ====== 
-{{:ecovirt:resgate2.jpg?200  |}} +{{:roteiro:colinter.jpg?200  |Ilhas dos Barbados Reserva Biológica Poço das AntasFoto: Ernesto Viveiros de Castrohttp://www.biologia.ufrj.br/labs/lecp/linhas.htm }}
-Nós já vimos um modelo mais simples, onde a probabilidade de colonização de uma mancha é sempre a mesma devido a uma chuva constante de propágulos vindos de uma área-fonteVimos também um modelo um pouco mais complexo, onde essa probabilidade de colonização variava em função do número de manchas que já estavam ocupadas, não havendo mais necessidade de assumir uma chuva de propágulosNesse segundo modelo, a colonização era interna e não havia uma área-fonte, ou seja, a única migração possível é entre manchas+
  
-Agora vocês devem estar se perguntando: faz sentido que a probabilidade de extinção permaneça sempre constante? A resposta é não. À medida que mais manchas estão ocupadas, aumenta a migração para manchas vazias, mas também para as manchas já ocupadas. Na prática, a chegada de propágulos de outras manchas da paisagem impede que ocorra a extinção local. Imagine um fragmento florestal onde indivíduos de uma espécie de planta germinem e cresçam até a fase adulta, mas não conseguem se reproduzir porque seu polinizador não está presente. Depois de um tempo essa população se extinguirá naquele fragmento. Porém, se houver a chegada de sementes de outros fragmentos vizinhos, esse fragmento continuará ocupado por essa espécie. Esse é o chamado efeito de resgate. 
  
-Então, mãos à obra! O que precisamos fazer com nosso modelo mais básico para incorporar o efeito de resgate? Se a vinda de propágulos de outras manchas reduz as chances de extinção locais, então, quanto menor a fração de manchas ocupadas, maior a chance de extinção: 
  
-<m14>p_e=e(1-f)</m> ; onde **e** é uma medida de quanto aumenta chance de extinção à medida que diminui **f**.+Podemos  eliminar do modelo anterior o pressuposto de uma chuva de propágulos constante 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
  
-Isso faz com nosso novo modelo tenha essa cara:+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:
  
-<m14>df/dt=p_i (1-f) - ef(1-f)</m>  e que o **F** (f no equilíbrio) seja o seguinte:+$$p_i=if$$ ; onde **i** é uma constante que indica quanto aumenta a pi a cada nova mancha que é ocupada.
  
-<m14>F=p_i/e</m>+Portanto, quanto mais manchas ocupadas, maior a chance de colonização das manchas vazias. Substituindo **pi** na equação antiga temos:
  
-Além disso, no equilíbrio <m14>p_e=e-p_i</m>+$$\frac{df}{dt}=if(1-f)-p_e f$$ 
  
-Assim, eis nossa nova função: +O cálculo da fração de manchas ocupadas no equilíbrio (**F**) também é modificado para:
-<code> +
-meta.er=function(tf,c,l,fi,pi,e){ +
- paisag=array(0,dim=c(l,c,tf)) +
- paisag[,,1]=matrix(sample(c(1,0),c*l,prob=c(fi,1-fi), replace=T),l,c) +
- resultado=numeric() +
- res=numeric() +
- for(t in 2:tf){ +
- pe=e*(1-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) +
- res[t-1]=pe +
-       }+
  
- F=pi/e+$$F=1-\frac{p_e}{i}$$
  
- plot(1:tf,c(fi,resultado),type="l",xlab="Tempo",ylab="Fração de manchas ocupadas", +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. 
- ylim=c(0,1),main=paste("Chuva de Propágulos com Efeito Resgate", +  
-                           "\n c=",c," l=",l," fi=",fi," pi=",pi," e=",e), +<code> 
-             font.lab=2,lwd=2) +meta.inter=function(tf,c,l,fi,i,pe){ 
- abline(h=F,col=2,lwd=2,lty=2) # equilibrio F+         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) 
 +}
  
- points(1:tf,c(e*(1-fi),res),type='l',lwd=2,col="blue") # pe observado 
- abline(h=e-pi,col="green",lwd=2,lty=2) # pe equilibrio 
- legend("topright", legend=c("proporção ocupada", "equilíbrio F", "prob. extinção (pe)", "equilíbrio pe"), lty=c(1,2,1,2), col=c("black","red","blue", "green"), bty="n") 
-  
-      return(paisag) 
- } 
 </code> </code>
  
-Que você executa com comando abaixo, alterando os parâmetros como desejar:+E agora você pode simular o modelo com os valores que escolher para os argumentos da função, como: 
 <code> <code>
-meta.er(tf=100,c=10,l=10,fi=.1,pi=0.1,e=1)+meta.inter(tf=100,c=10,l=10,fi=.1,i=1,pe=0.5)
 </code> </code>
  
-Nos gráficos que serão produzidos temos agora, além da trajetória do **f** (linha preta contínua) do **F** (linha vermelha tracejada), trajetória da **pe** (linha azul contínua) o valor de **pe** no equilíbrio (linha verde tracejada). Você nota algo interessante nesse gráficoPercebeu que uma linha é a imagem refletida da outra, mas que há um pequeno atraso de uma em relação à outra? Por que será que isso acontece?+Brinque um pouco com o modelo fazendo variar os parâmetros do modelo responda as seguintes perguntas baseado em suas simulações: 
 +<box 80% red|Exercícios> 
 +  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 pi pe dessa manchaQual 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?
  
-===== Efeito de resgate e colonização interna ===== +</box> 
-{{frank.jpg?350|}} + Salve os resultado de sua simulação em objetos no seu espaço de trabalho no R, por exemplo:
-Agora que já testamos duas melhoras para nosso modelo inicial (efeito de resgate e colonização interna)que tal juntarmos as duas coisas num só modelo? Ao fazermos isso estamos eliminando de uma vez por todas um importante pressupostoa chuva de propágulos vindos de uma área-fonte externa. +
  
-Nosso modelo ficará com uma cara assim:+<code>
  
-<m14>df/dt=if(1-f)-ef(1-f)</m>+sim.int1 <- meta.inter(20,10,10,1, 0.4,0.2)
  
-Muito bonito, mas o cálculo de **F** ficou complicado:+</code>
  
-<m14>if(1-f)=ef(1-f)</m> +Carregue a função abaixo para o programa
- +
-Note que para resolvermos essa equação chegamos à igualdade: **i=e**, ou seja, só haverá equilíbrio quando **i** for igual a **e**. Vamos testar isso? Primeiro carregue a função para realizar a simulação deste modelo:+
  
 <code> <code>
-meta.cier=function(tf,c,l,fi,i,e){ +meta.anima2=function(dados) 
- paisag=array(0,dim=c(l,c,tf)+
- paisag[,,1]=sample(c(rep(0,round(c*l-fi*c*l)),rep(1,round(fi*c*l)))) +nsim=dim(dados)[3
- resultado=numeric() +ln=dim(dados)[1] 
- rese=numeric() +cl=dim(dados)[2] 
- resi=numeric() +image(0:ln0:cldados[,,1], col=c("white""green") , breaks=c(0,0.99,5),main="Metapopulation Dynamics"sub=paste("Initial configuration from"nsim," simulations" sep=""), xlab=""ylab="")  
- for(t in 2:tf){ +grid(ln,cl) 
- pe=e*(1-sum(paisag[,,t-1])/(c*l)) +Sys.sleep(.5
- pi=i*sum(paisag[,,t-1])/(c*l) +conta12=dados[,,1](2*dados[,,2]) 
-        paisag[,,t][paisag[,,(t-1)]==1]<-sample(c(0,1),sum(paisag[,,t-1]),replace=T,prob=c(pe,1-pe)) +image(0:ln0:clconta12col=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 = ", nsimsep="")xlab="", ylab=""
-        paisag[,,t][paisag[,,(t-1)]==0]<-sample(c(0,1),c*l-sum(paisag[,,t-1]),replace=T,prob=c(1-pi,pi)) + for(i in 3:nsim
-        resultado[t-1]=sum(paisag[,,t])/(c*l+ { 
- rese[t-1]=pe + conta12=dados[,,(i-1)]+ (2*dados[,,i]
- resi[t-1]=pi + image(0:ln0:clconta12, col=c("white","red","lightgreen", "darkgreen") , breaks=c(0,0.9,1.9,2.9,3.9), xlab=""ylab="", add=TRUE
-       } + Sys.sleep(.1)
-        plot(1:tf,c(fi,resultado),type="l",xlab="Tempo",ylab="Proporção/Probabilidade", +
- ylim=c(0,1),main=paste("Colonização Interna","\n c=",c," l=",l," fi=",fi," i=",i,e=",e),font.lab=2,lwd=2+
- abline(h=0,lty=2+
-  +
- points(1:tf,c(e*(1-fi),rese),type='l',lwd=2,col=4,lty=3+
-  +
- points(1:tf,c(i*fi,resi),type='l',lwd=2,col=6,lty=3) +
-        legend("topright", legend=c("manchas ocupadas", "prob.colonização", "prob.extinção"), lty=c(1,3,3), col=c(1,6,4), bty="n") +
- +
-  +
-      return(paisag)+
  }  }
-</code>+
 + 
 +################
  
-E agora você pode simular o modelo com os valores de parâmetros que desejar, mudando os parâmetros da função acima: 
-<code> 
-meta.cier(tf=100,c=10,l=10,fi=.5,i=.5,e=.5) 
 </code> </code>
  
-Nos gráficos produzidos, a linha preta contínua é a trajetória do **f** e as linhas pontilhadas são as probablidades de extinção (azul) e colonização (rosa).+Agora é só rodar função acima com o resultado da simulação para ter uma animação de suas simulações.
  
-Pense nas seguintes questões: +<code>
-  * Como se comporta **pi** em relação a **pe**? +
-  * Existe de fato um equilíbrio quando **e = i**? +
-  * O que acontece quando **e i** e vice-versa?+
  
  
 +meta.anima2(dados=sim.int1)
  
-  +</code>
- +
- +
-==== Referências adicionais ==== +
-{{gotelli91.pdf|Gotelli, N.J. 1991.}} Metapopulation models: the rescue effect, the propagule rain, and the core-satellite hypothesis. The American Naturalist 138:768-776.+
roteiro/meta_inter.1338207808.txt.gz · Última modificação: 2024/01/09 18:17 (edição externa)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0