Skip to content

titoFR7/rabbit-growth-simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rabbit Population Growth Simulation

Stochastic simulation of rabbit population dynamics in C, comparing an idealized Fibonacci growth model with a realistic model incorporating biological parameters (mortality, reproduction, predation, disease).

University project — L2 Computer Science, Université Clermont-Auvergne (2025)

Overview

This project implements two models:

  1. Fibonacci Model simple exponential growth with no mortality
  2. Stochastic Model realistic simulation with:
    • Age-dependent survival rates (35% juvenile, 60% adult, declining after 10 years)
    • Predator and disease mortality (5% base + 1% per million individuals)
    • Gaussian-distributed litter sizes (3-9 kits) and litters per year (3-9)
    • Sexual maturity between 5-8 months (normal distribution)
    • Individual tracking via doubly-linked list for O(1) insertion/deletion
    • Mersenne Twister (MT19937-64) random number generator

Key results (20 simulations, 140 months each):

Metric Value
Mean population 3,477,703
Standard deviation 2,319,671
95% confidence interval [2,392,076 4,563,330]
Range 0 6,784,794

Project Structure

.
 fibonacci-model/     Fibonacci model (simple)
    question1.c
    mt19937-64.c
    mt64.h
 stochastic-model/    Stochastic model (realistic)
    main.c            Entry point
    rabbit.c/.h       Rabbit data structures and management
    simu.c/.h         Simulation logic and statistics
    mt19937-64.c      Mersenne Twister RNG
    mt64.h
    simuResult/       CSV output files
 Rapport TP04/        Report (PDF) with graphs and analysis
 Makefile

Build & Run

Requirements: GCC, Make

# Build both models
make all

# Or build individually
make fibonacci
make stochastic

# Run Fibonacci model
./fibonacci-model/fibonacci

# Run stochastic simulation (outputs CSV files to stochastic-model/simuResult/)
./stochastic-model/simulation

# Clean
make clean

Technical Highlights

  • Zero memory leaks validated with Valgrind (46.7M allocations, all freed)
  • Performance profiled with gprof to identify bottlenecks
  • Monte Carlo approach 20 independent runs for statistical validity
  • CSV output for data analysis and visualization

Author

  • Titouan Mota

About

Monte Carlo simulation modeling rabbit population dynamics with age-dependent mortality, reproduction cycles, and environmental factors in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors