\documentclass[11pt, a4paper]{article} % Préambule : packages utiles \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[french]{babel} \usepackage{graphicx} \usepackage{amsmath} \usepackage{hyperref} \graphicspath{ {./images/} } \title{Simulation de population de lapin \\ (Rabbit's hole)} \author{Aubin DORIVAL F2 Promo 28} \date{\today} \begin{document} \maketitle \begin{center} \url{https://git.dukantic.fr/dukantic/Rabbit-s-Hole} \includegraphics[width=0.7\textwidth]{draw_rabbit.jpg} \end{center} \section{Introduction} Le projet `Rabbit Hole` est une simulation de population de lapin. Elle essaye de simuler la croissance de la population de lapin en essayant de suivre certaine règles et en faisant abstraction d'autre choses. Dans tout le projet j'ai globalement prit les conditions et les probabilités qui sont dans le sujet de base. \section{Règles} Tout d'abord il faut définir les règles à suivre. \begin{itemize} \item Taux de gestation à $50\%$ par mois. \item $3$ à $6$ bébés par gestation de manière uniforme. \item Les bébés deviennent adulte entre le $5\up{eme}$ et $8\up{eme}$ mois \item Les adultes meurent avec un taux de $40\%/ans + 10\%/ans$ à partir de 10 ans. \item Les bébés meurent avec un taux de $65\%/ans \Rightarrow 5\%/mois$ sur 7 mois en moyenne. \end{itemize} \begin{center} \includegraphics[width=\textwidth]{rabbit's_rules.png} \end{center} \section{Structure de donnée} Pour stocker les lapins j'ai choisit de les classées par âge. En effet toute les règles sont basé sur l'âge alors je peux les compter. Ma structure de données est donc basé sur cela. J'ai un tableau par sexe et l'indice du tableau correspond a l'âge. J'ai aussi le nombre de lapine en gestation. Pour les bébés j'ai exactement la même chose sauf que l indice représente le mois plutôt que l'année. Pour les nombres j'ai choisi un entier non-signé de 128 bits (ce qui est pas disponible pour toute les plateformes) pour évité un maximum les dépassement d'entier. \begin{verbatim} #define N_MATURE (16) #define N_KITTEN (8) typedef struct rabbit_hole_s { __uint128_t male_mature[N_MATURE]; __uint128_t female_mature[N_MATURE]; __uint128_t female_litter; __uint128_t kitten_male[N_KITTEN]; __uint128_t kitten_female[N_KITTEN]; } rabbit_hole_t; \end{verbatim} \end{document}