Alguns problemas em aberto para trabalhar em sala:
<WRAP center round important 60%> Este desafio faz parte do capítulo da Saga de 2017. </WRAP>
A invasão de coelhos europeus (Oryctolagus cuniculus) na Austrália é o crescimento populacional mais rápido registrado para um mamífero. Em 1859, 24 adultos foram soltos em uma fazenda, para servirem de caça. Em cem anos os coelhos se espalharam por toda Autrália, somando cerca de 600 milhões.
Uma das primeiras explicações propostas para o enorme sucesso de invasão dessa espécie na Autrália foi a grande fecundidade. Essa hipótese é compatível com o que se conhece da biologia reprodutiva dos coelhos europeus? Aqui vão alguns dados que encontramos em uma apresentação sobre o tema:
Você pode também buscar outros dados para substituir estes ou complementá-los (p. ex. em bases como a PanTheria).
Uma das sequência famosas na matemática é denominada de sequência de Fibonacci. Para exemplificá-la Fibonacci utilizou a reprodução de coelhos idealizados que demoram um mês para amadurecer, produzem todos os meses dois filhotes (um macho e uma fêmea) e nunca morrem. Compare o crescimento populacional dos coelhos de Fibonacci com uma população crescendo com as taxas dos coelhos invasores da Australia.
Para saber mais:
<WRAP center round important 60%> Este desafio faz parte do capítulo da Saga de 2017. </WRAP>
Errar é humano, mas repetir é australiano. Em 1935 o sapo-cururu (Buffo marinus) foi introduzido na Austrália para controlar pragas de cana (por sinal também introduzida, né?). A população de sapos também cresceu fora do controle e se tornou mais uma praga por lá.
Sabath et al. (1981) analisaram o tamanho da área invadida pelos sapos em função do tempo para argumentar que houve um crescimento exponencial da população até 1974. Alguns anos depois este mesmo autor e alguns colaboradores agregaram mais dados e argumentaram que o crescimento exponencial prosseguia em 1980.
Consulte os dois artigos e faça sua avaliação: você concorda com essas conclusões?
No fim da última era glacial grandes manadas do boi almiscarado (Ovibos moschatus) se espalhavam pelo norte da Europa, Ásia, América do Norte e Groelândia. Por volta de 1920 restavam poucas populações na Groelância e extremo norte do Canadá. Em 1935 um grupo de 31 indivíduos foi levado à ilha de Nunivak, no Alasca, para iniciar um estoque para reintrodução. A ilha não tinha predadores e facilitava o manejo da população.
Neste exercício, adaptado de Akçakaya et al (1999), vamos avaliar alguns índices de viabilidade da população inicial, considerando os riscos criados pela estocasticidade demográfica e ambiental. Para isso vamos usar os seguintes parâmetros, calculados dos dados de Spencer & Lensik (1970):
Copie o código abaixo em um script no R e acompanhe a explicação dos professores:
## Tamanhos populacionais (Spencer & Lensik 1970, Tab 1) Nobs <- c(31, 50, 76, 49, 57, 65, 61, 76, 77, 90, 100, 116, 126, 143, 181, 206, 256, 293, 353, 406, 467, 514, 569, 651, 714) ano <- c(1936, 1938, 1942, 1947, 1948:1968) plot(ano, Nobs) ## Calculo das taxas de crescimento ## Taxa de crescimento instrínseco rh <- diff(log(Nobs)) / diff(ano) ## Taxa de crescimento discreto Rh <- exp(rh) ## Media e desvio-padrao dos logs (R.mu <- mean(log(Rh))) (R.sd <- sd(log(Rh))) ## Histograma da taxas e logormal ajustada a elas hist(Rh, prob=TRUE) curve(dlnorm(x, meanlog = R.mu, sdlog = R.sd), add=TRUE) ## Acertando parametros da simulacao ## Semente de numeros aleatorios set.seed(4242) ## Tamanho inicial da população N <- 31 ## Probabilidade de sobrevivência (Akçakaia et al) sobr <- 0.921 ## Aqui começa a simulação de um ano ## Sorteia um valor de taxa de crescimento anual (R <- rlnorm(1, meanlog = R.mu, sdlog = R.sd)) ## Fecundidade: diferenca entre a taxa de crescimento e a sobrevivencia (pS <- sobr) (pF <- R - pS) ## Numero de sobreviventes no ano seguinte (Nv <- rbinom(1, size = N, prob = pS)) ## Numero de filhotes ## Por sobrevivente (ninhadas <- rpois(n = Nv, lambda = pF)) ## Total de filhotes (Nf <- sum(ninhadas)) ## Total da populacao: sobreviventes + filhotes (N <- Nv + Nf)
Para responder as perguntas vamos usar uma adaptação do modelo de crescimento a tempo discreto com estocasticidade demográfica e ambiental de Akçakaya et al (1999, capítulo 2). O arquivo abaixo têm as funções em R para simular dinâmicas populacionais de acordo com este modelo. Para usá-lo siga as instruções:
Abra o R, copie o código abaixo e cole na linha de comando do R:
## Simula crescimento populacional a tempo discreto com estocasticidade demografica e ambiental ## Parametros: ## N0: tamanho inicial da populacao ## anos: numero de passos de tempo a simular ## sobr: taxa de sobrevivência a cada passo de tempo ## R.mu: média do logarítimo da taxa de crescimento ## R.sd: desvio-padrão do logarítimo da taxa de crescimento muskox <- function(N0, anos, sobr, R.mu, R.sd){ ## Um vetor sem valores para guardar os resultados N <- rep(NA, anos) ## primeiro elemento do vetor é o tamanho populacional inicial N[1] <- N0 ## O loop for(i in 2:anos){ ## Sorteio da taxa de crescimento do ano R <- rlnorm(1, meanlog = R.mu, sdlog = R.sd) ## Fecundidade no ano (diferenca da taxa de crescimento e sobrevivência) ## Para os casos em que R < pS: ## decidimos que não houve reprodução e portanto a taxa de sobrevivencia é a propria taxa de crescimento if(R < sobr){ pS <- R pF <- 0} if(R >= sobr){ pS <- sobr pF <- R - sobr} ## Se a populacao nao se extinguiu o crescimento prossegue if(N[i-1]>0){ ## Numero de sobreviventes no ano seguinte Nv <- rbinom(1, size = N[i-1], prob = pS) ## Numero de filhotes ## Por sobrevivente (ninhadas <- rpois(n = Nv, lambda = pF)) ## Total de filhotes (Nf <- sum(ninhadas)) ## Total da populacao: sobreviventes + filhotes N[i] <- Nv + Nf } ## Se a populacao se extinguiu prossegue com zero if(N[i-1]<=0) N[i] <- 0 } return(N) } ## Repete a função acima e retorna uma matriz de tempo x simulacoes ## Argumentos adicionais: ## nrep: numero de repeticoes da simulacao (colunas da matriz que sera retornada) repete <- function(N0, anos, sobr, R.mu, R.sd, nrep){ ## Uma matrix para guardar os resultados results <- matrix( nrow = anos, ncol = nrep) ## repete as simulacoes for(i in 1:nrep) results[,i] <- muskox(N0, anos, sobr, R.mu, R.sd) return(results) }
O código que você acabou de excutar no R cria as funções para realizar as simulações. Você vai precisar apenas da função repete
, que executa simulações da dinâmica das populações de Akçakaya et al (1999), e tem os seguintes argumentos:
N0
: tamanho inicial da populacaoanos
: numero de passos de tempo a simularsobr
: taxa de sobrevivência a cada passo de tempoR.mu
: média do logarítimo da taxa de crescimentoR.sd
: desvio-padrão do logarítimo da taxa de crescimentonrep
: número de repetições da simulação.Por exemplo, para executar quatro simulações da dinâmica dos primeiros cinco anos, com os parâmetros da população de bois almiscarados de Nunivak use o comando:
repete(N0 = 31, anos = 5, sobr = 0.921, R.mu = 0.1222906, R.sd = 0.08011615, nrep=4)
Que irá retornar uma matriz de cinco linhas (anos) e quatro colunas como esta:
[,1] [,2] [,3] [,4] [1,] 31 31 31 31 [2,] 33 32 30 33 [3,] 47 32 37 38 [4,] 46 39 43 36 [5,] 55 41 51 41
Para resolver os problemas propostos você terá que estimar probabilidades de certos eventos, como a extinção ou a população chegar a um tamanho menor que o inicial. Para isso, você vai precisar dos resultados de muitas simulações. Para guardar os resultados em um objeto no R atribua o resultado das simulações a um objeto:
sim1 <- repete(N0 = 31, anos = 5, sobr = 0.921, R.mu = 0.1222906, R.sd = 0.08011615, nrep=4)
Você pode então fazer os cálculos com este objeto no R, ou exportá-lo para uma planilha com o comando
write.csv2(sim1, file="simulacao1.csv")