Vous êtes sur la page 1sur 15

Licence3 Analyse Numerique et

Modelisation

UE BIOMATHEMATIQUE
S6
Rapport

Proies-predateurs

Étudiant : Enseignant chercheur :


YayaTouré Dr Oumar Diop

15 juin 2023
Table des matières

Table des matières


1 Modelisation Mathematique, cas proies-predateurs 2
1.1 Un modèle proie-prédateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Présentation d’un modèle proie-prédateur(Exemple : une gazelle et un lion) 2
1.3 Présentation des variables et paramètres . . . . . . . . . . . . . . . . . . . 3
1.3.1 Analyse detaillée du model proies-prédateurs . . . . . . . . . . . . . 3

2 Chaîne alimentaire de trois espèces 4


2.1 Cas espèce super-prédatrice . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Introduction d’une population indésirable(comme du polluant) dans le


milieu 5

4 Simulation numérique sur Python 6

UE BIOMATHEMATIQUE Rapport - Proies-predateurs 1


1 Modelisation Mathematique, cas proies-predateurs

1 Modelisation Mathematique, cas proies-predateurs


Les écosystèmes sont des ensembles naturels dans lesquels des populations d’orga-
nismes vivants et non vivants interagissent les uns avec les autres . Mais quelles sont les
lois qui régissent la dynamique de ces systèmes complexes et fascinants ? Et en particulier,
comment les espèces prédateurs et proies interagissent-elles les unes avec les autres ?
Dans les années 1925-1926, Alfred Lotka et Vito Volterra, deux mathématiciens, ont étu-
dié le problème et, indépendamment, ont développé un modèle d’équation différentielle
pour répondre dans le cas d’un écosystème composé de deux espèces animales, l’une qui
agit comme une espèce prédatrice et l’autre l’autre comme sa proie : le modèle proie-
prédateur.
L’idée générale derrière le modèle de Lotka-Volterra est de considérer un scénario idéal
dans lequel seules deux espèces coexistent : les prédateurs et leurs proies. Il y a quelques
hypothèses sous-jacentes :
• les prédateurs ne peuvent se nourrir que de la population de proies ;
• la quantité totale de nourriture consommée par les prédateurs (c’est-à-dire la
quantité de proies mangées) dans l’unité de temps est proportionnelle au nombre
de rencontres entre proies et prédateurs ;
• le nombre de rencontres entre proies et prédateurs est proportionnel à la taille
des deux populations ;
• chaque prédateur a besoin d’un minimum de nourriture, dans l’unité de temps,
pour pouvoir survivre et se reproduire ;
• chaque proie dispose d’une source inépuisable de nourriture qui lui permet de se
reproduire en l’absence de prédateurs.

1.1 Un modèle proie-prédateur


Le Model Lokta-Volterra :

dN/dt = N (t).(α − β.P (t)) (1)

dP/dt = P (t).(δ.N (t) − γ) (2)

1.2 Présentation d’un modèle proie-prédateur(Exemple : une ga-


zelle et un lion)
réveille. Il sait qu’il doit courir que le lion
le plus rapide ou il sera tué. Chaque matin
un lion se réveille. Il sait qu’il doit distan-
cer la gazelle la plus lente ou il mourra de
faim. Peu importe que vous soyez un lion
ou une gazelle. Quand le soleil se lève, c’est
le debut de la competition. Et donc chaque
espece essaie de survivre .

Chaque matin en Afrique, une gazelle se


UE BIOMATHEMATIQUE Rapport - Proies-predateurs 2
1 Modelisation Mathematique, cas proies-predateurs

1.3 Présentation des variables et paramètres


• N (t) représente la population de proie(gazelle) à l’instant t,
• P (t) représente la population de predateur(lion) à l’instant t,
• Le paramétre α = a − b représente le taux de croissance per-capita avec a :
natalité et b :mortalite
• Le paramétre β représente le taux de proies prélevées par prédateur
• Le paramétre δ représente la mortalité des prédateurs en l’abscence de proie
• Le paramétre γ représente le taux de reproduction des prédateurs en fonction de
la quantité de proies mangées.

1.3.1 Analyse detaillée du model proies-prédateurs


1. Cas : Croissance exponentielle
− En l’abscence de prédateur c’est-a-dire P (t) = 0 on a :
N (t) = N0 eαt (3)
2. Cas : Decroissance exponentielle
− En l’abscence de proie c’est-a-dire N (t) = 0 on a :
P (t) = P0 e−γt (4)
3. Adimentionnement avec Changement de variable :
De façon maintenant classique, nous réalisont un adimentionnement avec les chan-
gements de variable que nous allons appliquer aux equations (1) et (2) :
τ = αt, A = γ/α, u(τ ) = γ.N (t)/δ, v(τ ) = β.P (t)/α on obtient la
transformation du systeme suivant :
du/dτ = f (u, v) = u.(1 − v) (5)
dv/dτ = g(u, v) = A.v(u − 1) (6)
4. Les points d’équilibres
•du/dτ = 0 =⇒ u∗ .(1 − v ∗ ) = 0 =⇒ u∗ = u∗1 = 0 et v ∗ = v1∗ = 1
•dv/dτ = 0 =⇒ A.v ∗ (u∗ − 1) = 0 =⇒ v ∗ = v2∗ = 0 et u∗ = u∗2 = 1
Il y’a clairement deux points d’équilibre qui annulent à la fois du/dτ et dv/dτ :
(u∗1 , v1∗ ) = (0, 0) et (u∗2 , v2∗ ) = (1, 1)
C’est-à-dire N1∗ = P1∗ = 0 et N2∗ = δ/γ et P2∗ = α/β
Les isoclines-zéros sont tout autant facile à définir ce sont les doites verticales u = 0
et u = 1 et horizontale v = 0 et v = 1
5. Stabilité
Pour evaluer la stabilité, il suffit de calculer une matrice jacobienne en utilisant les
equations (5) et (6)
! 
∂f (u,v) ∂f (u,v) 
∂u ∂v
1 − v −u
Mj (u, v) = ∂g(u,v) ∂g(u,v) = (7)
∂u ∂v
A.v A.(u − 1)
Puisque les valeurs propres nous renseignent sur la stabilité de ses équilibres, alors
calculons Mj (0, 0) et Mj (1, 1) et puis deduisons-en leurs valeurs propres.

UE BIOMATHEMATIQUE Rapport - Proies-predateurs 3


2 Chaîne alimentaire de trois espèces

Etudes des valeurs propres aux differents points d’équilibre


Valeurs propres au point (0, 0)

 
1 0
Mj (0, 0) = (8)
0 −A
 
1−X 0
Mj (0, 0) − XI2 = =⇒ det(Mj (0, 0) − XI2 ) = 0
0 −X − A
=⇒ (1 − X).(−X − A) = 0 =⇒ X = 1 et X = - A
Conclusion : le point (0, 0) est donc instable(l’une des valeurs propres est positive)
et il s’agit d’un point selle.

Valeurs propres au point (1, 1)

 
0 −1
Mj (1, 1) = (9)
A 0
 
