The predator prey dynamic is a classic non-linear system. This creates the Feast and Famine Cycle. If the prey population grows, it causes the predator population to grow, which causes the prey population to fall, etc. The Lotka-Volterra differential equations describe oscillations in the populations.

These equations appear to describe historical cycles. The Hudson Bay Company recorded prices of furs that measured lynx and rabbits population. The prices show there were booms and busts in the population.

So Predators are X and Prey are Y.

At the start, you model the natural population growth rate by measuring birth and death rates over time.
The Population Growth rate over one unit of time =
X(t+1) =X(t)-death X(t) + birth X(t) and
y(t+1) = Y(t)-death Y(t) + birth Y(t)

This is straightforward and linear so far. Now you create a function that describes the interactions between predators and prey.

There are chance encounters (or kills) between wolves and sheep. cXY represents the probabilty of an encounter, so this depends on the skill of the predator.

Say a wolf has a skill of 0.5 (or 50%). There are 10 wolves and 100 sheep. So cXY= 0.5(10)(100) = 500 encounters. If there are 4 wolves and 20 sheep, there would be 40 encounters.

Wolves do more than stare at sheep. We add another function that describes how a wolf converts an encounter with sheep into an increase in the wolf population. r[cX(t)Y(t)]. This is the rate that wolves encounter and kill sheep to create more wolf offspring. More kills means more wolves, as wolves can breed more and sustain their population.

The new function describing wolf population changes is
X(t+1) = X(t) – dX(t) + bX(t) + r[cX(t)Y(t)]

And for the sheep:
Y(t+1) = Y(t) – d’Y(t) – r'[cX(t)Y(t)] + b’Y(t)

If the time measures 1 year, we can change the t values to represent 2 years, 3 years, etc to estimate population cycles over time.

There are two possible equilibria. Both populations go extinct. Or they stay in a stable but oscillating system. The system is “stable” in the sense that it self-corrects and restores itself to its starting position, but it is not fixed.

I used NetLogo to model the wolf/sheep system. Netlogos has a preprogrammed model in the library. I set it so there are 100 sheep, 30 wolves using the Lotka-Volterra equations.

It creates the Feast and Famine graph.

Where there is a large population of sheep, the wolves will feast. The rapid rise in wolf population causes the sheep population to fall. This causes a famine forcing a decline in the wolf population allowing the sheep population to regenerate.

The system can be made more complex by adding more interactions. Sheep need vegetation to live, so they have their own predator-prey dynamic. We can model the Wolf-Sheep-Vegetation system. Vegetation places as ceiling on the maximum sheep population. This also creates chain reactions. A loss of vegetation causes the sheep population to fall, causing the wolf population to fall.

There are other variations, like competitive interactions where two groups compete for a common resource.

I believe the political and economic cycles are similar systems. They both display competition and interactions that produce a Boom and Bust dynamic.