6 Μαθηματική Βιολογία – Μοντέλα Αλληλεπιδρώντων Πληθυσμών

6.4 Μελέτη

6.4.1 Ασκήσεις

Άσκηση 6.1.

Μοντέλο Lotka–Volterra – Αδιάστατη μορφή
Όπως είδαμε το Μοντέλο Lotka – Volterra μοντέλο ορίζεται από το σύστημα εξισώσεων:

dNdt =N(a-bP)
dPdt =P(cN-d).

Βρείτε την αδιάστατη μορφή του μοντέλου, ορίζοντας τις κατάλληλες νέες μεταβλητές.

Άσκηση 6.2.

Μοντέλο Lotka–Volterra – Ανάλυση Ευστάθειας
Ξεκινώντας από την αδιάστατη μορφή του μοντέλου Lotka–Volterra, βρείτε τα σημεία ισορροπίας και μελετήστε την ανάλυσης ευστάθειάς τους.

Άσκηση 6.3.

Γενικευμένο μοντέλου τύπου θηρευτή – θηράματος
Μελετήστε ένα γενικευμένο μοντέλο τύπου θηρευτή της παρακάτω μορφής:

dNdt =rN(1-NK)-PR(N)
dPdt =P(cN-d).

Ως συνάρτηση R(N) θεωρήστε μία από τις παρακάτω

R(N)=AN+BήR(N)=ANN2+B2.

Χρησιμοποιώντας κατάλληλες τιμές των παραμέτρων μελετήστε το μοντέλο.

Άσκηση 6.4.

Μοντέλο Ανταγωνισμού – Ανάλυση Ευστάθειας
Ξεκινώντας από την αδιάστατη μορφή του μοντέλου ανταγωνισμού, βρείτε τα σημεία ισορροπίας και μελετήστε την ανάλυσης ευστάθειάς τους.

Άσκηση 6.5.

Μοντέλο Συμβίωσης – Ανάλυση Ευστάθειας
Ξεκινώντας από την αδιάστατη μορφή του μοντέλου συμβίωσης, βρείτε τα σημεία ισορροπίας και μελετήστε την ανάλυσης ευστάθειάς τους.

Άσκηση 6.6.

Διακριτό Μοντέλο Θηράματος – Θηρευτή
Ξεκινώντας από την αδιάστατη μορφή του μοντέλου συμβίωσης, βρείτε τα σημεία ισορροπίας και μελετήστε την ανάλυσης ευστάθειάς τους.

Άσκηση 6.7.

Διακριτό Μοντέλο Θηράματος – Θηρευτή
Ξεκινώντας από την αδιάστατη μορφή του μοντέλου συμβίωσης, βρείτε τα σημεία ισορροπίας και μελετήστε την ανάλυσης ευστάθειάς τους.

Άσκηση 6.8.

Συνεχές Μοντέλο SIR
Θεωρείστε το συνεχές SIR μοντέλο. Μελετήστε το χώρο φάσεων του μοντέλου, εστιάζοντας στις μεταβλητές S και I. [Υπόδειξη: Υπολογίστε πρώτα τον λόγο dI/dS.]

Άσκηση 6.9.

Συνεχές Μοντέλο SIR – Σοβαρότητα επιδημίας
Θεωρείστε το συνεχές SIR μοντέλο. Εξετάστε τη σοβαρότητα της επιδημίας, υπολογίζοντας το μέγιστο στη μεταβολή του αριθμού της ομάδας των ασθενών, βρίσκοντας το σημείο που η παράγωγος dI/dt γίνεται ίση με μηδέν.

Άσκηση 6.10.

Διακριτό Μοντέλο SIR
Θεωρείστε το διακριτό SIR μοντέλο. Επιλύστε το επαναληπτικά στον υπολογιστή και μελετήστε τη μορφή των καμπυλών S(t),I(t), και R(t) για διαφορετικές τιμές των παραμέτρων των μοντέλων.

6.4.2 Εργασίες

Εργασία 6.1.

Μοντέλο Ανταγωνισμού
Υποθέστε πληθυσμιακό μοντέλο ανταγωνισμού της μορφής που είδαμε παραπάνω, στο υποκεφάλαιο 1.2:

dN1dt =r1N1(1-N1K1-b12N2K2)
dN2dt =r2N2(1-N2K2-b21N1K1)
  • (α)

    Περιγράψτε τι δηλώνει ο κάθε όρος.

  • (β)

    Αδιαστατοποιήστε το σύστημα. Βρείτε τα σημεία ισορροπίας και ελέγξτε την ευστάθεια τους.

  • (γ)

    Επιλύστε το σύστημα στον υπολογιστή.

  • (δ)

    Κάνετε τη γραφική παράσταση N1(t),N2(t), vs. t, για Κ1=Κ2=1 και διαφορετικές τιμές των ρυθμών αύξησης r. Συζητήστε τα αποτελέσματα. Πως σχετίζεται η συμπεριφορά με αυτή του συνεχούς μοντέλου;

Εργασία 6.2.