−X −1
Mj (1, 1) − XI2 = =⇒ det(Mj (1, 1) − XI2 ) = 0
A −X
√ √
=⇒ X 2 + A = 0=⇒ X = i A et X = -i A
Conclusion : les valeurs propres sont des imaginaires purs, cela signiife que le point
(1, 1) est un centre. Les trajectoires stables(des cycles autours du point (1, 1), ce
qui prouve le caractere cyclique des trajectoires.
6. Fonctionnement Cyclique

du/dτ = f (u, v) = u.(1 − v) (10)

dv/dτ = g(u, v) = A.v(u − 1) (11)


En faisant dv/du = A. v.(u−1)
v.(1−v)
ce qui s’integre facilement : A.u + v − ln(uA .v) = C cst
Nous pouvons donner une interpretation graphique simple de cette equation.
Considerons le premier terme de l’equation : nous y reconnaissons l’equation d’une
surface. Plus rigoureusement, z = A.u + v − ln(uA .v) est l’equation d’une surface
(u, v, z). Comme cette surface admet un minimum en (1, 1) et qu’elle est unimodal,
ces courbes de niveau forment des trajectoires fermées autour de (1, 1) : les solutions
sont donc cycliques.

2 Chaîne alimentaire de trois espèces


2.1 Cas espèce super-prédatrice
Le modèle proie-prédateur classique décrit l’interaction entre deux espèces, une proie
et un prédateur. Cependant, pour ajouter une troisième espèce appelée super-prédateur,
nous pouvons étendre ce modèle pour capturer une dynamique plus complexe dans l’éco-
système.

UE BIOMATHEMATIQUE Rapport - Proies-predateurs 4


3 Introduction d’une population indésirable(comme du polluant) dans le milieu

Dans ce modèle avec une espèce super-prédatrice, nous aurons trois équations différen-
tielles pour représenter les populations des trois espèces au fil du temps. Supposons que la
proie soit représentée par P, le prédateur par H, et le super-prédateur par S. Les équations
différentielles peuvent être définies comme suit :
1. L’évolution de la population de proie (P ) : dP/dt = rP − aP H
2. L’évolution de la population de prédateur (H) : dH/dt = baP H − mH − cSH
3. L’évolution de la population de super-prédateur (S) : dS/dt = cSH − dS
Dans ces équations, les paramètres représentent les interactions entre les différentes es-
pèces :
• r : taux de croissance de la proie
• a : taux de prédation de la proie par le prédateur
• b : taux de prédation de la proie par le super-prédateur
• m : taux de mortalité du prédateur
• c : taux de prédation du prédateur par le super-prédateur
• d : taux de mortalité du super-prédateur
Ces équations décrivent les variations de population en fonction du temps, en prenant
en compte les interactions entre les différentes espèces. La première équation montre que
la population de proie croît de manière exponentielle, mais est réduite par la prédation
du prédateur. La deuxième équation représente l’effet de la prédation de la proie par
le prédateur, ainsi que la mortalité du prédateur. Enfin, la troisième équation reflète la
prédation du prédateur par le super-prédateur et la mortalité du super-prédateur.

3 Introduction d’une population indésirable(comme du


polluant) dans le milieu
Dans le cas d’un système proie-prédateur avec un super-prédateur et la présence d’un
polluant, nous pouvons réécrire les équations du modèle de la manière suivante :

Pour la population de proies (P ) : dP/dt = r ∗ P ∗ (1 − (P + S)/K) − a ∗ P ∗ H − dP ∗ P


Dans cette équation, dP/dt représente le taux de variation de la population de proies au fil
du temps, r est le taux de croissance intrinsèque des proies, P est la population de proies,
S est la population de super-prédateurs, K est la capacité de charge de l’environnement
pour les proies, a est le taux de prédation des proies par les prédateurs, H est la population
de prédateurs, et dP représente le taux de mortalité des proies dû au polluant.

Pour la population de prédateurs (H) : dH/dt = b ∗ a ∗ P ∗ H − m ∗ H

Dans cette équation, dH/dt représente le taux de variation de la population de préda-


teurs au fil du temps, b est le taux de conversion des proies en prédateurs, a est le taux de
prédation des proies par les prédateurs, P est la population de proies, H est la population
de prédateurs, et m est le taux de mortalité des prédateurs.

UE BIOMATHEMATIQUE Rapport - Proies-predateurs 5


4 Simulation numérique sur Python

CONCLUSION :
Ces équations tiennent compte de l’interaction entre les proies, les prédateurs et les super-
prédateurs, ainsi que de l’effet du polluant sur la population de proies. Elles permettent
de modéliser la dynamique complexe de ce système en prenant en compte les interactions
entre les différentes espèces et l’impact du polluant sur la population de proies.

4 Simulation numérique sur Python


La simulation numérique du modèle proie-prédateur avec super-prédateur et la pré-
sence d’un polluant dans le milieu est réalisée à l’aide du langage Python.

Le modèle proie-prédateur est basé sur des équations différentielles qui décrivent l’évo-
lution des populations de proies et de prédateurs dans un environnement donné. Dans
cette version, nous introduisons également une troisième espèce, le super-prédateur, et la
présence d’un polluant qui peut affecter la vie des proies.

Le code Python utilise la méthode d’Euler pour effectuer une approximation numérique
des équations différentielles et simuler les dynamiques des populations au fil du temps.
Voici les étapes principales de la simulation :

1. Nous définissons les paramètres du modèle tels que le taux de croissance des proies
(r), la capacité de charge de l’environnement pour les proies (K), le taux de préda-
tion des proies par les prédateurs (a), le taux de conversion des proies en prédateurs
(b), le taux de mortalité des prédateurs (m) et le taux de mortalité des proies dû
au polluant (dP ).
2. Nous initialisons les populations initiales de proies, de prédateurs et de super-
prédateurs.
3. Nous définissons les paramètres de temps, tels que la taille du pas de temps (dt)
et le nombre de pas de temps (timesteps).
4. Nous créons des tableaux pour stocker les valeurs des populations de proies, de
prédateurs et de super-prédateurs à chaque pas de temps.
5. Nous exécutons une boucle de simulation sur le nombre de pas de temps spécifié. À
chaque itération, nous calculons les taux de variation des populations de proies, de
prédateurs et de super-prédateurs en fonction des équations différentielles modifiées
pour tenir compte de la présence du polluant. Ensuite, nous mettons à jour les
populations en ajoutant les taux de variation multipliés par le pas de temps.
6. Nous traçons les résultats de la simulation à l’aide de la bibliothèque de visuali-
sation matplotlib. Les populations de proies, de prédateurs et de super-prédateurs
sont affichées en fonction du temps.
Nous pouvons ajuster les paramètres du modèle, les populations initiales et les équations
différentielles selon notre scénario spécifique. Cette simulation numérique permet de vi-
sualiser comment les interactions entre les proies, les prédateurs, les super-prédateurs et
le polluant peuvent affecter les dynamiques des populations au fil du temps.

UE BIOMATHEMATIQUE Rapport - Proies-predateurs 6


toure-l3-projet-bio-maths-python3

June 15, 2023

1 I. Un modèle proie-prédateur
[23]: import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
from scipy import integrate

def dX_dt(X, t=0):


"""Renvoie le taux de croissance des lions et des gazelles."""

res = np.array([
a * X[0] - b * X[0] * X[1],
(c * X[0] - d) * X[1] ])
return res

# Affichage du theme seaborn.


sns.set_theme(style='darkgrid')

# Parametres.
a = 1.
b = 0.1
c = 0.075
d = 1.5

# Les points d'equilibre.


X_f0 = np.array([0. , 0.])
X_f1 = np.array([d / c, a / b])

# Temps.
t = np.linspace(0, 15, 1000)

# conditions Initialles.
X0 = np.array([10, 5])

# Intégrer le système.
X = integrate.odeint(dX_dt, X0, t)
Gazelles, Lions = X.T

1
#
# Tracez la chronologie des populations.
#
a4_dims = (11.7, 8.27)
fig, ax = plt.subplots(figsize=a4_dims)
plt.plot(t, Gazelles, 'r-', label = 'Gazelles')
plt.plot(t, Lions, 'b-', label = 'Lions')
plt.grid(True)
plt.legend(loc='best')
plt.xlabel('Temps')
plt.ylabel('Population')
plt.title('Temps evolution')
fig.savefig('populations.png')

#
# Tracez le tracé de phase.
#
fig, ax = plt.subplots(figsize = a4_dims)

# Facteur d'échelle pour les conditions initiales.


values = np.linspace(0.2, 1, 5)

# Couleurs pour chaque trajectoire.


vcolors = plt.cm.autumn_r(np.linspace(0.2, 1., len(values)))

# Tracons toutes les trajectoires.


for value, col in zip(values, vcolors):

# Résolvons un nouveau système.


X0 = value * X_f1
X = integrate.odeint(dX_dt, X0, t)

# Tracez la solution.
plt.plot( X[:,0], X[:,1], lw = 3.5 * value, color = col,
label = f'X0=({X0[0]:.2f}, {X0[1]:.2f})')

# Définissons une grille et calculez la direction pour chaque point.


n_points = 20
ymax = plt.ylim(ymin = 0)[1]
xmax = plt.xlim(xmin = 0)[1]
x = np.linspace(0, xmax, n_points)
y = np.linspace(0, ymax, n_points)
X1, Y1 = np.meshgrid(x, y)

# Taux de croissance pour l'ensemble du réseau.

2
DX1, DY1 = dX_dt([X1, Y1])

# Normaliser et stabiliser.
M = np.hypot(DX1, DY1)
M[M == 0] = 1.
DX1 /= M
DY1 /= M

plt.title('affichage de phase')
Q = plt.quiver(X1, Y1, DX1, DY1, M, pivot = 'mid', cmap = plt.cm.jet)
plt.xlabel('Gazelles')
plt.ylabel('Lions')
plt.legend()
plt.grid()
plt.xlim(0, xmax)
plt.ylim(0, ymax)
fig.savefig('phases.png')

3
2 II.Chaîne alimentaire de trois espèces
[9]: import numpy as np
import matplotlib.pyplot as plt

def simulation_predateur_proie(r, a, b, m, c, d, P0, H0, S0, timesteps):


P = [P0] # Population de proie
H = [H0] # Population de predateur
S = [S0] # Population de super-predateur

for _ in range(timesteps):
dP_dt = r * P[-1] - a * P[-1] * H[-1]
dH_dt = b * a * P[-1] * H[-1] - m * H[-1] - c * S[-1] * H[-1]
dS_dt = c * S[-1] * H[-1] - d * S[-1]

P.append(P[-1] + dP_dt)
H.append(H[-1] + dH_dt)
S.append(S[-1] + dS_dt)

return P, H, S

4
# Parametres
r = 0.5 # taux de croissance de la proie
a = 0.01 # taux de prédation de la proie par le prédateur
b = 0.02 # taux de prédation de la proie par le super-prédateur
m = 0.2 # taux de mortalité du prédateur
c = 0.03 # taux de prédation du prédateur par le super-prédateur
d = 0.1 # taux de mortalité du super-prédateur

P0 = 100 # population Initialle de proie


H0 = 20 # population Initialle de predateur
S0 = 10 # population Initialle de super-predateur

timesteps = 100 # Nombre de pas de temps à simuler

# Simulation
proie, predateur, super_predateur = simulation_predateur_proie(r, a, b, m, c,␣
↪d, P0, H0, S0, timesteps)

# Plot
time = np.arange(timesteps + 1)

plt.plot(time, proie, label='Proie')


plt.plot(time, predateur, label='Predateur')
plt.plot(time, super_predateur, label='Super-Predateur')
plt.xlabel('Temps')
plt.ylabel('Population')
plt.legend()
plt.title('Modèle prédateur-proie avec super-prédateur')
plt.show()

5
””” CONCLUSION: Ce modèle proie-prédateur avec une troisième espèce, le super-prédateur, per-
met de mieux représenter les interactions complexes qui peuvent exister dans un écosystème. Il offre
la possibilité d’étudier comment la présence d’un super-prédateur peut influencer la dynamique des
populations de proies et de prédateurs, ainsi que les interactions entre ces trois niveaux trophiques.
”””

3 III. Introduction d’une population indésirable dans le milieu


[1]: import numpy as np
import matplotlib.pyplot as plt

# Parameters
r = 0.8 # Taux de croissance des proies
K = 100 # Capacité de charge de l’environnement pour les proies
a = 0.03 # Taux de prédation des proies par les prédateurs
b = 0.04 # Taux de conversion des proies en prédateurs
m = 0.2 # Taux de mortalité des prédateurs
dP = 0.05 # Taux de mortalité des proies due au polluant

6
# Populations initiales
P0 = 80 # Population initiale de proies
H0 = 40 # Population initiale de prédateurs
S0 = 20 # Population initiale de super-prédateurs

# Paramètres de temps
dt = 0.1 # Taille du pas de temps
timesteps = 1000 # Nombre de pas de temps

# Initialiser des tableaux pour stocker des valeurs de population


time = np.arange(0, dt*timesteps, dt)
prey = np.zeros(timesteps)
predators = np.zeros(timesteps)
super_predators = np.zeros(timesteps)

# Boucle de simulation
P = P0
H = H0
S = S0
for i in range(timesteps):
prey[i] = P
predators[i] = H
super_predators[i] = S

dP_dt = r * P * (1 - (P + S) / K) - a * P * H - dP * P
dH_dt = b * a * P * H - m * H
dS_dt = 0.5 * a * P * H - 0.1 * S # Equation dynamique pour super-prédateur

P += dP_dt * dt
H += dH_dt * dt
S += dS_dt * dt

# Tracer les résultats


plt.plot(time, prey, label='Proies')
plt.plot(time, predators, label='Predateurs')
plt.plot(time, super_predators, label='Super Predateurs')
plt.xlabel('Time')
plt.ylabel('Population')
plt.title('Modèle proie-prédateur avec super-prédateur et polluant')
plt.legend()
plt.show()

7
””” CONCLUSION: Cette simulation tient compte de l’interaction entre les proies, les prédateurs
et les super-prédateurs, ainsi que de l’effet du polluant sur la population de proies. Elles permettent
de simuler la dynamique complexe de ce système en prenant en compte les interactions entre les
différentes espèces et l’impact du polluant sur la population de proies. ”””

Vous aimerez peut-être aussi