Efeito de resgate

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-fonte. Vimos 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águlos. Nesse 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:

$p_e=e(1-f)$ ;

onde e é uma medida de quanto aumenta a chance de extinção à medida que diminui f.

Isso faz com nosso novo modelo tenha essa cara:

$$\frac{df}{dt}=p_i (1-f) - ef(1-f)$$

e que o F (f no equilíbrio) seja o seguinte:

$$F=\frac{p_i}{e}$$

Além disso, no equilíbrio $p_e=e-p_i$

Assim, eis nossa nova função:

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

	plot(1:tf,c(fi,resultado),type="l",xlab="Tempo",ylab="Fração de manchas ocupadas",
	ylim=c(0,1),main=paste("Chuva de Propágulos com Efeito Resgate",
                           "\n c=",c," l=",l," fi=",fi," pi=",pi," e=",e),
             font.lab=2,lwd=2)
	abline(h=F,col=2,lwd=2,lty=2) # equilibrio F

	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)
	}

Que você executa com comando abaixo, alterando os parâmetros como desejar:

meta.er(tf=100,c=10,l=10,fi=.1,pi=0.1,e=1)

Nos gráficos que serão produzidos temos agora, além da trajetória do f (linha preta contínua) e do F (linha vermelha tracejada), a trajetória da pe (linha azul contínua) e o valor de pe no equilíbrio (linha verde tracejada). Você nota algo interessante nesse gráfico? Percebeu 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?

Efeito de resgate e colonização interna

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 pressuposto: a chuva de propágulos vindos de uma área-fonte externa.

Nosso modelo ficará com uma cara assim:

$$\frac{df}{dt}=if(1-f)-ef(1-f)$$

Muito bonito, mas o cálculo de F ficou complicado:

$if(1-f)=ef(1-f)$

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:

meta.cier=function(tf,c,l,fi,i,e){
	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))))
	resultado=numeric()
	rese=numeric()
	resi=numeric()
	for(t in 2:tf){
		 pe=e*(1-sum(paisag[,,t-1])/(c*l))
		 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)
		 rese[t-1]=pe
		 resi[t-1]=pi
	      }
        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)
	}

E agora você pode simular o modelo com os valores de parâmetros que desejar, mudando os parâmetros da função acima:

meta.cier(tf=100,c=10,l=10,fi=.5,i=.5,e=.5)

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

Exercícios

Produza simulações do modelo e responda às seguintes perguntas:
  • 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?

Referências adicionais

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_resgate.txt · Última modificação: 2012/05/28 14:37 por mortara
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