Διακριτό SIS μοντέλο
Θέλουμε να μελετήσουμε την περίπτωση εξάπλωσης μιας μορφής της κοινής γρίπης. Θεωρήστε το μοντέλα SIS της μορφής:

St+1 =St-aStIt+γIt
It+1 =It+aStIt-γIt
  • (α)

    Περιγράψτε τη δηλώνει ο κάθε όρος.

  • (β)

    Επιλύστε το σύστημα στον υπολογιστή.

  • (γ)

    Κάνετε τη γραφική παράσταση S(t),I(t), vs. t, για διαφορετικές τιμές των παραμέτρων (σταθερών) του μοντέλου.

Συζητήστε τα αποτελέσματα. Πως σχετίζεται η συμπεριφορά με αυτή του SIR μοντέλου;

Εργασία 6.3.

Κανιβαλισμός
Ο κανιβαλισμός είναι σύνηθες φαινόμενο για μερικά είδη εντόμων και ψαριών. Ένα μοντέλο (Cushing et al., 2001) για ένα είδος σκαθαριών (tribolium) χρησιμοποιεί 3 στάδια ανάπτυξης: L= νύμφη (larvae), P= χρυσαλλίδα (pupae) και A= ενήλικοι (adults) και τις ακόλουθες εξισώσεις:

Lt+1 =fAtexp(-cELLt-cEAAt)
Pt+1 =τLPLt
At+1 =Ptexp(-cPAAt)+τAAAt.

Όλες οι σταθερές είναι ¿ 0 και το μοντέλο δεν λαμβάνει υπόψη ότι ο πληθυσμός περνά και από το στάδιο του αυγού. Μελετήστε το μοντέλο ως εξής:

  • (α)

    Εξηγήστε την βιολογική σημασία κάθε όρου. Αν cEL=cEA=cPA=0 το μοντέλο γίνεται τύπου Usher. Περιγράψτε ποιοτικά τις διαφορές μεταξύ των δύο μοντέλων.

  • (β)

    Επιλύστε το αρχικό σύστημα στον υπολογιστή σε διακριτή μορφή.

  • (γ)

    Κάνετε τη γραφική παράσταση L(t),P(t),A(t),T(T=L+P+A) vs. t, για συγκεκριμένες τιμές των σταθερών: f=7.483,cEL=0.01200,cEA=0.009170,cPA=0.004139,τL,P=0.7330, και διαφορετικές τιμές της σταθεράς τA,A από 0.1 έως 0.9. Ποια είναι η συμπεριφορά των πληθυσμών σε μεγάλους χρόνους;

  • (δ)

    Δοκιμάστε επίσης διαφορετικές τιμές των παραμέτρων (π.χ. f=10.45,cEL=0.01731,cEA=0.01310,cPA=0.35,τL,P=0.8,τA,A=0.04). Συζητήστε τη διαφορά των αποτελεσμάτων.

Εργασία 6.4.

Καθορισμός φύλλου με τη θερμοκρασία (Temperature-Dependent Sex Determination, TSD)
Σε κάποια είδη (π.χ. κροκόδειλος) το φύλο καθορίζεται από τη θερμοκρασία επώασης των αυγών κατά τη διάρκεια της κύησης. Στόχος: Η ανάπτυξη ενός πληθυσμιακού μοντέλου για τη μελέτη του φαινομένου TSD. Θα πρέπει να συμπεριλάβετε τη διαφορετική συμπεριφορά ανάλογα με το φύλλο καθώς και την ηλικία. Βιβλιογραφία: (Murray 1989, Chapter 4). Κατηγοριοποίηση ενός πληθυσμού ανάλογα με κάποιους δείκτες. Τα μοντέλα Leslie-Usher μπορούν να χρησιμοποιηθούν για το σχεδιασμό στρατηγικών ανάπτυξης πληθυσμών οι οποίοι κινδυνεύουν.

Εργασία 6.5.

Μελέτη ανοσοποιητικού συστήματος (immune system)
Στόχος: Η μαθηματική μοντελοποίηση του ανοσοποιητικού συστήματος. Μελετήστε τη βιβλιογραφία και επιλέξτε ένα μοντέλο. Παρουσιάστε το μοντέλο ελέγχοντας ποιοτικά και ποσοτικά τη συμπεριφορά του.

Βιβλιογραφία: (“A basic mathematical model for the immune response” by Mayer et al. in Chaos 5:155-160, 1995; “Modeling Dynamic Aspects of the Immune Response,” in Theoretical Immunology, Vol I by A. Perelson, pp. 167-188.).

6.4.3 Αλγόριθμοι / Κώδικες

Κώδικας MATLAB για το Συνεχές Μοντέλο Lotka-Volterra


