Ecosystem

100 prey 20 predators
🐇 100
🐺 20

Parameters

Population Over Time

Phase Space (closed orbits = stable oscillation)

How It Works

The Lotka-Volterra predator-prey model is a classic example of a Petri net producing differential equations via mass-action kinetics.

The net has just 2 places and 3 transitions:

  • prey_reproduce (rate α): prey → 2×prey — exponential growth without predators
  • predation (rate β): prey + predator → 2×predator — encounters convert prey into predators
  • predator_death (rate γ): predator → nothing — natural death without prey

Mass-action kinetics: each transition fires at a rate proportional to the product of its input token counts. This automatically gives the Lotka-Volterra system.

The phase space plot shows closed orbits around the equilibrium point. Closed orbits mean the system oscillates forever without damping — a conserved quantity called the Volterra integral prevents decay.

d(prey)/dt = α · prey − β · prey · predator
d(pred)/dt = β · prey · predator − γ · predator
Equilibrium: prey = γ/β = 50, predator = α/β = 100