On peut distinguer quatre étapes successives dans la modélisation numérique :
C'est un trou de verdure où chante une rivière et où vivent des lapins et des renards. S'il y a beaucoup de renards, ils déciment les lapins, dont la population chute et les renards meurent de faim. S'il y a peu de renards, les lapins se multiplient (sans commentaire) et fournissent de la nourriture aux renards qui peuvent prospérer. Les deux populations oscillent donc au cours du temps.
Si on veut modéliser cet écosystème, quels sont les choix à faire ?
Les choix dépendront entre autres
Vous aurez noté qu'il n'y a ci-dessus aucune équation : la modélisation mathématique, ça n'est pas que des maths, il faut aussi une bonne connaissance de ce qu'on veut modéliser (et du bon sens).
Il ne s'agissait jusqu'ici que de la première étape : décrire le système réel. On n'a pas fait de maths (même si on a parfois un peu anticipé sur les problèmes futurs qu'on pourrait rencontrer selon les choix qu'on faisait). Quels sont les choix mathématiques à faire ?
Évidemment, en réalité, il n'y a pas de demi-renard ; mais dans le modèle on peut décider de traiter les populations comme des chiffres décimaux. On peut alors dire par exemple que si la population de 923 renards augmente de 10 % ils seront 923 + 92,3 = 1 015,3 (avec des entiers, on en aurait 1 015 ou 1 016, soit un écart d'à peine 0,1 %). Si renards et lapins sont nombreux, ça n'est pas un gros problème. Mais avec, mettons, des éléphants on ne peut pas dire que la population augmente de 10 % par an : une population de 6 éléphants ne peut pas en réalité passer à 6,6 : elle peut seulement ne pas changer ou bien passer à 7 — cet écart de plus de 15 % n'est pas négligeable.
Avec les lapins et les renards, on peut se contenter de connaitre le chiffre de la population totale de l'espèce (ou par sexe). Au plus, on aura une pyramide des âges : le nombre actuel de lapines de 3 mois est le nombre de lapines de 2 mois le mois précédent moins les décès, et le nombre de nouveau-nés est la somme des naissances (connue si on a un taux de natalité en fonction de l'âge, vu qu'on connait la distribution des âges). Mais avec des animaux moins nombreux, ayant une gestation longue et un seul petit à la fois avec des années entre deux naissances (comme les éléphants), on essaiera d'avoir plus d'infos individu par individu.1 (Et dans ce cas, la question des populations non-entières ne se pose même pas.)
Fait-on un modèle déterministe ou probabiliste (stochastique) ? Par exemple, est-ce que la population des renards augmente d'exactement 10 % par an ou bien de 10 % seulement en moyenne ? Avec les éléphants, un modèle probabiliste est plus adapté2 et on peut plus facilement moduler la probabilité de maternité ou de décès vu qu'on a des données individuelles.
On remarque au passage que ces choix ne se font pas isolément : il y a des choix compatibles et d'autres pas. Avec trois critères de choix on peut se retrouver avec seulement deux modèles possibles, si le choix fait sur un critère impose les autres. Avec les éléphants, on aurait certainement des données par individu (et donc un nombre entier d'animaux), et le modèle serait sans doute stochastique. Pour les lapins et renards, on n'aurait pas d'informations individualisées, le nombre d'animaux pourrait être décimal et le modèle pourrait être déterministe.
Le résultat du modèle numérique (étape 4) est rarement parfait : il y a certaines choses que le modèle fait bien, et d'autres où il est moins bon. On reprend donc les trois étapes précédentes pour chercher comment améliorer le modèle : on passe à l'itération suivante, au modèle 2.0. Une fois qu'on a fini, on apporte des améliorations, on ajoute des détails qu'on avait ignorés la première fois, etc.
Le côté séquentiel est trompeur aussi parce qu'on ne fait pas les étapes, indépendamment, l'une après l'autre. Il faut anticiper les conséquences de nos décisions et organiser notre travail.
On pense déjà à l'étape suivante. Par exemple, lors de l'étape de modélisation, on a l'étape de mathématisation en tête : 'si je tiens compte de ce phénomène les équations seront beaucoup plus compliquées (peut-être insolubles)'.
On revient parfois en arrière. Dans l'exemple, quand est venu le moment d'implémenter le modèle numérique (étapes 2–3), on s'est rendu compte qu'il y avait un choix à faire entre modèles avec et sans informations sur les individus. On revient alors à l'étape 1 et on se demande ce qui est le plus pertinent. On fait ainsi des choix différents pour les lapins et les éléphants (ce à quoi on n'avait pas forcément pensé au départ).
On pense au cycle suivant : qu'est-ce qu'on va inclure dans la première version, et qu'est-ce qui attendra la suivante ? On hiérarchise les paramètres et les mécanismes : ce dont on a besoin immédiatement et ce qui peut attendre, ce qu'on sait résoudre et ce qui posera plus de problèmes.
Et simplifier signifie ne pas représenter fidèlement la réalité. Une blague connue (des gens qui la connaissent du moins) se moque ainsi des physiciens qui ont tendance à considérer que les vaches sont sphériques. Un tel modèle ne sera peut-être pas très utile à un vétérinaire, mais si le physique de la vache n'est pas pertinent alors mieux vaut ne pas s'en encombrer.
On ne sait pas toujours au départ ce qui est pertinent ou pas. En fait, un des buts peut être justement d'établir une hiérarchie entre les critères importants et les critères secondaires. Deux modèles hiérarchisant différemment donneront sans doute deux résultats différents (et auront probablement des forces et faiblesses différentes).
Il est souvent préférable de commencer par un modèle simpliste. D'une part parce que la loi fondamentale de la modélisation mathématique est qu'un modèle simpliste marche en général pas si mal que ça (c'est donc une sorte d'anti Murphy). D'autre part, parce qu'avec un modèle simple on peut obtenir des résultats rapidement et donc voir quelles sont les faiblesses du modèle. Sinon il faut essayer d'améliorer un modèle numérique sans savoir quels aspects en ont vraiment besoin.
Un simple système linéaire de deux équations à deux inconnues se résout au collège. Si on l'étend à mille équations et mille inconnues, la méthode de résolution ne change pas (même s'il vaut mieux avoir un ordinateur, ou beaucoup de stagiaires, pour faire le calcul). En revanche si on veut améliorer un peu le modèle en transformant y = 2 x − 5 en y = 2 x − 5 + ε x2 (où ε est une petite correction) alors tout s'effondre : on n'est plus sûrs qu'il y ait une solution, on n'est plus sûrs que cette solution soit unique, etc.
Un petit changement peut donc faire plus de différence que de multiplier par 500 le nombre d'équations et de variables. Sans comprendre le modèle (et surtout comment les équations sont résolues ou simulées), il n'est pas possible de savoir ce qui est facile, possible, difficile, impossible. Une petite modification peut parfois imposer d'utiliser une méthode complètement différente. Donc un mathématicien vous dit que ça double le coût (si vous demandez assez tôt) ou que c'est trop tard parce que ça imposerait de tout reprendre à zéro (si vous demandez à la fin), et vous pensez qu'il se moque de vous.
Il faut donc savoir le plus tôt possible ce qu'on voudra faire plus tard. Au départ, on peut avoir le choix entre plusieurs techniques, avec chacune ses avantages et inconvénients. On va opter dès le début pour celle qui sera le plus adaptée au final. Les choix qu'on fait pour la première version du modèle peuvent donc dépendre des besoins qu'on entrevoit déjà pour la quatrième version.
1 : Pour les informaticiens : on aurait une classe Elephant avec une instance par individu, indiquant le sexe, l'âge, si telle femelle est enceinte et depuis combien de temps, etc. ; alors qu'avec les renards et les lapins on n'aurait pas une variable par animal mais seulement des tableaux pour les pyramides des âges de la population elle-même.
2 : Notamment parce que le modèle déterministe utilise implicitement la loi des grands nombres (c'est-à-dire l'équivalence entre probabilité et proportion).