% =========================================================================
% Biological_Models_Prey_Predator_Lotka_Volterra.m
%  This is a script-function that simulates the Lotka-Volterra pray-predator model.
%
%  Pray - Predator Biological Models
%
% This m-file describes a prey-predator systems.
% The general form of the system's equations is:
%
%  dN/dt = F(N,P)
%  dP/dt = G(N,P)
%
% =========================================================================
% Different models can be considered with different functional forms for F
% and G.
% Here we consider the following models:
% (a) Lotka-Volterra model
%       dN/dt = N(a-bP)
%       dP/dt = P(cN-d)
%
% Model parameters are a, b, c, d
%
% -- First we draw a phase portrait for the pray-predator model.
%    Results are shown at each time step.
% -- Second, we plot the populations of pray and predator for the time
% period
%
% Equations are solved using a numerical ODE solver.
%
% 04/15
% =========================================================================

function Lotka_Volterra()

% Clears history and command window
close all; clear all;

% -- run parameters
pausetime = 0.1;  % Shows solutions at each time step.
iterations = 1;  % Sets initial interation count to 1;
runtime = 20;    % Duration time of simulation.

% -- Equation parameter values
a = 1.0;
b = 2.0;
c = 2.0;
d = 1.0;

% -- Initial conditions for x and y
initialx = 1.0;
initialy = 1.0;

fprintf('-------------\nLotkaVolterra Predetor Prey model \n\nMatlab code\n----------------------------------')
%fprintf('\n\nParameter values set,')
%fprintf('\n\nalpha = %2.6f \nbeta = %2.6f \ngamma = %2.6f \ndelta = %2.6f ',alpha,beta,gamma,delta)
%fprintf('\n\nTo plot a time series graph for x, set the choice parameter in the code to 1.')
%fprintf('\nSet choice to 2 to plot a time series graph for y.\n\nSimulation will run in ')

% Solves equations using numerical ODE solver 45 (nonstiff runge kutta)
deq1=@(t,x) [x(1)*(a - b*x(2)); x(2)*(c*x(1)-d)];
[t,sol] = ode45(deq1,[0 runtime],[initialx initialy]);

arraysize = size(t);  % Sets time array size for the for loop.

% -- Solutions are plotted at each time step
for i = 1 : max(arraysize)
    plot(sol(iterations,1),sol(iterations,2),'.','color',[rand; rand; rand],'markersize',14,'MarkerFaceColor','b');
    hold on
    title(['Lotka-Volterra Equations       t = ' num2str(t(iterations))],'fontsize',12)
    xlabel('N','fontsize',12)
    ylabel('P','fontsize',12)
    axis([min(sol(:,1)) max(sol(:,1)) min(sol(:,2)) max(sol(:,2))])

    %text(0.1,0.5,'Time Series graph will be shown at the end of the simulation')

    iterations = iterations + 1;   % Adds 1 to the iteration count.
    pause(pausetime)
end

% -- Graph of x and y time series
figure (2);
hold on;
%title(['Lotka-Volterra time series for x and y,  run time = ' num2str(max(t)) ' seconds '],'fontsize',12)
%plot(t(:,1),sol(:,1),'b.','markersize',10)
plot(t(:,1),sol(:,1),'b')
plot(t(:,1),sol(:,2),'r','markersize',10)
%axis([0 max(t(:,1)) 0 max(sol(:,2),sol(:,1))])
%axis([min(t(:,1)) max(t(:,1)) min(sol(:,2)) max(sol(:,2))])
legend('Pray','Predator');
xlabel('Time Steps');
ylabel('Population');
hold off;

Κώδικας MATLAB για το Διακριτό Μοντέλο Lotka–Volterra


function prey_predator()
% =========================================================================
%  Biological_Models_Discrete_Prey_Predator.m
%  This is a script-function that simulates a discrete prey-predator model.
%  Note that an m-file can contain many functions.
%
%  Pray - Predator Biological Models
%
% This m-file describes a prey-predator systems.
% The general form of the system's equations is:
%
%  dN = F(N,P)
%  dP = G(N,P)
%
% Different models can be considered with different functional forms
%
% 04/15
% =========================================================================

% Clears history and command window
close all; clear all;

% number of time steps
N = 150;
% -- const is a struct containing all constants for the model
const.K = 1;
%const.r = 1.3;
%const.s = 0.5;
%const.u = 0.7;
%const.v = 1.6;
const.r = 1.0;
const.s = 0.5;
const.u = 1.5;
const.v = 2.8;

% p: prey
% q: predator
p = zeros(1,N);
q = zeros(1,N);

% initial population
p(1) = 1.0;
q(1) = 0.5;

% find populations at each time step
for i=2:N
    [p(i) q(i)] = F(p(i-1),q(i-1),const);
end

% population vs time plot
figure (1);
%subplot(1,2,1)
plot(1:N,p(:),'r.-',1:N,q(:),'k.-')
legend('prey','predator')
xlabel('Time Steps')
ylabel('Population')

% phase plot
%subplot(1,2,2)
figure (2);
plot(p(:),q(:),'k.-')
xlabel('prey')
ylabel('predator')


%--------------------------------------------------------------------------

function [y1 y2] = F(x1,x2,c)

x1x2 = x1*x2;

y1 = x1 * (1+c.r*(1-x1/c.K)) - c.s * x1x2;
y2 =    (1-c.u)*x2           + c.v * x1x2;