Este roteiro é uma demonstração informal dos principais passos de dedução do modelo de crescimento exponencial, a partir do modelo de crescimento a intervalos discretos. Você vai descobrir que a função exponencial é o limite de um crescimento discreto a uma taxa constante, quando fazemos os intervalos de tempo muito pequenos. Para isso, passaremos pelo conceito de derivadas e pela noção de limite de uma função.
Ao final, chegaremos a um dos primeiros princípios em ecologia: na ausência de forças externas, uma população biológica vai crescer ou descrescer exponencialmente. Infelizmente, juros também se comportam assim.
Para muitos parece mais confortável pensar em mudanças no tamanho da população a intervalos discretos: contamos o número de indivíduos em um instante e no instante seguinte. O modelo geométrico descreve esta dinâmica, se a população cresce sem limites. O número de indivíduos no próximo intervalo de tempo, $N_{t+1}$, é igual ao número de indivíduos no tempo anterior $N_t$, multiplicado pela taxa de crescimento da população entre os dois intervalos, que chamamos $\lambda$:
$$N_{t+1} \ = \ \lambda N_t$$
Mas quanto esperamos entre uma contagem e outra? Se os nascimentos e mortes podem ocorrer a qualquer momento, devemos fazer censos a intervalos bem curtos. Mostraremos que o tempo contínuo é apenas uma outra maneira de pensar no tempo discreto: tornamos os intervalos tão pequenos quanto quisermos. Esse será nosso ponto de partida para deduzir o modelo de crescimento exponencial, com auxílio de algumas ferramentas computacionais.
Vamos acompanhar o crescimento inicial e uma população e bactérias no vídeo 1):
O que pode ser descrito pelo número de bactérias observadas a cada intervalo de tempo:
Tempo | No. de Bactérias |
---|---|
0 | 2 |
1 | 4 |
2 | 8 |
3 | 16 |
4 | 32 |
5 | 64 |
… | … |
14 | 16384 |
… | … |
30 | 1073741824 |
… | … |
60 | 1152921504606846976 |
É difícil entender o que está acontecendo, apenas olhando essa tabela. Um gráfico pode ajudar.
Abra o R e cole o código abaixo, linha a linha:
tempo=1:10 nbact= c(2,4,8,16,32,64,128,256, 512,1024) plot(tempo, nbact, main="Crescimento de Bactérias", ylab= "número de bactérias", pch=16, col="red",cex.main=1.5, cex=1.5,cex.lab=1.5, cex.axis=1.5,bty="l")
Pronto, vc. já simulou os dados do crescimento. Agora é só fazer o gráfico. Veja se consegue fazer parecido com o que apresentamos acima. Em seguida faça um outro gráfico com o tempo chegando a 20.
Note que o que temos é uma série temporal, que são registros do tamanho da população em certos instantes de tempo. Uma outra forma de descrever esse processo é saber:
Para expressar o quanto a população variou em um dado período de tempo calculamos a taxa de variação da população no tempo $t$ e após um intervalo $\Delta t$:
$$\text{Taxa de Variação}= \frac{{N(t + \Delta t) - N(t)}}{\Delta t} $$
Ou seja: tome os valores do número de bactérias em dois tempos próximos e divida pelo tempo decorrido entre uma observação e outra!
Entretanto o $ \Delta t $ é arbitrário. Se a população tem períodos reprodutivos bem definidos (p.ex. anuais), o intervalo de observação discreto é natural. Mas e se nascimentos e mortes podem ocorrer a qualquer momento? Quanto menores nossos intervalos de observação, mais precisa será a nossa descrição da dinâmica. Nestes casos parece uma boa ideia fazer o intervalo $\Delta t$ ser o menor possivel, bem próximo de zero.
Mas se aproximamos $\Delta t$ de zero, ${N(t + \Delta t) - N(t)}$ tenderia também a zero, já que os tamanhos populacionais nos dois momentos seriam muito parecidos. Portanto o resultado dessa taxa deve ser $0/0$ 2).
Vamos verificar se essa lógica está correta. Para começar, vamos supor uma população cujo tamanho é igual ao quadrado do tempo decorrido ( $N(t)= t^2 $ ) 3). Vamos então aplicar esta função para intervalos cada vez menores de tempo a partir de t=1, e ver o que acontece para a taxa de variação do tamanho populacional:
## para t=1 tempo=1 ##vamos criar um vetor com valores de delta t diminuindo dt=c(0.5,0.1,0.01,0.001,0.0001,0.00001,0.000001) tdt=tempo+dt Nt=tempo^2 Ntdt=tdt^2 (Ntdt-Nt)/dt
Ao contrário do que esperávamos, o valor da taxa converge para um número bem definido com a redução de $\Delta t$ !
Repita o procedimento para outros valores tempo. Você deve encontrar este resultado:
t | ${N(t + \Delta t) - N(t)} / {\Delta t} $ |
---|---|
1 | 2 |
2 | 4 |
3 | 6 |
4 | 8 |
5 | 10 |
Ou seja, a taxa instantânea de crescimento para $t^2$ tende a $2t$ à medida que $\Delta t$ é reduzido. Podemos reduzir $\Delta t$ o quanto quisermos, e este resultado fica cada vez mais exato. Encontramos a derivada da função $N(t)=t^2$ !
A derivada de uma função $X(t)$ é sua taxa de variação instantânea, obtida pelo limite da taxa de variação:
$$\frac{X(t + \Delta t) - X(t)}{\Delta t}$$
quando $\Delta t \to 0$ 4). Uma das maneiras de representar uma derivada é na notação de uma taxa em relação ao tempo:
$$\frac{dX}{dt} = \lim_{\Delta t \to 0} \frac{X(t + \Delta t) - X(t)}{\Delta t}$$
Uma maneira simples de pensar em derivadas é que elas são velocidades instantâneas 5). Vamos então descobrir a expressão para a velocidade instantânea de crescimento da nossa população de bactérias:
Tempo | No. de Bactérias | Velocidade |
---|---|---|
0 | 2 | |
1 | 4 | 2 |
2 | 8 | 4 |
3 | 16 | 8 |
4 | 32 | 16 |
5 | 64 | 32 |
As bactérias duplicam-se a cada instante de tempo. Por isso, se a população dobrar, a sua velocidade de crescimento também dobra. Se ela quadruplicar, a velocidade quadruplicará, e assim por diante. Ou seja, a velocidade de crescimento é proporcional ao tamanho da população.
Já que estamos interessados em velocidades instantâneas, vamos representar esta proporcionalidade com uma derivada: \begin{equation} \frac{dN}{dt}= rN \label{dndt} \end{equation}
Em que a constante de proporcionalidade $r$ é chamada taxa intrínseca de crescimento populacional, ou seja, o quanto cada indivíduo contribui instantaneamente para a variação no tamanho da população. Este é o modelo mais simples de crescimento populacional. O modelo é uma equação diferencial, pois estabelece uma igualdade entre a derivada de uma função (lado esquerdo) e alguma expressão algébrica, no lado direito da equação. Traduzindo em palavras, este modelo seria “uma função do crescimento populacional $N$ tem derivada proporcional a ela mesma”. A função que tem esta propriedade, ou seja, que satisfaz esta equação é:
\begin{equation} \label{ert} N_t=N_0e^{rt} \end{equation}
Que é a função de crescimento populacional exponencial. Vamos ver como chegamos a isso!
Uma equação diferencial de primeira ordem estabelece uma relação entre a derivada de uma função e alguma outra função matemática. Resolver uma equação destas é encontrar a função cuja derivada satisfaça a relação proposta.
O problema é que não há um algoritmo simples para fazer isso. Há muitas regras e tabelas que relacionam derivadas mais simples às suas respectivas funções (as antiderivadas). Além disso, em geral é preciso muita manipulação matemática para expressar a equação diferencial em termos destas formas catalogadas. Mesmo assim, nem sempre se chega a uma solução que pode ser expressa como uma função conhecida, o que chamamos de solução analítica. Felizmente, a equação diferencial ($\ref{dndt}$) é simples o bastante para ter solução analítica conhecida.
Melhor ainda, hoje há programas de computador que manipulam regras de matemática simbólica, incluindo as antiderivadas que precisamos para resolver equações diferenciais. São os Sistemas de Álgebra Computacional6). O Maxima é um desses programas, e pode nos ajudar a solucionar a equação diferencial. Vamos usá-lo online.
As janelas de código abaixo executam o Maxima online: o código é enviado ao servidor Sage Cell, que tem o Maxima pronto para executar comandos. O servidor então retorna o resultado para nossa página.
Se preferir, você pode instalar o Maxima em seu computador e executar os mesmos comandos. É uma ferramenta muito útil para resolver problemas matemáticos. Veja nossa Introdução ao Maxima.
O comando abaixo define um objeto chamado eq1
no Maxima, para armazenar a expressão simbólica
da nossa equação diferencial $dN/dt=rN$. Clique no botão Evaluate
para criar o objeto:
Agora use o comando ode2
do Maxima para resolver a equação diferencial.
O primeiro argumento é a equação diferencial, o segundo a variável dependente ($N(t)$) e o terceiro a variável independente ($t$):
O resultado deve ser:
$$ N(t)=c e^{rt} $$
Onde $c$ é uma constante de integração desconhecida. A expressão acima satisfaz a equação diferencial, para qualquer valor de $c$, e isso é tudo que as regras de antiderivação podem nos dar.
Para ir adiante temos que dar algo mais: as condições iniciais do sistema. Vamos então definir o número inicial de indivíduos na população, $N_0$. Este é o tamanho da população no tempo zero, que substituímos na equação de crescimento exponencial:
$$N_0 = c*e^{0} = c*1 = c$$
Logo $c = N_0$, e finalmente temos nossa equação de crescimento exponencial:
$$ N_t= N_0 e^{rt} $$
Satisfeito(a)? Espero que não, pois simplesmente apelamos para uma tabela de antiderivadas em um programa para encontrar a solução de nossa equação diferencial. Aprendemos a lógica geral da solução de uma equação diferencial, mas não porque a equação que propusemos tem esta solução específica.
Uma maneira de entender é retornar ao raciocínio de reduzir intervalos de tempo. Vamos começar com uma população que tem uma taxa de crescimento anual de $\lambda = 1,5$:
Agora, vamos supor que essa mesma população tenha dois ciclos reprodutivos anuais, portanto temos que calcular o aumento na população no primeiro semestre do ano, e multiplicar este valor novamente pela taxa de crescimento, para obter o tamanho da população no final do ano. Vamos supor que a taxa semestral de crescimento seja metade da anual:
$$N_1 \ = \ N_0 \left( 1+\frac{0,5}{2} \right) \left( 1+\frac{0,5}{2} \right)$$
Isso equivale a
$$N_1 \ = \ N_0 \left( 1+\frac{0,5}{2} \right)^2 \ = \ N_0(1+0,25)^2 \ \to \frac{N_1}{N_0} \ = \ (1+0,25)^2 \ \simeq \ 1,56$$
Ops! Uma taxa de crescimento de 1,25 ao semestre resulta em um crescimento maior que a taxa anual de 1,5. Não é difícil entender: no segundo semestre a população aumentou em 25% de uma população que já cresceu 25% no primeiro semestre. Mantendo o raciocínio, trimestralmente a taxa seria de $(1 + 0.5/4)$ e deveria ser aplicada quatro vezes. Isso resultaria em um crescimento anual de cerca de 1,60. Onde isso vai parar?
Jacob Bernoulli foi o primeiro a solucionar este problema, preocupado com o comportamento de juros compostos, nos idos do século XVII. Ele partiu da expressão usada para calcular estes juros, que nada mais é que a generalização de nossa expressão de crescimento em um ano dividido em n intervalos, :
$$ \frac{N_1}{N_0}= \left( 1+\frac{r_d}{n} \right) ^n $$
Em seguida ele notou que para calcular uma dívida (o tamanho da população em nosso caso) que aumenta a todo instante, teríamos que deixar o número de intervalos de tempo ($n$) cada vez maior, tendendo a um número infinitamente grande:
$$ \lim\limits_{n \to \infty} \left( 1+\frac{r_d}{n} \right)^n$$
Isto é o mesmo que fazer os intervalos de tempo serem infinitamente pequenos. O que acontece então? Vamos tentar resolver o limite numericamente no R, aumentando o número de divisões dentro de um ano da nossa taxa de crescimento discreta. A princípio vamos deixar o $\lambda =2$, portanto o $r_d=1$ e o $N_0=1$ ; portanto $\frac{N_t}{N_0}= N_t$. Em seguida vamos fazer $\lambda =3$ e $\lambda =1.5$ (r=2 e r=0.5).
############################## #### Crescimento Contínuo #### ############################## n<- c(0:100, 200, 500,1000, 10000, 100000,1e+10) N0 <- 2 rd1 <- 1 N1<-N0* (1+ rd1/n)^n N1_N0= N1[length(N1)]/N0 plot(1:103, N1[1:103]/N0, type="l") text(x=50, y=2.5, labels= paste("Máximo = ", N1[length(N1)/N0])) N1_N0
Tempo de duplicação 7) é definido como o tempo necessário para uma quantidade duplicar, dada uma taxa constante de crescimento. Podemos aplicar este conceito para o tempo necessário para que uma população com taxa constante de crescimento dobre de tamanho, ou para o tempo até que uma dívida sob taxa fixa de juros dobre de valor.
A solução da expressão de tempo de duplicação é simples. Dados o valor inicial ($N_0$), a taxa de crescimento $r$ e o tamanho da população projetada ($2N_0$), resolvemos equação para o tempo:
$$2N_0 = N_0e^{rt}$$
Para isso precisamos de um pouco de álgebra apenas. Dividimos os dois lados da equação por $N_0$:
$$ e^{rt} = 2 $$
e em seguida tomamos o logarítmo em base natural dos dois lados da equação
$$ log(e^{rt}) = log(2) $$ $$ rt = log(2) $$ $$ t = \frac{log(2)}{r} $$
Como $log(2)$ é aproximadamente 0,7 8), temos:
$$ t_{dupl} \approx \frac{0,7}{r} $$
Se a taxa de crescimento estiver expressa em percentual, como é comum para juros, temos :
$$ t_{dupl} \approx \frac{70}{r_{\%}} $$
Uma forma para calcular juros composto de um empréstimo 9) é através da equação exponencial, similar à apresentada acima, onde:
Uma dívida
Um carro novo
Imagine que é bolsista PIBIC do Departamento de Ecologia da USP (tinha que ter algo de ecologia no exemplo!) e resolveu comprar um carro. Há duas opções que parecem caber no seu bolso de um carro básico (sem ar, direção e freios), ambos com parcela fixas:
Segundo o físico Al Bartlett, uma das maiores tragédias da humanidade é a incapacidade de compreender as consequências de taxas de crescimento constantes. Sua palestra sobre o tema é um clássico, proferida mais de 1600 vezes! Nesta palestra o Prof Bartlett propõe o seguinte problema: