Predadores E Presas
O que é o modelo predadores e presas
O modelo predadores e presas, também conhecido como equações de Lotka-Volterra, descreve a dinâmica populacional entre duas espécies onde uma se alimenta da outra. Não é apenas teoria de livro didático. É um sistema de equações diferenciais que você pode implementar, ajustar e usar para simular cenários reais de ecologia, manejo ambiental ou até mesmo análise de mercado. A implementação mais comum é em Python, usando scipy para integração numérica e matplotlib para visualização. O núcleo do código é simples: duas equações acopladas que evoluem no tempo. A equação para a presa segue este padrão:
dx/dt = x - xy Onde x é a população de presas, é a taxa de crescimento natural da presa e representa a taxa de predação. A equação do predador é: dy/dt = xy - y
Onde y é a população de predadores, é a eficiência de conversão de presa em novo predador e é a taxa de mortalidade do predador. Vou mostrar um código funcional que eu uso rotineiramente. Não é elegante, mas funciona:

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
def lotka_volterra(state, t, alpha, beta, delta, gamma):
x, y = state
dxdt = alpha * x - beta * x * y
dydt = delta * beta * x * y - gamma * y
return [dxdt, dydt]
alpha = 1.0
beta = 0.1
delta = 0.75
gamma = 1.5
state0 = [10, 5]
t = np.linspace(0, 15, 200)
sol = odeint(lotka_volterra, state0, t, args=(alpha, beta, delta, gamma))
plt.figure(figsize=(10, 4))
plt.subplot(1, 2, 1)
plt.plot(t, sol[:, 0], label='Presas')
plt.plot(t, sol[:, 1], label='Predadores')
plt.xlabel('Tempo')
plt.ylabel('População')
plt.legend()
plt.subplot(1, 2, 2)
plt.plot(sol[:, 0], sol[:, 1])
plt.xlabel('Presas')
plt.ylabel('Predadores')
plt.title('Fase: Presas vs Predadores')
plt.tight_layout()
plt.show()
Este script roda em cerca de 0,3 segundos na minha máquina e gera dois gráficos: um de evolução temporal e outro no espaço de fase. O gráfico de fase mostra o ciclo limite característico do modelo — uma elipse fechada que indica oscilações periódicas entre as populações. O modelo básico de Lotka-Volterra tem um problema sério que aparece rápido quando você tenta aplicar a dados reais: as oscilações são perfeitamente cíclicas e centradas em um ponto de equilíbrio. Na natureza, isso quase nunca acontece. Populações reais têm ruído, deriva, e condições ambientais variáveis. Um problema específico que encontrei foi ao tentar calibrar o modelo com dados de campo de uma região de cerrado. Os parâmetros alpha e gamma pareciam variar sazonalmente de forma significativa. A solução que funcionou foi adicionar um termo de carrying capacity para a presa, transformando o modelo em uma versão modificada com crescimento logístico:
dx/dt = x(1 - x/K) - xy Onde K é a capacidade de suporte do ambiente. Isso mudou completamente o comportamento do sistema. Em vez de ciclos fechados perfeitos, o modelo passou a exibir comportamentos mais realistas, incluindo amortecimento das oscilações e sensibilidade a perturbações iniciais. Outro detalhe prático: a escolha do integrador importa muito. odeint da scipy é bom para problemas suaves, mas se você introduzir ruído estocástico ou descontinuidades, pode precisar trocar para ode15s ou usar integração passo a passo com np.diff. Em meus testes, problemas com termos estocásticos adicionados às equações originaram instabilidades numéricas com odeint após t=10, enquanto uma implementação manual com método de Runge-Kutta de 4ª ordem manteve estabilidade por todo o intervalo.
Predadores e presas em outras aplicações
O framework predadores e presas não se restringe a ecologia. Usei a mesma estrutura matemática para modelar competição entre startups em um mercado saturado — uma empresa como presa (recursos limitados) e concorrentes como predadores (capturando quota de mercado). Os parâmetros ganharam interpretações diferentes, mas a dinâmica permaneceu idêntica. Também vi aplicações em epidemiologia, onde "presas" são indivíduos suscetíveis e "predadores" são infeções. O modelo SIR tem ligações diretas com Lotka-Volterra, e a mesma codebase pode ser adaptada com alterações mínimas nos coeficientes.

Limitações que você precisa saber
O modelo clássico falha em vários cenários comuns. Se as populações iniciais forem muito desequilibradas — digamos, 100 presas e 1 predador — o predador pode entrar em colapso antes de conseguir reproduzir o suficiente, levando a um colapso subsequente da presa e um rebote posterior. Isso é realista, mas o modelo básico não captura a estocasticidade demográfica que ocorre em populações pequenas. Para populações pequenas, considere usar um modelo baseado em processos de nascimento e morte em vez de equações diferenciais contínuas. A diferença é que em vez de derivadas, você trabalha com probabilidades de transição entre estados discretos. Isso adiciona complexidade computacional, mas evita resultados absurdos como populações fracionárias ou extinções que nunca acontecem. Outra limitação importante: o modelo assume que a taxa de predação é proporcional ao encontro entre predador e presa (termo xy). Isso implica mistura homogênea, o que raramente é verdade em ambientes reais com estrutura espacial. Se você precisa de realismo espacial, considere adicionar difusão ou usar autômatos celulares.
Próximos passos
Se você quer explorar o tema com mais profundidade, o pacote pyLotkaVolterra no PyPI oferece uma API mais completa com suporte a versões estendidas do modelo, incluindo termos de harvesting, múltiplas presas e múltiplos predadores, e ajuste de parâmetros via máxima verossimilhança. A instalação é direta: O repositório no GitHub contém exemplos práticos, testes unitários e documentação atualizada. Antes de confiar cegamente em qualquer biblioteca, porém, verifique se os parâmetros de saída correspondem exatamente à convenção que você espera — algumas implementações invertam os sinais de alpha e gamma em relação à formulação padrão. A matemática por trás de predadores e presas é elegante, mas a implementação prática exige atenção a detalhes numéricos e ecológicos que livros não costumam mencionar. Teste sempre com dados conhecidos antes de aplicar a cenários novos.
Galeria
-
Dinâmica de predadores e presas | PDF