phd-thesis-fr/partie-multi-modele.tex

3293 lines
168 KiB
TeX
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\chapter{Modèles et modélisation multi-niveau}\label{chap:partie-multi-modele}
\minitoc
\section{Introduction}
Dans ce chapitre, nous nous intéressons au développement d'un cadre formel pour
la spécification de \emph{modélisations multi-niveau}.
%%
Ce type de modélisation est souvent rencontrée dans les approches intégratives
des \emph{systèmes complexes}, dans de nombreuses disciplines:
%%
\begin{itemize}
\item pour le couplage de modèles pour la description d'une cellule entière
(en biologie) ou la description d'un système de villes (en géographie);
\item pour le raffinement de modèles par la transformation de modèles (en
ingénierie des modèles) ou le raffinement de données et de processus (en
biologie);
\item pour la complexification de modèles dans les Cellular Non-linear Networks
(\cnn, en électronique), ou dans les Memory Evolutive Neural Systems (\mens,
en mathématiques), ces deux exemples étant présentés dans la section suivante.
\end{itemize}
%%
Notre objectif n'est évidemment pas de répondre à ces questions mais d'apporter
un cadre de description commun, adapté et opérationnel (au sens où l'effectivité
d'un couplage pourrait être démontrée) pour les formaliser.
Ce chapitre est consacré au rapport entre modèles et modélisation multi-niveau.
Il nous paraît important d'aborder la question de la modélisation multi-niveau
d'abord dans sa généralité, plutôt que le cas particulier que constitue le champ
d'une discipline, tel que la biologie, la physique, l'écologie, ou un objet
d'étude comme la dynamique des populations, la cellule, les feux de forêts,
etc. Même si ces cas particuliers présentent un intérêt pratique et permettent
de valider une démarche ou répondre à une question immédiate, ils pourraient se
trouver limités par les habitudes et les usages liés à la discipline dont ils
sont issue.
%
L'objet de notre étude est donc de décrire l'étape franchie lors d'un changement
de niveau de description. Nous partirons donc d'une définition très générale des
modèles qui sera raffinée pour correspondre à des modèles existants et
mettre en lumière les différences et similarités entre ces formalismes.
%
Nous nous intéressons exclusivement aux modèles formels, c'est-à-dire des
modèles donnés sous la forme d'une définition utilisant le langage des
mathématiques et pouvant potentiellement être calculés par un programme
informatique. Dans la suite de ce document, sauf exception, nous emploierons le
terme «modèle» pour désigner un modèle formel.
Nous remarquons tout d'abord que déterminer des relations entre plusieurs
modèles est possible d'autant plus aisément que ces modèles évoluent dans la
même «classe», celle des modèles d'un même système, et qu'ils sont rédigés dans
un formalisme commun. Par exemple, nous avons agencé les différents modèles
de la dynamique temporelle du potentiel de la membrane neuronale en terme de
«finesse» de description dans la \textsc{Fig.}~\ref{fig:neuron-models-relation};
ces modèles sont tous décrits à l'aide d'équations différentielles ordinaires,
déterministes, et décrivent des dynamiques dans le domaine continu.
\begin{figure}[ht]
\centering
\begin{tikzpicture}[auto,%
arc/.style={-stealth, shorten >=2pt, semithick},
model/.style={draw, rounded corners=2pt}]
\node[model] (HH) at (0,0) {Hodgkin-Huxley};
\node[model] (IF) [above left=25pt and -20pt of HH] {Integrate-and-Fire};
\node[model] (H) [above=of IF] {Hopfield};
\node[model] (ML) [above right=28pt and -20pt of HH] {Morris-Lecar};
\node[model] (CWM) [below left=of HH] {CWM};
\node[model] (C85) [below=of HH] {Chay '85};
\node[model] (C90) [below right=of HH] {Chay '90};
\node[model] (FN) [right=of ML] {FitzHugh-Nagumo};
\node[model] (VDP) [above=of FN] {Van-Der-Pol};
\node[model] (RH) [below=of FN] {Hindmarsh-Rose};
\node[model] (G) [left=of IF] {Golovasch};
\node[model] (GGG) [above=of G] {GGG};
\node[model] (WC) [below=of G] {Wilson-Cowan};
\node[model] (SLOM) [below=of WC] {SLOM};
\draw[arc] (H) to node {\cite{abbott_model_1990}} (IF);
\draw[arc] (IF) to node[swap,pos=0.3] {\cite{abbott_model_1990,burkitt_review_2006}} (HH);
\draw[arc] (ML) to node[pos=0.3] {\cite{morris_voltage_1981}} (HH);
\draw[arc] (FN) to node {\cite{hindmarsh_model_1984}} (RH);
\draw[arc] (VDP) to node {\cite{fitzhugh_impulses_1961}} (FN);
\draw[arc] (WC) to node {\cite{stein_improved_1974}} (SLOM);
% Just looking at the equations and because in Stein
% they "follow Cowan's suggested formulation"
\draw[arc] (HH) to node[swap] {\cite{abarbanel_synchronisation_1996}} (CWM);
\draw[arc] (HH) to node {\cite{abarbanel_synchronisation_1996}} (C85);
\draw[arc] (HH) to node {\cite{abarbanel_synchronisation_1996}} (C90);
\draw[arc] (GGG) to node {\cite{golomb_reduction_1993}} (G);
\end{tikzpicture}
\caption{Revue de quelques modèles de neurones. Nous avons fait pointer
informellement les flèches vers les modèles ayant un «niveau de détail» plus
grand.}
\label{fig:neuron-models-relation}
\end{figure}
Plusieurs champs de recherche s'intéressent aux relations entre modèles, chacun
ayant sa portée et ses limites. Nous donnons, dans la section suivante, une
courte présentation de quelques uns de ces domaines, ainsi qu'un bref aperçu des
résultats qu'ils apportent.
\FloatBarrier
\section{Modélisation multi-niveau}\label{sec:multiniveau}
%%
La \emph{modélisation multi-niveau} est un terme que nous avons adopté pour
rendre compte des techniques de modélisation couplant plusieurs modèles pour
décrire un système. Dans ce contexte, un modèle propose d'observer le système
étudié à travers le prisme d'un point de vue particulier, appelé \emph{niveau de
description}. La notion de \emph{niveau} met ici l'accent sur le fait que chaque
modèle peut ne s'intéresser qu'à une sous-partie du système (peu importe ce que
l'on entend par sous-partie ici) et propose donc une description incomplète du
système. C'est par le couplage entre les modèles que ces \emph{descriptions}
complémentaires se complètent mutuellement, pour finalement obtenir une
description plus pertinente du système dans son ensemble.
%%
Ainsi, la modélisation multi-niveau met en avant une méthodologie générique
pour l'élaboration d'un modèle par composition (d'autres modèles). Dans
cette section, nous nous intéressons à différents exemples de composition de
modèles pour en analyser les difficultés. Nous en concluons que la notion
d'\emph{identité} est au cœur de la modélisation multi-niveau.
\subsection{Couplage de modèle}
%%
Dans cette section nous nous intéressons à deux exemples types de couplages de
modèles.
%%
Le premier exemple concerne la \emph{modélisation intégrative} du phénotype
d'une cellule biologique entière à partir des modélisations des différents
mécanismes moléculaires qui la composent.
%%
Le second exemple s'intéresse à la \emph{morphogénèse} d'une communauté de
villes à partir de modélisations orientées quartier.
%%
Dans ces deux exemples, des modèles élémentaires sont utilisés pour en conjuguer
les points de vue et obtenir une description plus complète du système. Dans les
deux cas également, un changement d'échelle s'opère, entre les considérations
micro(scopiques) des modèles élémentaires, et le niveau macro(scopique) du
système étudié.
\subsubsection{Modélisation intégrative d'une cellule entière}
%%
En modélisation, l'approche \emph{intégrative} consiste à construire des modèles
en cherchant à expliquer \emph{simultanément} plusieurs phénomènes, permettant
de révéler des dynamiques n'apparaissant pas dans des approches indépendantes.
%%
Ces modèles sont construits par l'accumulation de modèles préexistants jugés
valides et par l'établissement d'un réseau de communication entre ces modèles,
voire la conception d'adaptateurs permettant de «traduire» la sortie d'un modèle
en l'entrée d'un autre.
%%
Cette approche est particulièrement développée dans le monde de la recherche
sur le vivant~\cite{grace_integrative_2016}, et permet des échanges prolifiques
entre les nombreuses disciplines de la biologie (généticiens, physiologistes,
comportementalistes, paléontologistes, écologistes, etc.) et donc entre les
nombreuses perspectives d'un même système qu'il est possible de récolter.
De nombreux projets utilisent cette approche pour comprendre le fonctionnement
d'un organisme biologique complet, comme par exemple une cellule. À titre
d'exemple, un modèle computationel d'une cellule entière de \emph{Mycoplasma
genitalium} est proposé dans~\cite{karr_whole-cell_2012-1}. Ce modèle donne
l'expression complète du phénotype de la cellule à partir de son génome en
formulant des hypothèses sur de nouveaux mécanismes biologiques.
%%
L'approche de ce projet passe par le concept de \emph{modularité biologique} qui
permet de déterminer une liste d'observables du système dont les valeurs
correspondent à des états de la cellule. Plusieurs modèles permettent
d'expliquer séparément comment certaines observables sont liées entre elles. Une
fois ces modules établis, les modèles sont assemblés en suivant les relations
entre les observables, puis ajustés pour respecter les contraintes physiques et
biologiques du système dans son ensemble.
Les solutions élaborées durant ce type de projet sont pour le moment \emph{ad
hoc} et la recherche de méthodes génériques pour rendre cette approche
utilisable pour la description d'autres systèmes biologiques est en cours.
%%
Le projet précédent a par exemple mis en lumière, dans une seconde
publication~\cite{macklin_future_2014}, une liste de sept limites à dépasser
pour généraliser leur approche intégrative à d'autres organismes. Parmi ces
points, les suivants, attireront plus particulièrement notre attention car ils
évoquent les limites des outils pour la modélisation intégrative:%
\begin{description}
\item[Agrégation des données] L'acquisition des données disponibles
dans la littérature a été compliquée par l'absence d'une source \emph{unifiée}
permettant de compiler l'ensemble des connaissances sur un sujet en
particulier, dans ce cas sur l'organisme étudié. La modélisation d'une
cellule entière bénéficierait grandement d'outils permettant d'agréger et de
\emph{normaliser} toutes les données nécessaires à la calibration des modèles;
\item[Construction et intégration de modèles] Un facteur limitant a
été la disparité des types de modèles décrivant à différentes échelles
d'espace et de temps l'organisme. Unifier la modélisation intégrative
passerait donc par une \emph{généralisation} du concept de modèle à travers
un cadre mathématique commun à l'ensemble de la modélisation. Comprendre et
\emph{analyser} les relations entre modèles dépend de l'existence ce cadre
commun;
\item[Calcul accéléré] La simulation numérique est un outil clef de la
réussite de ce projet. Chaque simulation de \emph{Mycoplasma genitalium} a été
très consommatrice en temps de calcul, ce qui est un facteur limitant pour la
réussite des projets futurs. Élaborer des modèles d'organismes plus complexes
dépendra donc fortement de la capacité des simulateurs à explorer une large
portion de l'espace des paramètres dans un temps plus restreint. Le calcul
général sur carte graphique, via un framework tel que CUDA ou OpenCL, est une
piste à explorer pour améliorer l'efficacité des simulateurs;
\end{description}
\subsubsection{Modélisation multi-échelle de la croissance des villes}
Les modèles à base d'agents sont souvent utilisés en géographie pour rendre
compte des dynamiques observables sur une carte: le système est étudié
à travers des effets de masse observés dans les populations d'agents.
Le projet
SimPop~\cite{pumain_simpop:_1995}\footnote{\url{http://www.simpop.parisgeo.cnrs.
fr}}, illustre cette approche dès 1996 avec une collaboration entre géographes
et informaticiens aboutissant à Simpop1, le premier modèle géographique à base
d'agents s'intéressant à la construction de réseaux de villes et à la transition
urbaine.
%%
En 2006, l'évolution à la fois de la puissance de calcul des machines et de
l'expressivité des langages de programmation, permet le développement d'une
version améliorée, Simpop2~\cite{bretagnolle_theory_2006}. Ce nouveau simulateur
prend en compte de nombreuses \emph{fonctions urbaines} de différents types,
résidentielles, politiques, économiques, culturelles, liées au transport et
aux communications, sociales, etc. Le support de modélisation est un graphe
dynamique dont les nœuds sont les villes et dont l'évolution repose sur 4
grandes étapes, à savoir la constitution d'un réseau d'échanges, d'un marché
d'échanges, d'un équilibrage de ces échanges et l'évaluation des changements.
Le projet SimPop propose également d'autres modèles, tel que SimpopNano qui
prend le contre-pied des plateformes précédentes en se concentrant non seulement
sur les relations inter-urbaines mais intra-urbaines: les villes qui étaient
les agents deviennent les objets d'étude décrits comme des agrégations de
quartiers.
%%
SimpopNano s'intéresse en effet à l'évolution d'une ville, vue comme un graphe
statique dont les nœuds en sont les quartiers et où la dynamique est donnée à
travers neuf règles d'évolution locale, chacune correspondant à une fonction
urbaine.
Le couplage entre Simpop2 et SimpopNano est un des enjeux du projet SimPop.
Simpop3, proposé dans~\cite{louail_comparer_2010}, est un simulateur de la
dynamique des villes répondant à cette problématique.
%%
Le couplage entre ces deux modèles est \emph{vertical} : il assemble trois
échelons d'une échelle d'espace géographique, à savoir quartier, ville et
système de villes, et exprime l'interdépendance entre les deux modèles:%
\begin{itemize}
\item le système de villes contraint la dynamique au niveau ville du système ;
\item rétroactivement, l'activité intra-urbaine influence les entrées du modèle
inter-urbain.
\end{itemize}
%%
La ville est donc le point d'articulation entre les deux modèles et constitue un
niveau de représentation intermédiaire, \emph{mésoscopique}. Le point essentiel
consiste à \emph{identifier} les agrégats de quartiers de SimpopNano et les
agents-villes de Simpop2. Nous reviendrons en fin de section sur cette notion
d'identité.
En terme de dynamique, dans SimpopNano, les villes sont construites à partir
des quartiers et sont mises à jour à chaque pas de la simulation. Dans Simpop2,
les agents-villes sont à l'origine de la dynamique d'un système de villes. Le
couplage se fait simplement car la concurrence sur la ressource agent-ville
n'est pas prise en compte, ce qui autorise une indépendance entre les modèles.
Ainsi, au cours d'une simulation de Simpop3, les deux sous-modèles sont juste
appelés alternativement.
\subsection{Transformation de modèles}\label{sec:modeltrans}
Dans la section précédente, la modélisation multi-niveau était synonyme de
modélisation multi-échelle, avec un rapport entre un niveau macro et un niveau
micro.
%%
Dans cette section, les modèles entretiennent un rapport différent: les modèles
décrivent les mêmes objets, mais le niveau de granularité entre ces descriptions
varie.
%%
L'opération fondamentale de ces approches est le passage d'un niveau de
granularité à un autre niveau de granularité par une \emph{transformation de
modèles}. Les deux paragraphes suivants illustrent cette approche.
\subsubsection{Ingénierie des modèles}
Dans le domaine de l'informatique et de la conception logicielle,
l'\emph{ingénierie des modèles} (\emph{model-driven engineering}
en anglais) est une méthodologie de développement se concentrant sur la partie
métier du logiciel, c'est-à-dire ce qui dans un logiciel fait abstraction de
l'implémentation. L'objectif de cette discipline est l'automatisation de la
conception logicielle à partir d'une représentation abstraite pouvant ensuite
être \emph{transformée} en des représentations de plus en plus concrètes
jusqu'au logiciel final. L'ingénierie des modèles part du principe qu'un
domaine d'application est plus fortement dépendant d'une représentation
abstraite des connaissances et des activités liées à ce domaine, que des
concepts algorithmiques et des techniques nécessaires à la mise en œuvre d'une
implémentation. Par exemple, pour un problème donné, il existe plusieurs
logiciels répondant à ce problème, implémentés de façons différentes: il existe
bien \emph{quelque chose} d'unique et de plus abstrait qu'un logiciel qui est
propre à la fois au problème et à la solution.
Considérant les modèles comme des objets de première classe, l'ingénierie des
modèles cherche à développer, maintenir et faire évoluer un logiciel au moyen
de \emph{transformations} : des fonctions d'ordre supérieur prenant des modèles
en argument. Ces fonctions sont implémentables et exécutables afin que les
transformations de modèles soient des procédures automatiques.
%%
Ce type de procédure est fréquent en informatique. La compilation est un exemple
historique de transformation de modèles, où l'on entend ici les langages de
programmation comme des « modèles de code source »: compiler consiste à définir
des transformations de code source à code source. Le langage diagrammatique
d'\emph{Unified Modeling Language} (UML~\cite{UML}), qui permet d'exprimer
des modèles de conception, est un candidat classique à la transformation de
modèles. Dans ce contexte, les transformations se présentent comme des règles
de réécriture de graphe (voir~\cite{taentzer_model_2005} pour une étude sur les
transformations de graphes appliquées aux transformations de modèles).
Pour notre approche multi-niveau, l'ingénierie des modèles nous apporte deux
éléments importants.
%%
Le premier élément provient de la définition même de modèle, qui y est vu
comme la description d'un système spécifiée dans un \emph{langage bien
défini}~\cite{kleppe_mda_2003}. Le langage de description est si important
qu'il est souvent lui-même décrit comme un modèle; on parlera alors de
\emph{méta-modèle}. On rapprochera ce langage de description de la notion de
\emph{formalisme}.
%%
Le second élément provient des transformations de modèles dont une taxonomie est
donnée dans~\cite{mens_taxonomy_2006}.
On retiendra notamment les catégories suivantes:
%
\begin{description}
\item[Transformation endogène \emph{vs.} transformation exogène:] une
transformation est exogène lorsque le langage de description du modèle cible est
différent du modèle de description du langage source.
\item[Transformation horizontale \emph{vs.} transformation verticale:] nous
retrouvons ici la notion de granularité mentionnée plus haut; lors d'une
transformation verticale le niveau d'abstraction entre le modèle source et le
modèle cible est modifié. La notion d'abstraction jouera un rôle important dans
notre proposition.
\end{description}
%
\subsubsection{Raffinement de modèles}\label{sec:raffinement}
Bien que la description précédente de l'ingénierie des modèles soit orientée
informatique, les mêmes considérations se retrouvent dans d'autres disciplines.
%%
Par exemple, une méthodologie classique de la modélisation à base d'équations
différentielles de systèmes (bio)chimiques consiste à élaborer un modèle simple
à partir d'un ensemble initial d'espèces et de réactions, puis de l'enrichir
soit avec de nouvelles espèces (on parlera de \emph{raffinement des données}),
soit avec de nouvelles réactions (on parlera de \emph{raffinement des
processus}).
%%
À chaque itération, un nouveau modèle est établi puis ajusté pour prendre en
compte les observations du système.
%%
Le processus de raffinement à l'œuvre génère ainsi une suite de modèles ordonnés
du moins détaillé au plus détaillé.
%%
La preuve de raffinement entre deux modèles peut se faire de façon classique ou
bien via un outil spécialisé comme le langage Z~\cite{stepney_more_1998}.
Une des difficultés du raffinement de modèles se situe dans l'ajustement
des modèles construits. Une méthode systématique a été développée pour
dériver à partir d'un modèle établi et préalablement ajusté, un modèle
raffiné préservant l'ajustement. Cette méthode ne se limite pas aux
systèmes d'équations différentielles mais couvre également le champ des
réseaux de Petri, des systèmes réactifs et des langages à commandes
gardées~\cite{gratie_quantitative_2013}.
\subsection{Complexification}\label{sec:complexification}
La modélisation des systèmes complexes constitue l'un des enjeux
principaux de l'approche multi-niveau que nous souhaitons développer.
L'Institut des Systèmes Complexes (\ISC), une structure française
pluridisciplinaire de recherche spécialisée sur le sujet, en donne,
dans sa proposition de DIM «Approches interdisciplinaires des systèmes
complexes»\footnote{Document disponible en ligne à l'adresse \url{
https://iscpif.fr/wp-content/uploads/2016/09/PreProjetDim2017.pdf}}, la
définition suivante:
\begin{quote}
Les systèmes complexes sont des systèmes présentant un grand nombre dentités
différenciées, dont la multitude des interactions locales conduisent à
lémergence de propriétés globales difficilement prédictible par la seule
connaissance des propriétés de ces entités. Le niveau local fait ainsi émerger
des formes organisées au niveau global, lequel influence en retour le niveau
local (immergence). Interactions locales et structures globales peuvent ainsi
se conjuguer dans la description des dynamiques des systèmes complexes.
\end{quote}
%
Cette définition n'est pas sans rappeler les exemples de couplage de modèles que
nous avons vu plus haut, qui entrent en effet dans le cadre des systèmes
complexes.
Dans cette section, notre intérêt ne se portera pas sur la modélisation des
systèmes complexes dans toute sa généralité, mais plus particulièrement sur le
concept de \emph{complexification}, c'est-à-dire sur la façon de capturer dans
ces modèles les «phénomènes émergents» et sur comment les réifier au niveau
local afin qu'ils deviennent des acteurs de leur propre dynamique.
%%
Nous présentons pour cela la complexité à travers 3 points de vue théoriques.
%%
Le premier exemple montre la difficulté d'appréhender la complexité à cause d'un
manque de vocabulaire au niveau bas de description.
%%
Le deuxième exemple attribue la complexité à une cause énergétique par le
phénomène d'\emph{activité locale}.
%%
Finalement, dans un dernier exemple, le processus de complexification est
analysé d'un point de vue structurel par l'établissement d'un modèle formel
connexionniste.
\subsubsection{Raffinement et émergence}
En 2005, F. Polack et S. Stepney~\cite{polack_emergent_2005} présentent une
approche de la complexité en rapport avec le raffinement de modèles, que nous
avons présenté dans la section~\ref{sec:raffinement}. L'idée centrale de leur
approche est qu'une propriété d'un modèle est émergente s'il n'est pas possible
de l'obtenir par un raffinement naïf, c'est à dire par une unique relation de
raffinement. Dans cet article, les auteurs prennent pour exemple le raffinement
d'une propriété considéré comme émergente, volontairement simple et observable
dans le fonctionnement d'un automate cellulaire en deux dimensions, pour
mettre en évidence les difficultés que posent le raffinement d'un comportement
émergent.
%%
Nous présentons la démarche de raffinement simplifiée pour lier une propriété
donnée au composants bas niveau d'un système formel, dans notre cas ce système
est un automate cellulaire en deux dimensions muni des lois d'évolution du «jeu
de la vie». Elle repose habituellement sur les 3 étapes suivantes:
\begin{enumerate}
\item Exprimer la propriété dans un formalisme;
\item Exprimer l'automate cellulaire dans un formalisme (potentiellement
différent du précédent);
\item Exprimer la relation entre les deux formalismes, prouvant ainsi que la
propriété est exprimable dans le contexte des automates cellulaires.
\end{enumerate}
%%
Posséder un \emph{glider}~\cite{gardner_mathematical_1970} est une propriété
connue pour être émergente, aussi il serait intéressant de déterminer
comment la raffiner. Elle est initialement spécifiée informellement par:
\begin{quote}
Le système doit présenter une région, traversée par un motif répété, appelé
«glider». Lorsque deux gliders se rencontrent, il en résulte un unique glider
qui se déplace dans la direction d'un des deux gliders incidents.
\end{quote}
%%
Cette propriété est précise, cependant elle reste non déterministe. Tentons
de la raffiner: nous prendrons naturellement les automates cellulaires comme
support cible, car notre objectif est d'identifier les composants bas niveau
responsables de ce comportement.
%%
Un glider se définit par la fenêtre qu'il traverse et un vecteur de déplacement.
Il est aussi nécessaire de décrire la collision de deux gliders et le résultat
de cette collision. Pour spécifier un automate cellulaire, nous formalisons
d'abord sa cellule, son état, sa fonction de transition et son voisinage.
Ensuite, nous choisissons une représentation formelle d'une collection de
ses cellules et de l'application synchrone des fonctions de transitions,
habituellement appelées fonctions de transition locales (pour une définition
complète, voir page \pageref{def:ca}).
Pour poursuivre la procédure, une sous-division discrète de la fenêtre traversée
par le glider est introduite, par exemple sous la forme d'une grille $4 \times
4$. Le premier problème qui se pose est que le raffinement de la spécification
informelle est plus précise que la spécification originale, ce qui est voulu,
mais également plus précise que la représentation ciblée. Dans le cas d'un
raffinement classique, au contraire, le raffinement d'une propriété de haut
niveau amène à un niveau d'abstraction intermédiaire, c'est-à-dire entre la
spécification d'origine et la spécification cible.
%
\begin{figure}[t]
\centering
\includegraphics[page=1,height=2cm]{ca-glider}
\includegraphics[page=2,height=2cm]{ca-glider}
\includegraphics[page=3,height=2cm]{ca-glider}
\includegraphics[page=4,height=2cm]{ca-glider}
\includegraphics[page=5,height=2cm]{ca-glider}
\caption{Les cinq configurations possibles d'un glider contenues dans une
fenêtre de $4 \times 4$ cellules.}
\label{fig:ca-glider}
\end{figure}
%
Lors de la mise en œuvre du raffinement des \emph{données} de la spécification
d'un glider, à savoir «fenêtre» et «glider», il apparaît qu'il n'est pas
possible de décrire un glider par un unique état spatial: un glider est en
fait constitué d'une succession des cinq configurations présentées dans la
\textsc{Fig.}~\ref{fig:ca-glider}. De plus, la configuration initiale de
l'automate est importante: elle doit exactement correspondre à une de ces cinq
configurations possibles.
%%
Ensuite, lors de la spécification des \emph{opérations} du glider, à savoir
«déplacement», «collision» et «résolution», il est déjà difficile d'exprimer ces
opérations sur une grille. Pour le déplacement par exemple, la fenêtre pourrait
se déplacer sur une grille extérieure, dans une direction une fois tous les
quatre pas des états du glider \emph{dans la fenêtre}, ne pas bouger ou bien
faire un pas dans la direction orthogonale. Les opérations de collision et de
résolution sont tout aussi difficiles à décrire.
Nous constatons qu'il est difficile d'exprimer la relation de raffinement de la
propriété «posséder un glider» dans des termes propres aux automates cellulaires
en deux dimension en une étape. De plus, cette relation ne sera manifestement
pas unique.
%%
Les difficultés à rendre concrète une propriété témoigne de son caractère
émergent: elle est observable mais n'est pas concrètement implémentée dans le
système. L'idée centrale de~\cite{polack_emergent_2005} est la suivante: il
existe une incompatibilité entre les langages de description qui (1) rend la
spécification concrète des gliders difficiles et (2) empêche toute élaboration
directe d'une preuve de raffinement avec le vocabulaire des automates. Cette
caractéristique est propre aux systèmes possédant des propriétés émergentes.
\subsubsection{Complexification dans les \cnn}
L. Chua a introduit en 1998 le concept d'\emph{activité locale} (\emph{local
activity})~\cite{mainzer_local_2013}. Ce concept est décrit comme le maillon
manquant permettant d'expliquer l'apparition de motifs complexes dans un médium
homogène.
%%
L'activité locale, définie initialement dans le cadre des circuits
électroniques~\cite{chua_cnn:_1997}, caractérise la propriété
d'auto-organisation, c'est à dire la capacité d'un système à posséder une
dynamique qui lui est propre, à travers une construction mathématique explicite.
La définition a été par la suite généralisée à la classe plus larges des
systèmes de réaction-diffusion non linéaires utilisés en physique, en chimie, en
biologie et dans le cadre de la recherche sur le cerveau.
%%
L'activité locale permet d'expliquer la brisure de symétrie dans un médium
homogène. Dans les paragraphes suivants, nous présentons de manière succincte
quelques définitions proposées par les auteurs pour l'activité locale, la
complexité et le seuil du chaos (\emph{edge of chaos}).
\begin{figure}[ht]
\centering
\includegraphics[page=1,width=.48\textwidth]{cnn-synapses}\hfill
\includegraphics[page=2,width=.48\textwidth]{cnn-synapses}
\caption[Schéma des synapses des cellules d'un CNN]{Connexion des synapses
pour le signal de contrôle (à gauche) et pour le signal de rétroaction (à
droite) pour la cellule au centre, entourée de huit voisines (cette
illustration est inspirée de~\cite{chua_cnn:_1997})}
\label{fig:cnn-synapses}
\end{figure}
L'activité locale est à l'origine définie dans le cadre des réseaux non
linéaires de cellules (\cnn pour \emph{Cellular Non-linear Networks}).
Un \cnn est un modèle formel constitué d'une grille orthogonale en trois
dimensions sur les nœuds de laquelle est disposée une collection de systèmes
dynamiques continus et non linéaires. Chaque cellule isolée d'un \cnn est
décrite par quatre paramètres: son entrée, son état, son seuil et sa sortie.
Les cellules du \cnn sont alors couplées à leurs voisines inclues dans
une sphère d'influence prédéfinie avec un certain rayon. Pour une cellule
donnée, son entrée est la somme pondérée des sorties de ses voisines (signal
de rétroaction) \emph{et} la somme pondérée des entrées de ses voisines
(signal de contrôle). Une représentation graphique est donnée dans la
\textsc{Fig.}~\ref{fig:cnn-synapses}.
L'état d'une cellule est définie par un système d'équations de
réaction-diffusion. Il est notamment caractérisé par deux variables
vectorielles\footnote{Nous utilisons ici les notations
de~\cite{mainzer_local_2013}.}:
\begin{itemize}
\item $\mathbf{V}_a$, une fonction continue du temps, homogène à une tension et
représentant l'état interne de la cellule;
\item $\mathbf{I}_a$, une fonction continue du temps, homogène à une intensité
et représentant l'entrée de la cellule.
\end{itemize}
%%
L'activité locale s'intéresse aux fluctuations d'énergie induites par
des variations de l'entrée d'une cellule initialement placée en un point
d'équilibre.
En notant $\mathbf{v}_a$ et $\mathbf{i}_a$ les variations respectives de
$\mathbf{V}_a$ et $\mathbf{I}_a$, la fluctuation d'énergie entre l'instant
initial et un instant $T < \infty$, est donnée par:
\begin{equation}
w(T) = \int_0^T \mathbf{v}_a(t).\mathbf{i}_a(t).dt
\end{equation}
%%
On dira qu'une cellule est \emph{localement active} à l'instant $T$ si et
seulement si $w(T) < 0$. En effet, en supposant nulle l'énergie de la cellule à
$t=0$, une énergie stockée strictement négative à $t=T$ signifie que la cellule
a \emph{apporté} de l'énergie au système. Une cellule active agit comme une
source de puissance en amplifiant un signal faible.
%%
Par exemple, un transistor muni d'une batterie dans un circuit, ou bien un
neurone muni d'une réserve de glucose dans un réseau, sont des éléments actifs;
batterie et glucose jouent le rôle d'une réserve d'énergie disponible que la
cellule peut utiliser ou distribuer.
La complexité est finalement caractérisée comme la présence d'un motif (statique
et non homogène, ou spatio-temporel) dans un médium (discret ou continu)
constitué de cellules identiques interagissant avec leurs cellules voisines
(sphère d'influence), obéissant aux mêmes lois d'interaction, et avec des
conditions initiales et de bord homogènes. On peut alors montrer qu'un médium
de \emph{réaction-diffusion} présente de la complexité si, et seulement si, il
existe des cellules localement actives dans ce médium.
Bien qu'aucun vocabulaire ne soit disponible au niveau des cellules pour en
parler directement, ce travail montre comment des motifs peuvent être
représentés par l'ensemble des cellules localement actives. Il s'agit bien là
d'un exemple de complexification à rapprocher fortement des considérations
développées dans le chapitre~\ref{chap:partie-activite} sur l'identification des zones
actives dans les modélisations \mgs.
Une question reste néanmoins en suspens: lorsque les motifs ont des propriétés
spatio-temporelles, l'ensemble des cellules localement actives peut varier en
fonction du temps, amenant à la problématique du suivi des motifs malgré un
support fluctuant. Les travaux d'A. Ehresmann, que nous introduisons dans la
section suivante, proposent une réponse à cette question.
\subsubsection{Complexification structurelle}\label{sec:ehresmann}
Nous tâchons ici de présenter, sans entrer dans les détails, le \emph{processus
de complexification} introduit par A. Ehresmann et J.-P.
Vanbermeersch~\cite{ehresmann_mens:_2012}.
%%
Leurs travaux s'intéressent à l'utilisation des \emph{systèmes évolutifs à
mémoire} pour la modélisation du vivant, et plus particulièrement de la
complexité. L'approche cherche à être la plus générale possible et repose sur
une formalisation catégorique des systèmes dynamiques.
Pour plus de clarté, nous nous concentrons ici sur le concept de \emph{Memory
Evolutive Neural System} (\mens), une des applications de la méthodologie
proposée à la modélisation des interactions neuronales. L'objectif de cette
construction est de fournir des arguments en faveur de l'émergence des fonctions
cognitives depuis les interactions neuronales, allant jusqu'aux concepts de
conscience, de pensée et d'intention. Nous ne nous intéresserons ici qu'au
processus de complexification.
Un réseau de neurones est représenté par un graphe $\text{Neur}_t$ dont
les nœuds, notés $N(t)$, sont des neurones et dont les arcs (orientés),
notés $S(t)$, décrivent les liens entre les neurones. Chaque lien est
pondéré par un délai de propagation. Le graphe est nécessairement fermé
transitivement: étant donnés trois neurones $n_1,n_2,n_3 \in N(t)$, si
les arcs $(n_1,n_2)$ et $(n_2,n_3)$ existent, l'arc $(n_1,n_3)$ existent
également. Un réseau est un objet dynamique et s'inscrit donc dans le temps
(représenté par l'indice $t$). Au cours de son évolution, des nœuds peuvent
apparaître ou disparaître, entraînant l'apparition ou la disparition d'arcs.
L'ensemble des réseaux $\text{Neur}_t$ forme une collection $\text{Neur}$ (voir
\textsc{Fig.}~\ref{fig:ce-neur}) munie d'une fonction de \emph{transition} $k$
qui, pour chaque couple d'instants $t < t'$, relie les nœuds de $N(t)$ à ceux
de $N(t')$ et les arcs de $S(t)$ à ceux de $S(t')$ en préservant l'incidence,
propriété assurée par la fonctorialité de $k$ (la définition d'un foncteur est
donnée dans la définition~\ref{def:foncteur}), et en vérifiant la transitivité suivante
(présentée ici sur les nœuds uniquement): pour trois instants $t < t' < t''$ et
trois nœuds $(n_1,n_2,n_3)\in N(t) \times N(t') \times N(t'')$:
\begin{itemize}
\item si $n_2$ est l'image de $n_1$ par $k_{t \rightarrow t'}$ et $n_3$ est
l'image de $n_2$ par $k_{t' \rightarrow t''}$, alors $n_3$ est l'image de
$n_1$ par $k_{t \rightarrow t''}$; et
\item si $n_2$ est l'image de $n_1$ par $k_{t \rightarrow t'}$ et $n_3$ est
l'image de $n_1$ par $k_{t \rightarrow t''}$, alors $n_3$ est l'image de $n_2$
par $k_{t' \rightarrow t''}$.
\end{itemize}
%0. (v) Neur, le réseau des neurones
\begin{figure}[p]
\centering
\includegraphics[page=1,width=.75\textwidth]{complexification-ehresmann}
\caption{$\text{Neur}$ propose un point de vue dynamique sur un réseau
de neurones. À chaque instant $t$, l'état du réseau est vu comme un graphe
$\text{Neur}_t$.}
\label{fig:ce-neur}
\end{figure}
%1. (v) Neurone catégoriel ou Cat-neurone
\begin{figure}[p]
\centering
\includegraphics[page=2,width=.25\textwidth]{complexification-ehresmann}
\caption{Le cat-neurone $N$ est un neurone abstrait ayant le même
comportement fonctionnel que les neurones de la famille $P$.}
\label{fig:ce-catneur}
\end{figure}
%2. (v) Cat-neurones: Liens simples + Bascule complexe (complex switch)
\begin{figure}[p]
\centering
\qquad
\includegraphics[page=4,width=.5\textwidth]{complexification-ehresmann}
\hfill
\includegraphics[page=3,width=.35\textwidth]{complexification-ehresmann}
\qquad
\caption{
À gauche, un lien simple: si $P$ et $P'$ forment un cluster, symbolisé par
une bande grise, alors il existe un lien simple entre $N$, le binding de
$P$et $N'$ le binding de $P'$. %
À droite, une bascule complexe: un cat-neurone peut être fonctionnellement
équivalent à plusieurs familles de neurones.}
\label{fig:ce-simplelink-complexswitch}
\end{figure}
%3. (v) Cat-neurones: l'apparition de liens complexes
\begin{figure}[p]
\centering
\includegraphics[page=5,width=.75\textwidth]{complexification-ehresmann}
\caption{Un lien complexe est la composition de deux liens
simples à travers une bascule complexe.}
\label{fig:ce-complexlink}
\end{figure}
Le processus de complexification est compris dans ce contexte comme la
reconnaissance d'un comportement synchronisé, en prenant en compte les délais
de communication imposés par les arcs du réseau, d'un groupe de neurones
agissant collectivement sur d'autres neurones. Le point important de cette
complexification est que ce comportement collectif peut lui-même être représenté
par un neurone $n$.
%%
Ainsi, lorsqu'une famille $P$ de neurones agit collectivement avec un neurone
$n'$ du réseau, cette action peut être représentée par un lien unique $s$ entre
$n$ et $n'$. Le lien $s$ joue un rôle totalement équivalent à la somme des liens
des neurones de $P$ vers $n'$ (voir \textsc{Fig.}~\ref{fig:ce-catneur}).
%%
Formellement, $n$ correspond à une colimite du diagramme défini par $P$,
appelée \emph{binding} dans ce contexte. Le cas intéressant apparaît lorsque le
\emph{binding} n'existe pas, c'est-à-dire lorsqu'aucun neurone de $\text{Neur}$
ne représente de façon élémentaire le comportement collectif. On propose
alors d'enrichir le système initial $\text{Neur}$ avec ces nouveaux neurones
abstraits, appelés \emph{cat-neurones}, et correspondant aux \emph{bindings}
manquants.
%%
Une hiérarchie de complexification peut alors être mise en place: les neurones
de $\text{Neur}$ sont des \emph{cat-neurones} de niveau 0, alors que les
\emph{bindings} manquants sont des cat-neurones de niveau 1. Le processus peut
être itéré pour obtenir des cat-neurones de niveau $l$ à partir des cat-neurones
de niveau $l-1$.
En plus d'être capable de réifier les comportements «émergents» en tant
qu'objets de base, ici des neurones, le modèle permet également le suivi au
cours du temps de ces comportements.
%%
Ce suivi repose sur deux notions:
\begin{enumerate}
\item \emph{Lien simple}: un lien simple permet d'associer l'évolution d'un
cat-neurone à l'évolution de la famille qui l'engendre.
%
Soient $P$ et $P'$ deux familles de neurones. Un \emph{cluster} entre $P$ et
$P'$ est une famille maximale de liens entre les neurones de $P$ et ceux de
$P'$ représentant l'évolution des neurones de $P$ en neurones de $P'$ (nous ne
rentrerons pas plus dans les détails techniques). Si $P$ et $P'$ admettent $n$
et $n'$ comme \emph{bindings} respectifs, le \emph{cluster} admet également
une colimite sous la forme d'un lien entre $n$ et $n'$, appelé \emph{lien
simple}. Ce lien représente l'évolution de $n$ en $n'$ (voir
\textsc{Fig.}~\ref{fig:ce-simplelink-complexswitch} à gauche).
\item \emph{Bascule complexe}: un lien simple ne permet pas à lui seul le suivi
d'un cat-neurone car la famille $P$ peut disparaître au cours de son
évolution. Cependant, d'autres familles que $P$ peuvent engendrer le même
cat-neurone.
%%
On dira que deux familles de neurones $P$ et $P'$ forment une \emph{bascule
complexe} lorsque $P$ et $P'$ engendrent le même \emph{binding} (voir
\textsc{Fig.}~\ref{fig:ce-simplelink-complexswitch} à droite).
\end{enumerate}
%%
On trouvera \textsc{Fig.}~\ref{fig:ce-complexlink} une illustration de la notion
de \emph{lien complexe} montrant comment combiner \emph{lien simple} et
\emph{bascule complexe} pour déterminer l'évolution d'un cat-neurone malgré la
structure dynamique du réseau.
\subsection{Bilan}
L'ensemble des travaux présentés ci-dessus nous amènent à considérer qu'un outil
de modélisation devrait regrouper les propriétés suivantes:
%
\begin{description}
\item[Cadre unifié:] Les conclusions de~\cite{macklin_future_2014} sur leur
expérience de multi-modélisation d'une cellule entière de \emph{Mycoplasma
genitalium} montrent qu'une uniformisation des descriptions est nécessaire
pour produire un outil adapté à l'intégration de données provenant de sources
multiples.
%%
Les différents points de vue pris sur un même objet, voire la disparité des
systèmes étudiés, impliquent une indépendance de l'outil par rapport aux
modèles pour permettre l'\emph{identification} des concepts partagés. Un
cadre unifiant et générique doit donc être développé de façon agnostique
vis-à-vis des sujets d'étude.
\item[Cadre formel:] L'analyse d'un modèle, allant de la simple simulation à
des techniques mathématiquement plus complexes (\emph{model checking}, analyse
abstraite, etc.), repose sur une description précise des modèles. Pour cela,
les modèles sont souvent décrits dans un cadre mathématique spécifique, appelé
\emph{formalisme}, dont la frontière permet d'assurer l'applicabilité des
techniques d'analyse.
Au-delà des facilités mathématiques offertes par les formalismes, un grand
nombre d'approches utilisent de façon formelle les propriétés «syntaxiques»
des spécifications des modèles afin de les manipuler. Les transformations de
modèles illustrent parfaitement cette dépendance à la description des modèles.
Les preuves de raffinement imposent que le modèle transformé traduise
effectivement les éléments du modèle d'origine.
La prise en compte de plusieurs formalismes va néanmoins à l'encontre du
caractère unifiant que nous impose le point précédent. Trouver un
sur-formalisme unique à un ensemble de formalismes classiques amène
nécessairement à lever les frontières qui faisaient des approches classiques
leur intérêt: plus un formalisme est général, moins il pourra nous apprendre
sur les modèles étudiés. Il est donc primordial de trouver un point
d'équilibre entre ces deux premiers points.
\item[Sémantique:] Un modèle ne se résume pas à une spécification mathématique
décrite dans un formalisme donné. En effet, si tel était le cas, un modèle se
réduirait à un objet symbolique vide de relations au système qu'il décrit. Sa
relation avec l'objet d'étude passe par une sémantique, c'est-à-dire, par une
structure supplémentaire décrivant l'interprétation des symboles.
La sémantique joue un rôle déterminant dans la compréhension et la
manipulation des modèles. Par exemple, le couplage de modèles repose
essentiellement sur l'\emph{identification} de concepts communs traités
différemment par les modèles. Une telle sémantique agit comme un moteur du
couplage: elle permet d'\emph{identifier} au sein de leurs spécifications les
éléments en relation avec les mêmes concepts. Un projet tel que l'intégration
dans un seul modèle de résultats scientifiques indépendants profiterait d'une
description homogène faisant référence à une ontologie partagée, c'est-à-dire
une base de concepts communs.
% L'établissement d'une ontologie est une problématique en soi.
% En effet, une ontologie n'est pas une simple collection de concepts mais
% également des relations entre ces concepts.
% Il va sans dire que les modèles eux-mêmes peuvent être utilisés pour établir
% ces relations; l'ontologie devient alors le support de la modélisation
\item[Abstraction:] Comme le montrent les techniques de raffinement, il est
naturel d'élaborer un modèle à partir d'une spécification grossière qui sera
incrémentalement transformée vers une forme plus dense prenant en compte des
aspects de plus en plus précis du système étudié. Si un modèle est vu comme
une abstraction d'un système, ce type de construction consiste à passer
d'une description abstraite vers une autre plus concrète, en respectant
la sémantique, dont l'objectif est de s'approcher à la limite du système
lui-même.
Les travaux cités précédemment nous laissent penser que ce mécanisme est à la
base de toute modélisation. À titre d'exemple, le couplage de modèles peut
être vu comme une forme d'utilisation de l'abstraction: le modèle obtenu par
couplage peut être vu comme le raffinement le plus abstrait obtenu en
combinant les modèles initiaux. Ainsi, Simpop3 est à la fois un raffinement de
Simpop2 et un raffinement de SimpopNano.
\item[Multi-niveau:] La problématique de la complexification, notamment à
travers les travaux de S. Stepney, montre que l'abstraction n'est pas une
opération suffisante pour parler des propriétés émergentes. La difficulté
vient essentiellement du manque de vocabulaire disponible à certains
niveaux de description pour exprimer des concepts présents de façon
élémentaire à d'autres niveaux, bien qu'il soit possible de les caractériser
qualitativement. La modélisation multi-niveau a pour objectif de mettre en
avant cette possibilité d'\emph{identifier} les entités de base d'un niveau
comme étant des propriétés observées à un autre niveau. Les travaux de A.
Ehresmann et L. Chua proposent d'\emph{identifier} cette fois une propriété
émergente à travers le comportement corrélé d'entités, par l'activation
commune d'un même cat-neurone dans le premier cas ou par la mesure de
l'activité d'une cellule dans le second. Les entités du niveau inférieur
enrichissent le niveau supérieur, mais ne le définissent pas entièrement. Un
cat-neurone ou une cellule localement active a la capacité d'influer en retour
sur le niveau inférieur et c'est l'association de ces deux mécanismes qui
détermine les entités des niveaux supérieurs.
\end{description}
\paragraph{Le Bateau de Thésée.}%
Les propriétés précédentes reposent fondamentalement sur différentes formes
d'identification, que ce soit entre les symboles d'un modèle et les concepts
sémantiques associés, les relations entre un modèle abstrait et son raffinement,
ou encore durant un processus de complexification.
%%
Cependant, l'identité est une notion polysémique riche dont les différentes
compréhensions peuvent aider à préciser certaines problématiques rencontrées en
modélisation.
Pour mettre en avant la profondeur du concept d'identité, le paradoxe du bateau
de Thésée est souvent employé. Plutarque, dans l'ouvrage «La vie de Thésée»
(traduit par D. Ricard~\cite{ricard_vie_1858}), fait état de la conservation de
son bateau par les athéniens après la mort de Thésée:
\begin{quote}
Le vaisseau sur lequel Thésée s'était embarqué avec les autres jeunes gens, et
qu'il ramena heureusement à Athènes, était une galère à trente rames, que les
Athéniens conservèrent jusqu'au temps de Démétrios de Phalère. Ils en ôtaient
les vieilles pièces, à mesure qu'elles se gâtaient, et les remplaçaient par
des neuves qu'ils joignaient solidement aux anciennes. Aussi les philosophes,
en disputant sur ce genre de sophisme qu'ils appellent croissant, citent ce
vaisseau comme un exemple de doute, et soutiennent les uns que c'était
toujours le même, les autres que c'était un vaisseau différent.
\end{quote}
La question est donc de déterminer si le bateau de Thésée, malgré sa
conservation et son entretien par les athéniens, garde son identité une fois que
toutes ses parties ont été remplacées. De plus, si lors des réparations chaque
pièce remplacée était utilisée pour reconstruire un bateau complet, ce dernier
serait-il le bateau de Thésée ?
Ces questions autour de l'identité qui hantent les philosophes depuis
l'antiquité, ont abouti à en donner différentes interprétations.
Dans~\cite{ferret_bateau_1996}, S. Ferret fait un état des lieux de ces
interprétations dont voici une brève description:
\begin{description}
\item[Identité numérique:] Il s'agit de la relation qu'entretient un objet avec
lui-même au cours du temps. Dans l'exemple précédent, l'\emph{identité
numérique} du bateau de Thésée est conservée au cours du temps, même si le
bateau subit des modifications au fur et à mesure. C'est la seule identité qui
résiste au temps.
\item[Identité spécifique:] Il s'agit de l'appartenance à une catégorie
commune, indépendamment de l'objet concerné. Ainsi, les planches constituant
initialement le bateau de Thésée font partie de la même \emph{identité
spécifique} et s'opposent aux planches nouvellement installées. D'un point
de vue logique, une identité spécifique peut être associée à la propriété
séparant les objets qui lui appartiennent de ceux qui ne lui appartiennent
pas.
\item[Identité qualitative:] Aussi appelée indiscernabilité, il s'agit de
l'identification d'objets que l'expérience ne permet pas de distinguer. Pris
au sens le plus strict, deux objets ayant les mêmes propriétés (qualités),
c'est-à-dire répondant de la même façon à \emph{toutes} les questions qui
leurs seraient posées, sont identiques.
\end{description}
Il est intéressant de constater que ces points de vue se mêlent en modélisation.
Notamment, la complexification structurelle d'A. Ehresmann permet d'observer les
trois identités à l'œuvre au sein d'une même construction. La
\textsc{Fig.}~\ref{fig:id-complexlink} présente leurs interactions lors de la
construction d'un lien complexe: l'identité numérique des (cat-)neurones dont
on suit l'évolution au cours du temps, l'identité spécifique des cat-neurones
d'un même niveau tous descriptibles de la même façon, et l'identité qualitative
des familles de neurones avec \emph{binding} caractérisées par leur comportement
synchronisé. On remarquera notamment sur ce dernier point l'indiscernabilité à
l'œuvre lorsque des familles d'une bascule complexe -- se comportant en tout
point de la même façon avec les autres neurones -- sont représentées par le même
cat-neurone.
\begin{figure}[h!]
\centering
\includegraphics[page=6,width=.95\textwidth]{complexification-ehresmann}
\caption[Identités et lien complexe]{%
Identités et lien complexe: les identités qualitatives sont données en
magenta, en orange et en rouge, les identités numériques sont données en
violet, en bleu et en cyan.%
}
\label{fig:id-complexlink}
\end{figure}
\FloatBarrier
\section{Une notion générale de modèle}\label{sec:consmodel}
Comme nous venons de le voir, le concept de modèle est riche et sa compréhension
varie suivant le domaine ou la technique utilisée. Notre objectif étant de
s'écarter des cas particuliers pour proposer un outil générique pour comprendre
la modélisation multi-niveau, il nous est nécessaire de définir une notion de
modèle qui permettra de rendre compte du plus grand nombre de cas d'application.
Dans cette section, nous proposons une telle définition.
Nous commençons par fixer une partie du vocabulaire utilisé pour finalement
proposer la définition générale qui nous intéresse. Cette généralité étant
un frein à l'étude des modèles, nous en proposons ensuite différentes
instanciations permettant de retrouver quelques classes de modèles couramment
rencontrées. Nous terminons par la présentation de différents modèles d'un même
système, un système proie/prédateur.
\subsection{Vocabulaire}\label{sec:formalism-model-system}
\newcommand{\modele}{\emph{modèle}\xspace}
\newcommand{\systeme}{\emph{système}\xspace}
\newcommand{\formalisme}{\emph{formalisme}\xspace}
\newcommand{\modeles}{\emph{modèles}\xspace}
\newcommand{\systemes}{\emph{systèmes}\xspace}
\newcommand{\formalismes}{\emph{formalismes}\xspace}
\begin{figure}[t]
\centering
\includegraphics[page=1,width=.65\textwidth]{fms}
\caption{Schéma des relations entre de notions de \systeme, \modele et
\emph{formalisme}.}
\label{fig:fms}
\end{figure}
Les trois notions importantes qui nous intéressent dans ce chapitre sont
celles de \systeme, de \modele et de \formalisme. Bien que, d'un point de
vue général, elles sont acceptées de tous, l'usage de ces termes peut varier
suivant le domaine. Notre objectif est de lever toute ambigüité en proposant au
lecteur notre propre compréhension de ces notions. En outre, nous utiliserons
ces définitions comme fondement de notre proposition. Ainsi, la figure
\textsc{Fig.}~\ref{fig:fms}, résumant les relations que nous avons pu mettre
en avant section~\ref{sec:multiniveau}, constitue le canevas du développement
décrit section~\ref{sec:compmodel}.
\paragraph{Système.}
On trouve dans de nombreuses disciplines l'utilisation du mot \systeme. En voici
quelques exemples:
\begin{itemize}
\item En informatique, le \systeme d'exploitation est un \emph{assemblage} de
programmes et de processus chargés de la gestion des périphériques au sens
large: la mémoire, les communications via une carte réseau, les entrées
utilisateur, les ressources processeur, etc.;
\item En anatomie, le terme \systeme désigne un \emph{assemblage} d'organes
interagissant au sein d'un organisme dans la réalisation d'une fonction
biologique commune: le \systeme nerveux, le \systeme digestif, etc.;
\item En physique, un \systeme est un \emph{assemblage} de points, de solides,
constitutif d'un fluide, d'un gaz, … dont il faut décrire l'évolution au
cours du temps;
\item En logique, un \systeme formel est un \emph{assemblage} comprenant
un vocabulaire, un ensemble d'axiomes et des règles de déduction.
\end{itemize}
Tous les exemples supplémentaires que nous pourrions trouver reposeraient eux
aussi sur deux notions essentielles:
\begin{enumerate}
\item Le terme \systeme désigne un objet d'étude. Il s'oppose à
l'environnement, c'est-à-dire à ce que l'on ne souhaite pas étudier mais qui
est potentiellement en interaction avec l'objet d'étude. Suivant le degré
d'importance de ces interactions, les termes de \systeme ouvert, fermé ou
isolé seront plus particulièrement employé.
\item Dans son étude, le \systeme est décomposé en parties, et l'étude porte
sur la compréhension des relations entre ces parties. D'ailleurs, l'origine
étymologique du mot \systeme est σύστημα qui, en grec ancien, désigne un
tout composé de plusieurs parties ou membres. Cette décomposition a son
importance dans notre approche car elle offre le vocabulaire nécessaire pour
désigner le système et, nous le verrons par la suite, constitue une base
pour la définition d'une sémantique.
\end{enumerate}
\paragraph{Modèle.}
L'acceptation générale du terme \modele fait état d'un objet utilisé comme
représentation d'un autre\footnote{Il existe néanmoins une compréhension opposée
de la notion de modèle, que l'on trouve par exemple dans le monde artistique où
un \modele est utilisé pour ensuite être représenté dans une œuvre (peinture,
dessin, littérature, etc.). Dans ce sens, on parle d'une forme d'idéal qu'on
cherche à atteindre. La définition à laquelle nous nous réfèrerons est celle du
\modele scientifique.}. Suivant la définition que nous venons de donner, l'objet
représenté correspond à un \systeme, dont un \modele a la charge d'en donner
une représentation suffisamment fidèle pour procéder à l'étude attendue. Dans
certains cas, le \systeme est existant et le \modele servira de représentation
simplifiée en vue d'une analyse souvent explicative du \systeme; dans d'autres
cas, il correspondra à une construction que nous souhaitons réaliser, le \modele
permettra alors, dans une approche d'ingénierie, d'étudier la possibilité de
réaliser le système, voire d'en guider la construction.
L'aspect dégradé de la représentation offerte par le \modele en fait une
abstraction du \systeme. Elle place les deux concepts dans des mondes \emph{a
priori} différents, l'un abstrait et l'autre concret. Par exemple le premier
peut être mathématique lorsque la modélisation est formelle et le second réel
quand l'objet d'étude existe dans la nature. Cependant, c'est bien la relation
entre le \modele et le \systeme qui fait la modélisation et non le \modele
seul. En effet, les abstractions apportées par le \modele ne font sens que
lorsqu'elles se font \emph{par rapport} \systeme. Ainsi, la sémantique associant
les abstractions du \modele au vocabulaire amené par le \systeme complète la
relation \modele-\systeme. Nous développerons cette idée formellement dans la
section~\ref{sec:compmodel}.
\paragraph{Formalisme.}
Tout \modele nécessite un langage comme support d'expression. Ce langage peut
être compris au sens large et prend de nombreuses formes. Prenons par exemple
la réalisation d'une maquette d'un pont pour en étudier la réponse aux vents en
soufflerie. Le support de description dans ce cas n'est autre que le matériel
constituant la maquette.
Nous nous limiterons ici aux modélisations dont le langage de description repose
sur une construction mathématique. Ces constructions sont appelées \formalismes
et sont la donnée d'une théorie, au sens mathématique, c'est-à-dire un ensemble
d'affirmations et un mécanisme de déduction. Cette théorie est accompagnée d'une
syntaxe permettant d'en formuler les affirmations.
Comme évoqué plus haut, la difficulté des approches combinant plusieurs
\modeles d'un même \systeme vient de la diversité des \formalismes utilisés.
Il nous semble que la théorie des ensembles offre un cadre commun minimal
suffisant pour élaborer notre outil. En effet, la plupart des \formalismes
que nous avons rencontrés se fondent sur une représentation ensembliste.
C'est le cas par exemple des algèbres (au sens de l'algèbre universelle)
vues comme des ensembles munis de lois de composition internes. Nous verrons
section~\ref{sec:consmodel} comment l'enrichissement d'un ensemble par une
structure mathématique, c'est-à-dire en se plaçant dans un \formalisme
particulier, permet de retrouver certaines classes de \modeles. Nous verrons
également, section~\ref{sec:compmodel}, comment oublier ces structures permet
aux \modeles de collaborer.
\newcommand{\lsys}{L-system\xspace}
\newcommand{\lsyss}{L-systems\xspace}
\paragraph{Les systèmes de Lindenmayer.}
Dans ce paragraphe, nous souhaitons montrer que si, dans une situation
particulière, nous savons différencier \systeme, \modele et \formalisme, un même
objet peut servir suivant le contexte de \systeme, de \modele ou de \formalisme.
Les systèmes de Lindenmayer, ou \emph{\lsyss}, en sont un bon exemple.
Les \lsyss sont des grammaires formelles introduites par A.
Lindenmayer~\cite{de_koster_discrete_1987}. Formellement\footnote{Pour la
simplicité du propos, nous restreignons notre présentation au D0-\lsys,
c'est-à-dire aux \lsyss déterministes sans contexte.}, un \lsys est un triplet
$(\Sigma, w_0, P)$$\Sigma$ est un ensemble fini de symboles appelé
\emph{alphabet}, $w_0\in \Sigma^*$ est un mot fini initial appelé \emph{axiome},
et $P \subset \Sigma \rightarrow \Sigma^*$, appelé l'ensemble des règles, est
une fonction associant à chaque lettre de $\Sigma$ un mot. Un \lsys transforme
ainsi un mot $a_1 \dots a_n$ en $w_1 \dots w_n$ tel que pour tout $i$, $w_i =
P(a_i)$.
Les \lsyss peuvent être observés sous le prisme des trois concepts que nous
avons abordés:
\begin{enumerate}
\item \lsys comme \modele : Au même titre que le
$\lambda$-calcul~\cite{church_set_1932}, les machines de
Turing~\cite{turing_computable_1937} ou les grammaires de
Chomsky~\cite{chomsky_three_1956}, les \lsyss ont leur place dans l'étude
du calcul en tant que \modeles de calcul. Dans ce contexte, c'est-à-dire
celui de calculabilité, le \systeme désigne les fonctions calculables et les
modèles énumérés ci-dessus en proposent différents points de vue. En effet,
nous pouvons associer un langage à un \lsys à travers l'ensemble des mots
qu'il génère à partir de l'axiome. Durant les années 70, un important effort
de recherche a été entrepris pour comprendre la puissance de calcul proposé
par les \lsyss~\cite{rozenberg_mathematical_1980}.
\item \lsys comme \systeme : Afin de les élever comme modèles de calcul, les
\lsyss ont fait l'objet d'une étude formelle devenant alors un \systeme,
suivant le sens évoqué plus haut. Ainsi, nous trouvons également
dans~\cite{rozenberg_mathematical_1980} des abstractions qui ont permis
de mener à bien cette étude. Pour n'en donner qu'un exemple simple, les
\emph{fonctions de croissance} permettent à partir d'un \lsys d'obtenir la
longueur du mot obtenu après $n$ transformations issues de l'axiome initial.
Dans notre cas, décrire la fonction de croissance revient à poser un système
d'équations mutuellement récursives dénombrant le nombre d'occurrences de
chaque lettre à une génération donnée.
\item \lsys comme \formalisme : Il s'agit ici de l'utilisation initiale des
\lsyss proposée par A. Lindenmayer qui avait pour objectif de modéliser le
développement des plantes et des bactéries. Dans ce troisième contexte, les
\lsyss sont utilisés comme \formalisme pour décrire des modèles biologiques.
Par exemple, dans~\cite{prusinkiewicz_algorithmic_2012} se trouve, parmi de
nombreuses autres applications montrant la richesse de l'approche, le \lsys
$L_\mathrm{AC} = (\{r,R,l,L\}, R, P_\mathrm{AC})$ comme \modele symbolique
du comportement de croissance de l'algue \emph{Anabaena catenula}. Cette
algue se présente sous la forme d'un filament de cellules. Les cellules sont
polarisées (vers la gauche ou vers la droite) et le filament présente un
motif de polarisation spécifique. Les règles de $P_\mathrm{AC}$, données par
$$
\begin{array}{lll}
r & \Rightarrow & R \\
l & \Rightarrow & L \\
R & \Rightarrow & Lr \\
L & \Rightarrow & lR
\end{array}
$$
décrivent comment naît ce motif. Il repose sur une asymétrie de longueur
des cellules filles lors de la division cellulaire. Dans cet exemple,
$r$ est l'abstraction d'une cellule courte orientée vers la droite, $L$
d'une cellule longue orientée vers la gauche, etc. La règle $R \Rightarrow
Lr$ abstrait la division d'une cellule longue orientée à droite, en deux
cellules, respectivement longue et orientée à gauche, et courte et orientée
à droite.
\end{enumerate}
\let\formalisme\undefined
\let\systeme\undefined
\let\modele\undefined
\let\formalismes\undefined
\let\systemes\undefined
\let\modeles\undefined
\let\lsyss\undefined
\let\lsys\undefined
\FloatBarrier
\subsection{Constructions de modèles}
\label{sec:consmodel}
Comme nous l'avons présenté précédemment, nous souhaitons nous placer dans
le contexte de la théorie des ensembles, dénominateur commun de tous les
formalismes formalismes de modélisation introduits jusqu'à présent. Ainsi,
nous considérons qu'un modèle est un ensemble de «faits» à propos du système
concerné.
Cette simple définition confirme, d'une part, que sans sémantique, un modèle
ne nous apprend que peu d'informations sur le système qu'il décrit. Pire
encore, en supposant qu'une telle sémantique existe, que l'absence de structure
des ensembles ne nous permet pas de relier entre eux les faits que le modèle
contient.
%%
Le prix à payer pour unifier les formalismes semble trop élevé pour mener à bien
notre objectif.
Cependant, un modèle n'est pas n'importe quel ensemble, mais un ensemble issu
d'un formalisme bien particulier et qui présente donc les reliquats d'une
structure préexistante. Ainsi, tous les modèles correspondant à un formalisme
donné exhiberont une forme commune qui peut être utilisée pour classer les
modèles.
%%
Dans cette section, nous présentons à travers quelques exemples comment enrichir
cette vue ensembliste de la modélisation pour retrouver des classes de modèles
fréquemment rencontrées.
Dans la suite, nous utiliserons la notation $\modelM$ pour désigner un modèle.
Afin de distinguer la façon de construire l'ensemble des faits d'un modèle du
modèle lui-même, nous noterons $E_\modelM$ l'ensemble des faits de $\modelM$.
\subsubsection{Modèle à observables}
Dans ce premier exemple, nous considérons que les faits que contiennent les
modèles représentent les \emph{états} du système, c'est-à-dire une description
des différentes configurations que peut prendre le système. Chaque état
correspond à une observation du système et peut être décrit comme un tuple de
valeurs, appelées \emph{observables}. En d'autres termes, le modèle correspond à
un ensemble de mesures relevées sur le système étudié.
Chaque observable produit une mesure dans un ensemble de valeurs, appelé
le \emph{domaine} de l'observable. Un modèle définit donc une \emph{loi
d'exclusion} : il distingue parmi l'ensemble de toutes les mesures théoriques
possibles la classe des comportements propres au système et exclut
celles qui ne le sont pas. Cette approche a été développée par J.C.
Willems~\cite{willems_paradigms_1991}. L'ensemble des mesures possibles, donné
par le produit cartésien des domaines des observables est parfois appelé
\emph{universum} dont un modèle est le sous-ensemble. Cela nous amène à la
définition formelle suivante.
\begin{mpo-definition}[Modèle à observables]
Soit $\{ \dom_i \}_{i \in I}$, une famille d'ensembles.
Un \emph{modèle à observables} $\modelM$ est un modèle caractérisé par un
couple $\langle \sig_\modelM, \bhv_\modelM \rangle$
\begin{itemize}
\item $\sig_\modelM = \dom_1 \times \dom_2 \times \dom_3 \times \ldots$ est
la \emph{signature} (encore appelé \emph{universum}) du modèle \modelM;
\item $\bhv_\modelM \subseteq \sig_\modelM$ est le \emph{comportement} du
modèle \modelM.
\end{itemize}
Les projections $\pi_i : \sig_\modelM \rightarrow \dom_i$ sont appelées les
\emph{observables} du modèle et $\dom_i$ est le \emph{domaine} de l'observable
$\pi_i$.
Les éléments de $\bhv_\modelM$ sont appelés les \emph{états} du modèle.
\noindent
L'ensemble des faits est donné par $E_\modelM = \bhv_\modelM$.
\end{mpo-definition}
Un modèle à observables pourra être plus ou moins précis dans sa description du
système, en présentant plus ou moins d'observables, en reposant sur des domaines
plus ou moins fins, ou en dénombrant plus ou moins d'états. Cette précision sera
formalisée dans la section suivante par un mécanisme d'abstraction entre modèle.
\begin{mpo-exemple}
Nous reprenons ici la modélisation des états de l'eau
de~\cite{willems_paradigms_1991}. Suivant la température, l'eau existe dans
différents états solide, liquide ou gazeux. Le modèle $\model{M}{\it eau}$
suivant décrit les états que prend l'eau pour différentes températures,
données ici en degrés Celsius (\si{\celsius}), à une pression constante de
\SI{1013,25}{\hecto\pascal}:
\[
\begin{array}{rcl}
\dom_\obsn{Phase}
&=& \{\text{solide},\text{liquide},\text{gaz}\} \\
\dom_\obsn{Température}
&=& [-273,\infty[ \\
\sig_{\model{M}{\it eau}}
&=& \dom_\obsn{Phase} \times \dom_\obsn{Température} \\
\bhv_{\model{M}{\it eau}}
&=& \{\text{solide}\} \times [-273,0] \\
&\cup& \{\text{liquide}\} \times [0,100] \\
&\cup& \{\text{gaz}\} \times [100,\infty[
\end{array}
\]
Notons que d'après ce modèle, l'eau à une température de \SI{0}{\celsius} peut
présenter les deux phases, liquide et solide.
\label{ex:model-eau}
\end{mpo-exemple}
\subsubsection{Modèle expérimental}
Voir un modèle comme un ensemble ne dit rien sur la façon de construire ce
modèle. Une première manière de spécifier un ensemble est d'en donner une
définition par extension.
%%
On parlera de \emph{modèle expérimental} lorsque l'ensemble est défini par
extension à partir des résultats d'expériences.
\begin{figure}[t]
\centering
\includegraphics[width=\textwidth]{figures/log-steamer-bear}
\caption{Extrait d'une page du journal de bord du bateau à vapeur Bear de l'US Navy, le 22 juin 1884.}
\label{fig:steamer-bear}
\end{figure}
\begin{mpo-exemple} %[Modèle expérimental des états de l'eau]
Une méthode directe de construction d'un modèle à observables consiste à noter
les valeurs mesurées de chaque observable sur une feuille, comme dans le cas
d'un journal de bord «maritime», où les observations relevées se limitent à
celles qui sont estimées pertinentes pour la navigation (voir
\textsc{Fig.}~\ref{fig:steamer-bear}), et à effectuer autant de relevés que
possible.
%%
On peut considérer qu'à chaque ligne un \emph{état du système} est décrit et
que les valeurs relevées définissent une relation (au sens mathématique) entre
les observables. Les colonnes correspondent aux observables ($\pi_i$ dans la
définition ci-dessus) et toutes les valeurs qu'une observable peut prendre
forment son domaine ($\dom_i$ ci-dessus). Par exemple,
\[
\dom_\obsn{WINDS Direction} \in \{ \textit{N}, \textit{NE}, \textit{E},
\textit{SE}, \textit{S}, \textit{SW}, \textit{W}, \textit{NW} \}
\]
\end{mpo-exemple}
\subsubsection{Modèle équationnel}
Distinguer un ensemble dans un sur-ensemble de possibilités consiste à donner
un prédicat décidant de l'appartenance d'un élément à l'ensemble. Une façon de
spécifier un tel prédicat est décrit dans~\cite{willems_paradigms_1991} par la
donnée d'une équation mettant en relation deux quantités. Ce principe amène à la
notion suivante de modèle équationnel.
\begin{mpo-definition}[Modèle équationnel]\label{def:modelequa}
Un \emph{modèle équationnel} $\modelM$ est caractérisé par un couple de
fonctions $\langle f_\modelM, g_\modelM \rangle$ de même signature $X
\rightarrow Y$ pour deux ensembles $X$ et $Y$ donnés, tel que l'ensemble des
faits de $\modelM$ est donné par
\[
E_\modelM = \{ x \in X \mid f_\modelM(x)=g_\modelM(x) \}
\]
\end{mpo-definition}
\begin{mpo-exemple}\label{ex:gazparfait}
Associés à la notion de modèle à observables, les modèles équationnels sont
fréquents en physique. À ce titre, l'équation la plus couramment utilisée pour
caractériser les gaz parfaits illustre la définition~\ref{def:modelequa}.
D'un point de vue macroscopique, l'état de $n$ moles d'un gaz parfait
à l'équilibre thermodynamique est décrit par les trois observables
$\obsn{Volume}$, $\obsn{Pression}$ et $\obsn{Température}$. On peut construire
le modèle $\model{M}{\it gaz}$ des gaz parfaits dont l'ensemble des états est
donné par:
$$
E_{\model{M}{\it gaz}} = \{ (V,P,T) \in \dom_\obsn{Volume} \times \dom_\obsn{Pression} \times \dom_\obsn{Température} \mid PV=nRT \}
$$
$R =$ \SI{8,3144621}{\joule\per\kelvin\per\mole} représente la constante
des gaz parfaits. Le modèle $\model{M}{\it gaz}$ est donc un modèle
équationnel caractérisé par le couple de fonctions
$$
\langle (V,P,T) \mapsto P V, (V,P,T) \mapsto n R T \rangle.
$$
\end{mpo-exemple}
\subsubsection{Modèle à observables privilégiées}
Les classes de modèles que nous avons données jusqu'ici correspondent à la
distinction d'un sous-ensemble admissible de faits à partir d'un univers
plus grand. Avec cette nouvelle classe, nous commençons à nous intéresser
aux modèles dont l'ensemble associé peut être enrichi d'une structure
mathématique particulière provenant d'une propriété qu'il exhibe. Dans ce
premier exemple, on s'intéresse aux modèles à observables dont le comportement
est entièrement déterminé par une partie de ses observables, que nous
appellerons \emph{observables privilégiées}.
\begin{mpo-definition}[Modèle à observables privilégiées]\label{def:modfct}
Soient $\modelM = \langle \sig_\modelM, \bhv_\modelM \rangle$ un modèle avec
observables $I$ (\ie $\sig_\modelM = \prod_{i\in I} \dom_i$) et $J \subset I$
un sous-ensemble d'observables. Le modèle $\modelM$ est \emph{à observables
privilégiées} $J$ si, et seulement si,
$$
\forall b_1,b_2 \in \bhv_\modelM\quad
\pi_J(b_1) = \pi_J(b_2) \Rightarrow b_1 = b_2
$$
\end{mpo-definition}
Cette définition n'est pas sans rappeler quelques concepts propres au
domaine des bases de données relationnelles, introduites par E. F. Codd
dans~\cite{codd_relational_1970}. Un modèle à observables $\modelM$ est très
proche d'une relation, au sens de l'algèbre relationnelle, avec sa signature
$\sig_\modelM$ pour \emph{schéma} et son comportement $\bhv_\modelM$ comme
\emph{extension}, l'ensemble des tuples de la relation. Les observables
privilégiées sont elles à rapprocher de la notion de \emph{clé primaire}
(ou plus précisément de \emph{super-clé}): dans un modèle à observables
privilégiées, chaque $p \in \prod_{j\in J} \dom_j$ identifie de manière unique
un tuple de $\bhv_\modelM$ s'il existe.
%%
Plus précisément, c'est à la notion de \emph{dépendance fonctionnelle} que
correspondent les observables privilégiées. En effet, l'équation de la
définition décrit l'existence d'une fonction codée au sein de $\bhv_\modelM$.
\begin{mpo-exemple}
En reprenant le modèle $\model{M}{\it gaz}$ de l'exemple~\ref{ex:gazparfait}, il
est possible de remarquer que l'équation des gaz parfaits permet de déterminer
sans ambiguïté n'importe laquelle de ces observables à partir des deux autres.
%%
Nous pouvons donc montrer qu'à partir de $\model{M}{\it gaz}$, trois modèles
à observables privilégiées reposant sur les trois dépendances fonctionnelles
peuvent êtres construits:
$(\obsn{Volume}, \obsn{Pression} \rightarrow \obsn{Température})$,
$(\obsn{Température}, \obsn{Pression} \rightarrow \obsn{Volume})$ et
$(\obsn{Température}, \obsn{Volume} \rightarrow \obsn{Pression})$.
\end{mpo-exemple}
\subsubsection{Modèle dynamique}
L'étude des \emph{systèmes dynamiques} porte sur l'évolution des états du
système au cours du temps. Usuellement, les aspects temporels sont modélisés par
l'action du temps sur l'état du système.
%%
Cette action repose sur la nature monoïdale~\cite{giunti_dynamical_2012} de
l'ensemble utilisé pour représenter le temps.
%%
Un \emph{monoïde} est un triplet $ \Time = \langle D_\Time, 0_\Time, +_\Time
\rangle$ (noté ici additivement) tel que $D_\Time$ est un ensemble arbitraire,
$+_\Time$ est une loi de composition interne binaire \emph{associative}
($\forall x,y,z \in D_\Time, x +_\Time (y +_\Time z) = (x +_\Time y) +_\Time z$)
et munie d'un élément \emph{neutre} $0_\Time$ ($\forall x \in D_\Time, 0_\Time
+_\Time x = x +_\Time 0_\Time = x$).
%%
Dans le cadre de la modélisation du temps, les éléments de $D_\Time$
correspondent à des \emph{durées} et la loi de composition fournit un moyen de
cumuler ces \emph{durées}.
%%
L'\emph{action} d'un monoïde sur un ensemble arbitraire $E$ est une
fonction $\Phi: E \times D_\Time \rightarrow E$ telle que $\forall x \in E, \forall \delta_1, \delta_2 \in
D_\Time$:
$$
\Phi(x, 0_\Time) = x \qquad \qquad \Phi(\Phi(x,\delta_1), \delta_2) = \Phi(x,\delta_1 +_\Time \delta_2)
$$
En interprétant les éléments de $E$ comme une modélisation des états d'un
système, l'action $\Phi$ spécifie une fonction de transition précisant comment,
après une durée $\delta\in D_\Time$, le système passe d'un état $x \in E$ à un
nouvel état $\Phi(x,\delta)$.
Cette définition très générale n'impose aucune propriété particulière sur le
monoïde utilisé pour modéliser le temps. On retrouve naturellement les modèles
de temps classiques, en prenant l'ensemble des réels pour modéliser un temps
continu ou l'ensemble des entiers pour modéliser un temps discret. Mais cette
définition s'applique également dans des cas moins courants. Par exemple,
considérons un automate à états finis, décrivant les transitions d'état en
état à la lecture d'un mot construit à partir d'un alphabet, disons $\Sigma
= \{a,b\}$. On peut interpréter $\Sigma^*$, le monoïde libre engendré par
les lettres de l'alphabet, comme une modélisation d'un temps dont les durées
sont des accumulations de $a$ et de $b$. On peut montrer facilement que la
fonction de transition de l'automate spécifie une action de monoïde. Ce qui
est intéressant dans cette description est que le temps n'est pas ici un temps
linéaire où les «instants» senchaînent d'une façon totalement ordonnée, mais un
temps arborescent dont les branches peuvent être interprétées comme différentes
possibilités dexécutions. Cet exemple rend bien compte de la souplesse de cette
définition.
Nous proposons de caractériser les \emph{modèles dynamiques} en s'inspirant
de la définition des système dynamiques\footnote{On remarquera qu'ici le
terme \emph{système} ne correspond pas à la notion que nous avons définie
section~\ref{sec:formalism-model-system} mais est plus à rapprocher de celle
d'un \emph{formalisme} permettant la \emph{modélisation} de la dynamique d'un
\emph{système}.} donnée dans~\cite{giunti_dynamical_2012}.
%%
\begin{mpo-definition}[Modèle dynamique]\label{def:moddyna}
Un \emph{modèle dynamique} est un modèle $\modelM$ caractérisé par un triplet
$\langle \bhv_\modelM, \Time_\modelM, \Phi_\modelM \rangle$ tel que
%%
\begin{enumerate}
\item $\Time_\modelM$ est un monoïde appelé \emph{modèle du temps} et dont les
éléments $\delta \in D_\Time$ sont appelés \emph{durées},
\item $\bhv_\modelM$ est un ensemble non vide appelé l'\emph{espace des états}
et dont les éléments sont appelés \emph{états},
\item $\Phi_\modelM$ est une action de monoïde de $\Time_\modelM$ sur
$\bhv_\modelM$ appelée \emph{fonction de transition}.
\end{enumerate}
%%
L'ensemble des faits de $\modelM$ est donné par:
$$
E_\modelM = \{ (x,\delta,\Phi(x,\delta)) \mid x \in \bhv_\modelM, \delta \in \Time_\modelM \}
$$
\end{mpo-definition}
Dans cette définition, chaque triplet d'un modèle dynamique $(x,\delta,x')$
représente la transition du système de l'état $x$ vers l'état $x'$ après une
durée $\delta$. Nous remarquerons également que $E_\modelM$ spécifie exactement
la fonction $\Phi_\modelM$: un modèle dynamique est donc également un modèle
à observables privilégiées tel que décrit définition~\ref{def:modfct}, les
observables privilégiées étant ici le temps et les conditions initiales.
\begin{mpo-exemple}\label{ex:malthus}
Le modèle de croissance Malthusien décrit l'évolution de la taille d'une
population suivant un taux de natalité $r$ sans aucune autre restriction. Ce
type de système présente une croissance exponentielle répondant à l'équation:
$$
P(t) = P_0 e^{rt}
$$
$t$ représente le temps, $P_0$, le nombre d'individus constituant
initialement la population, et $P(t)$, la taille de la population après une
période de $t$ unités de temps.
%%
Cette caractérisation décrit très clairement un système dynamique tel que nous
l'avons évoqué ci-dessus et peut être représentée par le modèle dynamique
$\model{M}{\it malthus}$ dont l'ensemble des faits est le suivant:
$$
E_{\model{M}{\it malthus}} = \{(P,t,P e^{rt})\mid P,t\in\mathbb{R}^+\}
$$
Le modèle du temps $\langle \mathbb{R}^+, 0, + \rangle$ correspond à la
modélisation continue classique utilisant les réels et l'addition standard.
L'état du système est également représenté par un élément de $\mathbb{R}^+$
correspondant, cette fois-ci, à un nombre d'individus.
\end{mpo-exemple}
\subsubsection{Modèle à base de champ}
La notion de champ est particulièrement répandue en modélisation. Un champ
associe une donnée à chaque point d'un espace. Lorsque nous parlons de champ, un
rapprochement apparaît avec les champs scalaires ou vectoriels de la physique
classique où les données représentent des quantités physiques, telles que
la température ou la vitesse de déplacement d'un fluide, cependant, suivant
les contextes, les champs prennent des formes différentes. D'un point de vue
général, on parle de champ lorsque l'on est en présence d'une population
d'objets de même nature, comme les cellules d'un automate cellulaire, les agents
d'un système multi-agent, les ou les places d'un réseau de Petri, que l'on
caractérise individuellement par un certain état, l'état d'une cellule, l'état
d'un agent, l'état d'une place, etc. Cette population décrit également une
organisation mettant en relation les objets les uns par rapport aux autres. On
parle alors d'un espace et des points de cette espace. Bien souvent, la valeur
associée en chaque point est également structurée et on demande au champ de
varier \emph{continûment} sur cet espace, c'est-à-dire sans présenter de rupture
par rapport à l'organisation des valeurs.
Mathématiquement, ces considérations sont affiliées aux notions d'espaces
topologiques et de fonctions continues.
%%
Un \emph{espace topologique} $\mathbb{S}$ est la donnée d'un ensemble de
\emph{points} $E_\mathbb{S}$, d'un ensemble d'\emph{ouverts} $\Omega_\mathbb{S}
\subset \mathbb{2}^{E_\mathbb{S}}$, contenant $E_\mathbb{S}$ et $\emptyset$, et
clos par union arbitraire et par intersection finie.
%%
Une \emph{fonction continue} d'un espace topologique vers un autre est une
fonction entre les points qui respectent ces structures: la préimage d'un ouvert
doit être un ouvert.
Ces définitions peuvent être interprétées en termes logiques. En tant que
sous-ensembles, les ouverts peuvent être compris comme des prédicats offrant un
vocabulaire pour classer les points les uns par rapport aux autres. L'union et
l'intersection correspondent respectivement aux opérations de disjonction et de
conjonction dans cette classification.
%%
La continuité impose que le vocabulaire de l'espace d'arrivée corresponde au
vocabulaire de l'espace de départ. Ainsi, en comprenant un ouvert comme une
variation autour d'un point suivant une certaine propriété, la préimage de
cette variation sera une variation autour des préimages du point considéré.
%%
L'exemple du champ de température illustre cette idée de variation:
considérons l'espace euclidien comme espace de départ et les réels comme
espace d'arrivée avec leurs topologies usuelles, c'est-à-dire où une variation
autour d'une valeur revient à prendre un intervalle ouvert autour de cette
valeur\footnote{Pour être exact, il s'agit ici d'une base de la topologie
usuelle.}. Ainsi, pour un champ de température donné, si l'on considère
l'ensemble $P$ de tous les points de température $20°C$, les points de
températures comprises entre $19°C$ et $21°C$ seront «autour» de ceux de $P$.
%%
Cette idée s'applique également pour un réseau d'interactions entre agents:
plus deux agents sont dans des états «proches», c'est-à-dire partageant de
plus en plus de propriétés, plus leurs environnements d'interactions seront
comparables.
Nous proposons de caractériser les \emph{modèles à base de champ} comme la
représentation d'une fonction continue.
%%
\begin{mpo-definition}[Modèle à base de champs]\label{def:modfield}
Un \emph{modèle à base de champ} est un modèle $\modelM$ caractérisé par un
triplet $\langle \Space_\modelM, \mathbb{V}_\modelM, f_\modelM \rangle$ tel que
\begin{enumerate}
\item $\Space_\modelM$ et $\mathbb{V}_\modelM$ sont des espaces topologiques,
et
\item $f_\modelM:\Space_\modelM \rightarrow \mathbb{V}_\modelM$ est une
fonction continue.
\end{enumerate}
%%
L'ensemble des faits de $\modelM$ est donné par:
$$
E_\modelM = \{ (x,f(x)) \mid x \in \Space_\modelM \}
$$
\end{mpo-definition}
%%
L'avantage du point de vue topologique est qu'il autorise tout type de champ.
En effet, n'importe quelle fonction entre deux ensembles pourra être rendue
continue en utilisant par exemple la topologie discrète\footnote{ La topologie
discrète est celle où tout sous-ensemble de points est un ouvert. Il ne faut
cependant pas la comprendre comme \textbf{la} topologie des modèles discrets.}
sur l'espace de départ. La qualité d'un modèle à base de champ viendra du choix
judicieux des topologies utilisées. Nous remarquerons enfin que la définition
fonctionnelle de $E_\modelM$ permet d'inclure les modèles à base de champs comme
car particulier de modèles à variables privilégiées.
\begin{mpo-exemple}
En théorie des réseaux sociaux, la séparation, c'est-à-dire la longueur de la
plus petite chaîne de connaissances sociales permettant de relier un individu
à un autre, est une mesure importante. Elle est par exemple à la base de
la théorie des \emph{six degrés de séparation}~\cite{travers_small_1967}
établissant que toute personne sur la planète est reliée socialement à n'importe
quelle autre par une chaîne de longueur au plus 6.
Il est possible de modéliser la séparation comme un champ de distance sur le
graphe des liens sociaux. Pour un graphe donné $G$, le champ de distance à un
sommet $v_0$ associe à chaque sommet $v$ de $G$ la longueur $d(v)$ du plus court
chemin entre $v_0$ et $v$. Le champ $d$ se présente donc comme une fonction des
sommets de $G$ dans $\mathbb{N}$.
Il est possible de considérer la continuité de $d$ en associant au graphe $G$
et à $\mathbb{N}$ leur \emph{topologie digitale}. Pour cette topologie, notée
$\Omega^{\rm dig.}_G$, un ouvert d'un graphe $G$ (vu comme un ensemble de
sommets et d'arcs) est défini comme une union d'ouverts de base:
\begin{itemize}
\item pour tout arc $e$, le singleton $\{e\}$ est un ouvert;
\item pour tout sommet $v$, l'ensemble $\{v\} \cup \{ e \in G \mid v \prec e
\}$, où $v \prec e$ signifie que $e$ est incident à $v$ dans $G$, est un ouvert.
\end{itemize}
Les entiers peuvent être munis de la même topologie en considérant $\mathbb{N}$
comme un graphe dont les sommets sont les entiers et où un arc $\{n,n+1\}$ relie
chaque entier $n$ à son successeur.
On peut remarquer que pour toute paire de sommets voisins $(v_1,v_2)$, le champ
de distance ne varie qu'au plus de 1:
$$
|d(v_1) - d(v_2)| \leq 1
$$
La fonction $d$ peut alors être étendue aux arcs de telle sorte que pour tout
arc $e$ entre $v_1$ et $v_2$,
$$
d(e) = \left\{
\begin{array}{ll}
d(v_1) & \textnormal{si } d(v_1) = d(v_2) \\
\{d(v_1),d(v_2)\} & \textnormal{sinon}
\end{array}
\right.
$$
Ainsi, la fonction $d$ est continue et peut être utilisée pour constituer un
modèle à base de champ $\model{M}{\it sép.}$ de la séparation d'un réseau par:
$$
\Space_{\model{M}{\it sép.}} = \langle G, \Omega^{\rm dig.}_G \rangle
\qquad
\mathbb{V}_{\model{M}{\it sép.}} = \langle \mathbb{N}, \Omega^{\rm dig.}_\mathbb{N} \rangle
\qquad
f_{\model{M}{\it sép.}} = d
$$
\end{mpo-exemple}
\subsubsection{Modèle à structure dynamique}
Les classes de modèles que nous avons proposées jusqu'ici ne sont pas
indépendantes les unes des autres. Comme nous l'avons déjà vu par exemple, les
modèles dynamiques et à base de champ sont des cas particuliers de modèles
à observables privilégiées. Ces deux classes s'intéressent en fait à deux
aspects qui reviennent fréquemment dans les modélisations, le \emph{temps} et
l'\emph{espace}, et il est classique de retrouver ces deux aspects en même temps
au sein du même modèle. L'intersection entre les modèles dynamiques et les
modèles à base de champ n'est pas vide, loin s'en faut.
Il est intéressant de noter que l'interdépendance entre temps et espace nous
amène en fait à considérer quatre types de modélisation à variables privilégiées
spatio-temporelles:
\begin{enumerate}
\item $\Space \times \Time \rightarrow \dots$\\
L'espace ne varie pas dans le temps et le temps est le même partout dans
l'espace. Ainsi, \emph{temps} et \emph{espace} sont indépendants.
%%
On retrouve par exemple ce type de modèles en physique classique ou avec les
automates cellulaires.
\item $\Space \rightarrow (\Time \rightarrow \dots)$
%\antoine{La bonne notation avec types dépendants $\prod_{p:\Space}
%\(\Time(p) rightarrow \dots)$}\\
Le temps varie d'un point de l'espace à un autre. Autrement dit, chaque point
à son horloge. Ce cas est représentable par un modèle à base de champs qui
associe à chaque point de l'espace un modèle dynamique.
%%
Par exemple, une étude de charge dans une grille de calcul amènera à ce type
de modélisation: les processeurs tournent chacun à leur propre vitesse alors
que la structure du réseau reste fixe.
\item $\Time \rightarrow (\Space \rightarrow \dots)$
%\antoine{La bonne notation avec types dépendants $\prod_{\delta:\Time}
%(\Space(\delta) \rightarrow \dots)$}\\
L'espace varie au cours du temps: à chaque instant, le domaine spatial est
différent. Une représentation reposant sur un modèle dynamique dont l'espace
des états sera constitué de modèles à base de champ, sera privilégiée.
%%
Nous appelons ces systèmes, des systèmes dynamiques à structure dynamique.
\item $\SpaceTime \rightarrow \dots$\\
L'espace et le temps forment ici un tout, $\SpaceTime$, qui ne peut être
dissocié. En physique, la relativité est une parfaite illustration de l'étude
de ce type de système. Bien qu'il soit possible de n'observer que l'action du
temps sur un point de l'espace en suivant les lignes d'univers, la description
qui en résulte n'est pas complète. En effet, un changement d'observation,
c'est-à-dire le passage d'une ligne d'univers à une autre, modifie la
perception du temps \emph{et} de l'espace sur les autres événements.
\end{enumerate}
\subsubsection{Modèle probabiliste}
Nous terminons la description de ces quelques classes de modèles en évoquant
les systèmes que nous souhaitons modéliser de façon probabiliste. Pour ces
modélisations, le formalisme repose essentiellement sur les notions d'espace
mesurable et de probabilité. Formellement, un espace mesurable $\mathbb{X}$ est
un ensemble $X_\mathbb{X}$ muni d'une \emph{tribu} $\mathcal{A_\mathbb{X}}$,
c'est-à-dire d'un ensemble de sous-ensembles de $X_\mathbb{X}$ contenant
$X_\mathbb{X}$, clos par complémentation et par union dénombrable. Dans le cadre
de la théorie de la probabilité, $X_\mathbb{X}$ est appelé un \emph{univers},
représentant l'ensemble de toutes les résultats d'une expérience donnée, et
$\mathcal{A}_\mathbb{X}$ l'ensemble des événements. Une mesure de probabilité
$\mathbb{P}$ associe à chaque événement sa probabilité, c'est-à-dire une
valeur de $[0,1]$ telle que $\mathbb{P}(X_\mathbb{X})=1$ et $\mathbb{P}(\cup_i
A_i)=\sum_i \mathbb{P}(A_i)$ pour toutes familles dénombrables d'événements
disjoints $\{A_i\}$.
Un modèle peut être la représentation d'une expérience probabiliste: nous
parlerons ici de \emph{modèle probabiliste}.
%%
\begin{mpo-definition}[Modèle probabiliste]\label{def:probmodel}
Un \emph{modèle probabiliste} est un modèle $\modelM$ caractérisé par un couple
$\langle \mathbb{X}_\modelM, \mathbb{P}_\modelM \rangle$ tel que
\begin{enumerate}
\item $\mathbb{X}_\modelM = \langle X_\modelM, \mathcal{A}_\modelM \rangle$ est
un espace mesurable, et
\item $\mathbb{P}_\modelM$ est une probabilité sur $\mathbb{X}_\modelM$.
\end{enumerate}
L'ensemble des faits de $\modelM$ est donné par:
$$
E_\modelM = \{ (A,\mathbb{P}_\modelM(A)) \mid A \in \mathcal{A}_\modelM \}
$$
\end{mpo-definition}
On remarquera que cette définition décrit les modèles probabilistes comme des
modèles à observables privilégiées particuliers.
\begin{mpo-exemple}\label{ex:malthus2}
La croissance de Malthus décrite exemple~\ref{ex:malthus} peut être modélisée
par un processus aléatoire reposant sur une simple règle de reproduction,
semblable à une division cellulaire:
\begin{equation}
X \stackrel{r}\longrightarrow 2 X\label{eq:divrule}
\end{equation}
$X$ représente un individu et $r$ est le taux de division des individus.
Étant donnée une population composée de $N_0$ individus, nous cherchons à
décrire le temps d'attente avant la prochaine division.
On suppose pour cela que deux divisions ne peuvent être simultanées et que les
individus se divisent de façon indépendante.
À partir de la règle~(\ref{eq:divrule}), nous posons la probabilité
infinitésimale $r d\tau$ qu'un individu se divise à l'instant $\tau$,
c'est-à-dire durant l'intervalle de temps infinitésimal $[\tau,\tau + d\tau]$.
Ces observations nous permettent de déduire les probabilités suivantes:
\begin{itemize}
\item $r N d\tau$, la probabilité infinitésimale d'une division pour une
population de $N$ individus (indépendants par hypothèse) à l'instant $\tau$,
\item $e^{-r N_0 \tau}$, la probabilité qu'aucune division n'ait lieu durant
l'intervalle $[0,\tau]$, et
\item $N_0 r e^{-r N_0 \tau} d\tau$, la probabilité infinitésimale que la
prochaine division ait lieu à l'instant $\tau$.
\end{itemize}
Cette dernière expression nous amène à considérer la probabilité que la
prochaine division se produise durant un certain intervalle de temps, posant
ainsi les termes d'un modèle probabiliste $\model{M}{\it div.}$ de la
croissance Mathusienne.
Pour cela, considérons
%%
d'une part l'espace mesurable $\mathbb{X}_{\model{M}{\it div.}}$ comme étant
l'ensemble des réels positifs $\mathbb{R}^+$ muni de sa tribu Borélienne
classique, c'est-à-dire engendrée par les intervalles fermés $[t_1,t_2]$,
%%
et d'autre part la mesure de probabilité:
$$
\mathbb{P}_{\model{M}{\it div.}}([t_1,t_2]) =
\int_{t_1}^{t^2} r N_0 e^{-r N_0 \tau} d\tau =
[ -e^{-r N_0 \tau} ]_{t_1}^{t_2} =
e^{-r N_0 t_1} - e^{-r N_0 t_2}
$$
L'ensemble des faits de $\model{M}{\it div.}$ est alors donné par:
$$
E_{\model{M}{\it div.}} =
\{ ([t_1,t_2], \mathbb{P}_{\model{M}{\it div.}}([t_1,t_2]))
\mid t_1,t_2 \in \mathbb{R}^+\}
$$
\end{mpo-exemple}
\FloatBarrier
\subsection{Modélisations d'un système proie-prédateur}\label{sec:preypred}
Nous proposons dans cette dernière section d'illustrer comment les différentes
classes de modèles que nous venons d'énumérer permettent plusieurs
compréhensions d'un même système. Nous nous intéressons en particulier à la
modélisation des systèmes proie-prédateur.
Un système proie-prédateur est un système dans lequel deux populations, celles
des proies et celle des prédateurs, varient à cause de leurs interactions, dont
la principale est la prédation. Voici deux exemples de ces systèmes:
\begin{itemize}
\item La variation du nombre d'individus dans les populations de lynx et de
lièvres des neiges, dont un modèle expérimental a été constitué par la
Compagnie de la Baie d'Hudson~\cite{odum_fundamentals_1959}.
\item La variation du nombre d'individus dans les populations de loups et
d'élans, dont un modèle expérimental a été constitué par le parc national
d'Isle Royale~\cite{peterson_ecological_1997}.
\end{itemize}
En suivant au cours du temps les tailles des deux populations, il est possible
d'observer des oscillations couplées plus ou moins régulières. À certaines
périodes, un déficit en prédateurs permet aux proies de se développer, alors
qu'à d'autres périodes les prédateurs dominent et les proies se font rares.
Ces oscillations sont explicables en considérant le comportement des proies et
des prédateurs à partir des trois processus suivants:
\begin{description}
\item[Naissance:] Les proies se reproduisent en fonction des ressources
disponibles, des individus apparaissent avec un certain taux de natalité.
\item[Mort:] Les proies et les prédateurs n'étant pas éternels, les individus
disparaissent avec un certain taux de mortalité.
\item[Prédation:] Il s'agit de l'activité principale des prédateurs et la
seule interaction considérée entre les deux populations; elle est nécessaire
à la reproduction des prédateurs et induit un facteur de mortalité
supplémentaire pour les proies.
\end{description}
En 1920, A. J. Lotka propose dans~\cite{lotka_analytical_1920} une
description formelle d'un tel modèle à travers un système de réactions
autocatalytiques, à la façon d'un jeu de réaction chimique. L'étude de ce
type de systèmes l'amena quelques années plus tard à proposer une analyse
de la dynamique de ce système sous la forme d'un système d'équations
différentielles couplées~\cite{lotka_elements_1925}. Le même type d'équations
furent également proposées indépendamment par V. Volterra à la même
période~\cite{volterra_fluctuations_1926}. Depuis, plusieurs autres modèles
plus élaborés ont été proposés pour prendre en considération d'autres facteurs
environnementaux, ou encore l'incidence de l'organisation spatiale des
populations.
Les études des systèmes proies-prédateurs nous offrent ainsi un échantillon de
modèles nous permettant d'illustrer notre approche. Nous allons dans la suite de
cette section décrire quelques modèles de systèmes proie-prédateur repris des
travaux de A.J. McKane~\cite{mckane_predator-prey_2005,lugo_quasicycles_2008}.
\paragraph{Modèle \emph{à la} Volterra.}
%
Dans cette description, nous considérons que le système est décrit par
deux observables représentant les densités de population des proies et des
prédateurs. En notant, $U_V$ et $U_P$ respectivement ces densités, les
trajectoires du système au cours du temps sont décrites par le système
d'équations différentielles suivant:
\begin{equation}
\left\{
\begin{array}{rcl}
\displaystyle\frac{dU_V}{dt} &=& r U_V (1 - \displaystyle\frac{U_V}{K})
- g U_P U_V\\[1.5ex]
\displaystyle\frac{dU_P}{dt} &=& n U_V U_P - \mu U_P
\end{array}
\right.
\label{eq:volterra}
\end{equation}
Ce modèle dépend des paramètres $r$, $K$, $g$, $n$ et $\mu$. Comme précisé
dans~\cite{mckane_predator-prey_2005}, on rencontre souvent sous le nom de
modèle de Lotka-Volterra ce même système où le terme $U_V/K$ est absent. Le
coefficient $K$ quantifie la capacité limite de l'environnent à accueillir des
individus.
Cette formalisation permet de constituer un modèle $\model{M}{V}$
\emph{dynamique à observables}. On définit la signature du modèle par:
$$
\sig_{\model{M}{V}} = \dom_{\obsn{Initial}} \times \dom_{\obsn{Temps}} \times \dom_{\obsn{Etat}}
$$
$\dom_{\obsn{Initial}} = \dom_{\obsn{Etat}} = \mathbb{R}^+ \times
\mathbb{R}^+$ correspondant à des couples \emph{(densité de proie, densité
de prédateur)} et $\dom_{\obsn{Temps}} = \mathbb{R}^+$ avec sa structure de
monoïde usuelle représentant des durées. L'ensemble des faits est donné comme un
sous-ensemble de $\sig_{\model{M}{V}}$ par:
$$
E_{\model{M}{V}} = \left\{ (U_V(0),U_P(0),t,U_V(t),U_P(t))
\mid U_V, U_P \textnormal{ sol. de (\ref{eq:volterra})} \right\}
\subset\sig_{\model{M}{V}}
$$
Une \emph{solution de (\ref{eq:volterra})} correspond à tout couple de fonctions
du temps vérifiant l'équation; toutes les conditions possibles sont prises en
compte. Nous remarquons de plus que la résolution de l'équation se fait une
fois les paramètres fixés. Ainsi, à chaque jeu de paramètres correspondra un
modèle.
En tant que modèle dynamique, on peut extraire de la définition de
$E_{\model{M}{V}}$ une action de monoïde donnée par:
$$
\Phi_{\model{M}{V}}( [U_V(0),U_P(0)], t ) = [ U_V(t),U_P(t) ]
$$
pour chaque élément de $E_{\model{M}{V}}$.
\paragraph{Modèle \emph{à la} Volterra spatialisé.}
%
Dans sa version spatialisée, les densités de population sont distribués sur un
espace particulier, disons l'espace euclidien de dimension 2 $\mathbb{E}^2$,
représentant la région dans laquelle les individus peuvent se déplacer.
En d'autres termes, les densités $U_V$ et $U_P$ deviennent des champs,
respectivement $u_V$ et $u_P$, définis sur $\mathbb{E}^2$. Les équations sont
modifiées en ajoutant un terme de diffusion modélisant ces déplacements:
\begin{equation}
\left\{
\begin{array}{rcl}
\displaystyle\frac{du_V}{dt} &=& r u_V (1 - \displaystyle\frac{u_V}{K})
- g u_P u_V + D_V (\nabla^2 u_V + u_V \nabla^2 u_P - u_P \nabla^2 u_V)
\\[1.5ex]
\displaystyle\frac{du_P}{dt} &=& n u_V u_P - \mu u_P +
D_P (\nabla^2 u_P + u_P \nabla^2 u_V - u_V \nabla^2 u_P)
\end{array}
\right.
\label{eq:spacevolterra}
\end{equation}
$D_V$ et $D_P$ sont les coefficients de diffusion respectifs des populations
de proies et de prédateurs, et $\nabla^2$ dénote le Laplacien. Suivant les
remarques de~\cite{lugo_quasicycles_2008}, les termes exprimant une diffusion
croisée en $(u_V \nabla^2 u_P - u_P \nabla^2 u_V)$ entre les deux populations
sont peu conventionnels mais correspondent à la considération d'une limitation
de la capacité d'accueil de l'environnement. Ces termes disparaissent lorsque
cette limite est levée.
Il est possible d'associer à ce nouveau système d'équations une extension du
modèle non spatialisé $\model{M}{V}$, un modèle $\model{M}{SV}$ \emph{dynamique
à observables et à base champs}. L'ensemble des faits du modèle se construit de
la même façon que précédemment en prenant en compte l'espace.
$$
E_{\model{M}{SV}}= \{\; (t,x,y,u_V(0,x,y),u_P(0,x,y),u_V(t,x,y),u_P(t,x,y))
\mid u_V, u_P \textnormal{ sol. de (\ref{eq:spacevolterra})} \;\}
$$
En tant que modèle dynamique, on peut extraire de cette définition une action de
monoïde donnée par:
$$
\Phi_{\model{M}{SV}}( [(x,y) \mapsto u_V(0,x,y),(x,y) \mapsto u_P(0,x,y)], t)
= [(x,y) \mapsto u_V(t,x,y), (x,y) \mapsto u_P(t,x,y)]
$$
agissant sur l'ensemble des fonctions deux fois différentiables de
$\mathbb{E}^2$ dans $\mathbb{R}^+ \times \mathbb{R}^+$, pour chaque élément de
$E_{\model{M}{SV}}$.
En tant que modèle à base de champs, une fonction continue donnée par:
$$
f_{\model{M}{SV}}(t,x,y) = (u_V(0,x,y),u_P(0,x,y),u_V(t,x,y),u_P(t,x,y))
$$
peut être extraite de la définition de $E_{\model{M}{SV}}$ en munissant
l'espace de départ $\mathbb{E}^2 \times \mathbb{R}^+$ et l'espace d'arrivée
$\mathbb{R}^+ \times \mathbb{R}^+ \times \mathbb{R}^+ \times \mathbb{R}^+$, de
leurs topologies habituelles.
%%
Une autre approche mettant en avant l'indépendance temps/espace telle que nous
l'avons décrite plus haut, est donnée par la définition suivante:
$$
f_{\model{M}{SV}}(x,y) = ([u_V(0,x,y),u_P(0,x,y)],t) \mapsto [u_V(t,x,y),u_P(t,x,y)]
$$
allant de $\mathbb{E}^2$ muni de sa topologie classique vers un espace d'actions
de monoïde. La topologie de cet espace est héritée de celle sur $\mathbb{E}^2$.
\paragraph{Modèle \emph{à la} Lotka.}
%
Cette approche, radicalement différente des précédentes, est fondée sur les
premières descriptions de A. J. Lotka à base de réactions chimiques. On assimile
le système à une solution chimique de taille fixe composée de $N$ molécules
prises parmi trois types d'éléments différents: $V$ représentant une proie,
$P$ pour un prédateur, et $E$ une place vide. Les interactions entre les trois
espèces chimiques sont régies par les réactions suivantes:
\begin{equation}
\begin{array}{c}
V + E \overset{b}{\longrightarrow} 2\,V \\
P + V \overset{p_1}{\longrightarrow} 2\,P \qquad P +
V \overset{p_2}{\longrightarrow} P + E \\
V \overset{d_V}{\longrightarrow} E \qquad P \overset{d_P}{\longrightarrow} E
\end{array}
\end{equation}
On reconnaît facilement les trois processus décrits en début de section: la
naissance d'une proie représentée comme une division cellulaire consommant une
place vide, la prédation qui occasionne certaine fois la reproduction d'un
prédateur, et la mort des deux types d'individus donnant de nouvelles places
vides. Chaque réaction est paramétrée par une constante, appelée \emph{constante
stochastique\footnote{On reprend ici le vocabulaire de D.T. Gillespie qui
discute dans~\cite{gillespie_exact_1977} de la différence entre constante
stochastique et constante cinétique.}}. Cette constante représente le taux avec
lequel le processus correspondant a lieu. En terme de probabilité, $d_V d\tau$
est par exemple la probabilité infinitésimale qu'une proie meurt de sa belle
mort (c'est-à-dire sans avoir été chassée) pendant l'intervalle de temps
infinitésimal $d\tau$.
D. T. Gillespie a proposé dans~\cite{gillespie_exact_1977} une méthode de
simulation stochastique exacte de système de réactions chimiques sous hypothèse
d'homogénéité. Nous pouvons ainsi considérer un modèle \emph{dynamique
probabiliste} des systèmes proie-prédateur $\model{M}{L}$ à partir des
trajectoires simulées. De façon informelle, l'ensemble des faits correspond
à toutes ces trajectoires. Chacune de ces trajectoires peut être pondérée
par une probabilité d'occurrence au sein des trajectoires partageant les
mêmes conditions initiales. Ainsi, un sous modèle probabiliste au sens de la
définition~\ref{def:probmodel} peut être établi pour chaque population initiale.
Nous préférons ici mettre l'accent sur les aspects temporels du modèle.
Ainsi, nous établissons un ensemble de faits, équivalent à celui que nous
venons d'évoquer. Pour se faire, nous considérons d'une part la probabilité
$P(n_V,n_P,t|n_V^0,n_P^0)$ que \emph{le système soit composé de $n_V$ proies
et $n_P$ prédateurs au temps $t$ considérant une population initiale de
$n_V^0$ proies et $n_P^0$ prédateurs}, et d'autre part, le domaine \emph{fini}
$\dom_\obsn{Pop}$ des populations possibles:
$$
\dom_\obsn{Pop} = \{ (n_V,n_P)\in \mathbb{N}^2 \mid n_V + n_P \le N \}
$$
Considérant que les densités de probabilité sur $\dom_\obsn{Pop}$ sont des
fonctions $d:\dom_\obsn{Pop} \rightarrow [0,1]$ telles que
$$
\sum_{s\in\dom_\obsn{Pop}} d(s) = 1,
$$
l'action de monoïde\footnote{On montre facilement qu'il s'agit d'une action de
monoïde en remarquant que
$$
P(s',0|s) = \delta_s^{s'}
\qquad
P(s,t_1 + t_2|s'') = \sum_{s'\in\dom_\obsn{Pop}} P(s,t_2|s') P(s',t_1|s'')
$$} de $\mathbb{R}^+$ est défini sur les densités de probabilité par:
$$
\Phi_{\model{M}{L}}(d, t) = s \mapsto \sum_{s' \in \dom_\obsn{Pop}} d(s') P(s,t|s')
$$
pour finalement obtenir la description de $\model{M}{L}$ comme un modèle
dynamique.
\paragraph{Modèle \emph{à la} Lotka spatialisé.}
%
L'objet principal présenté dans~\cite{lugo_quasicycles_2008} est une version
spatialisée du modèle à base de réactions chimiques $\model{M}{L}$ que nous
venons de voir. L'extension consiste en deux points:
\begin{enumerate}
\item Le modèle $\model{M}{L}$ est copié sur chaque position d'une
organisation spatiale discrète $\Omega$. Afin de se rapprocher du modèle
$\model{M}{SV}$, on définit $\Omega$ comme un ensemble d'indices permettant
d'identifier les positions d'une grille carrée à 2 dimension. Chaque
molécule est alors positionnée: $V^i$, $P^i$ et $E^i$ correspondent
respectivement à une proie, un prédateur et une place libre en position $i
\in \Omega$.
\item Les réactions chimiques de $\model{M}{L}$ sont également positionnées
sur $\Omega$, et deux règles de déplacement sont ajoutées pour simuler le
mouvement des individus:
\begin{equation}
\begin{array}{c}
V^i + E^i \overset{b}{\longrightarrow} 2\,V^i \\
P^i + V^i \overset{p_1}{\longrightarrow} 2\,P^i \qquad
P^i + V^i \overset{p_2}{\longrightarrow} P^i + E^i\\
V^i \overset{d_V}{\longrightarrow} E^i \qquad
P^i \overset{d_P} {\longrightarrow} E^i\\
V^i + E^j \overset{m_V}{\longrightarrow} E^i + V^j \qquad
P^i + E^j \overset{m_P}{\longrightarrow} E^i + P^j
\end{array}
\end{equation}
pour toutes positions \emph{voisines} $i, j \in \Omega$.
\end{enumerate}
Cette extension formalise un nouveau modèle $\model{M}{SL}$ qui est à la fois
\emph{probabiliste, dynamique et à base de champ}.
Nous n'entrerons pas dans les détails de ces définitions qui restent
très proches des constructions que nous avons déjà vues. Cependant, nous
pouvons en conclure que les modèles $\model{M}{V}$, $\model{M}{SV}$,
$\model{M}{L}$ et $\model{M}{SL}$ sont proches les uns des autres.
Dans~\cite{mckane_predator-prey_2005, lugo_quasicycles_2008} se trouvent
d'ailleurs les clés de ces relations, expliquant comment établir des ponts
formels entre les modèles. Ainsi, on constatera que $\model{M}{V}$ décrit le
comportement moyen des trajectoires de $\model{M}{L}$, alors que $\model{M}{SV}$
coïncide avec $\model{M}{V}$ lorsque les densités de populations sont
spatialement homogènes.
Dans la suite, nous proposons un cadre formel pour décrire ces relations.
Notre construction se fonde sur la notion d'abstraction telle que celle que
nous avons de mentionné rapidement entre $\model{M}{V}$ et $\model{M}{L}$,
ou entre $\model{M}{V}$ et $\model{M}{SV}$. L'abstraction autorise également
la composition de modèles pour obtenir des descriptions plus précises
couplant des travaux initialement indépendants. Ainsi, on pourra poser la
question d'un modèle permettant de coupler à la fois $\model{M}{SV}$ et
$\model{M}{L}$, combinant d'un part une représentation stochastique des
interactions individuelles, et la dynamique de la répartition spatiale des
populations d'autre part. On pourra également s'intéresser aux relations
entre ce couplage et la description proposée par $\model{M}{SL}$. La
\textsc{Fig.}~\ref{fig:model-lv} synthétise cette situation.
\begin{figure}[ht]
\centering
\includegraphics[page=1,width=.60\textwidth]{schema-lv}
\caption{Comment définir le couplage des modèles $\model{M}{SV}$ et
$\model{M}{L}$ ? Quel rapport existe-t-il entre ce couplage et
$\model{M}{SL}$ ?}
\label{fig:model-lv}
\end{figure}
\section{Composition des modèles}\label{sec:compmodel}
Les sections~\ref{sec:multiniveau} et~\ref{sec:consmodel} nous ont amené à voir
un modèle comme un ensemble de faits. De ce point de vue, la comparaison entre
modèles est limitée à l'étude de leurs propriétés ensemblistes.
%%
Comme nous l'avons vu section~\ref{sec:multiniveau}, l'abstraction entre
modèles est un élément clé de la modélisation multi-niveau. Nous proposons
ici d'en faire une interprétation ensembliste permettant de raffiner et
coupler différents modèles d'un même système. Ainsi, le passage d'un
modèle $\model{M}{+}$ à un modèle $\model{M}{-}$ s'effectue à travers la
reconnaissance d'une \emph{flèche d'abstraction} entre ces modèles définie
de la façon suivante: \emph{si $\model{M}{+}$ est une abstraction de
$\model{M}{-}$, alors chaque fait de $\model{M}{-}$ peut être associé à un fait
de $\model{M}{+}$}. L'étude des relations entre les modèles proie/prédateur de
la section~\ref{sec:preypred} illustre ce type de construction; les trajectoires
stochastiques du modèle probabiliste sont associées aux trajectoires moyennes du
modèle déterministe.
Cette description nous amène à considérer l'ensemble des fonctions de
$\model{M}{-}$ vers $\model{M}{+}$, chacune comprise comme une relation
d'abstraction possible entre les deux modèles. Cependant, il est raisonnable
de se demander si toutes ces fonctions sont éligibles au titre d'abstraction.
Ce n'est définitivement pas le cas au regard de l'exemple des modèles de
proie/prédateur. La construction de la flèche d'abstraction repose sur des
techniques mathématiques précises qui assurent une cohérence entre les
trajectoires stochastiques et les trajectoires déterministes. Cette cohérence
vient du fait que les deux modèles développent deux compréhensions différentes
du \emph{même} système, et une fonction arbitrairement choisie entre les
ensembles de faits de $\model{M}{-}$ et de $\model{M}{+}$ a peu de chance de
respecter ce \emph{rapport au système}. Comparer deux modèles d'un système
proie-prédateur a du sens, justement car ce sont deux modèles du même système,
ils parlent de la même «chose»: les faits de $\model{M}{-}$ concernant les
proies sont envoyés vers des faits de $\model{M}{+}$ concernant les proies, les
prédateurs de $\model{M}{-}$ vers les prédateurs de $\model{M}{+}$, le temps de
$\model{M}{-}$ vers le temps de $\model{M}{+}$, l'espace de $\model{M}{-}$ vers
l'espace de $\model{M}{+}$, etc. Il est raisonnable donc d'attendre que les
flèches d'abstraction soient les fonctions de $\model{M}{-}$ vers $\model{M}{+}$
qui respectent la \emph{sémantique} imposée par le système.
En se référant aux notations précédentes, il est clair qu'un modèle $\modelM$
ne peut être restreint qu'à son seul ensemble de faits $E_\modelM$. Il est
nécessaire de lui associer également une sémantique $\sigma_\modelM$. La
question qui nous est alors posée est comment formaliser cette sémantique. Nous
développons ici une proposition fondée sur la définition usuelle des modèles vus
comme des \emph{abstractions} du système. La sémantique $\sigma_\modelM$ serait
alors vu comme une flèche d'abstraction au sens que nous venons d'évoquer.
L'idée générale consiste donc, pour un système $S$ donné, de considérer un
\emph{modèle de référence} $\model{M}{S}$ auquel tout autre modèle $\modelM$ de
$S$ se rapportera par une fonction $\sigma_\modelM$ allant de $E_{\model{M}{S}}$
vers $E_\modelM$.
Dans cette section, nous proposons d'utiliser la théorie des catégories pour
élaborer un cadre formel suffisant à la réalisation de cette proposition. Pour
plus de clarté, nous commençons par une instanciation informelle dans le cadre
des sciences expérimentales. Nous introduisons ensuite les éléments de la
théorie des catégories nécessaires à la compréhension de notre formalisation
avec laquelle nous clôturerons le chapitre.
\subsection{Application en sciences expérimentales}\label{sec:scexp}
La méthodologie que nous proposons est adaptée au cadre des sciences
expérimentales où le rapport entre un modèle et le système qu'il décrit est
donné par l'expérience. En effet, le contexte expérimental nous invite à
considérer comme modèle de référence d'un système $S$, l'ensemble de tous les
résultats d'expériences possibles sur $S$. Tout modèle sera alors \emph{validé}
s'il est en accord avec lexpérience, c'est-à-dire lorsque les faits
expérimentaux seront associés aux faits que le modèle décrit.
%%
La \textsc{Fig.}~\ref{fig:model-validation} illustre la situation: le modèle
$\modelM$ se rapporte au système $S$ \emph{via} le modèle expérimental
$\model{M}{S}$. Ce lien est noté ici par une flèche d'abstraction qui correspond
à la validation du modèle $\modelM$ faisant appel à une démarche expérimentale
usuelle:
\begin{enumerate}
\item Collecter des données par des mesures, des expériences: peupler
$\model{M}{S}$
\item Proposer un modèle permettant de rendre compte de ces mesures:
construire le modèle $\modelM$
\item \emph{Valider} les prédictions du modèles en les comparant aux mesures
directement prises du système étudié: établir la fonction
$\sigma_{\model{M}{S}}$ de $\model{M}{S}$ vers $\modelM$.
\end{enumerate}
Nous noterons en particulier dans cette figure la frontière claire, représentée
en pointillés, entre les modèles et le système: le système $S$ n'est pas un
modèle et les flèches d'abstraction et notamment les validations, ne relient
que des modèles. On montre ici que la modélisation dépend de la qualité des
expérimentations (par exemple de la précision des outils de mesure utilisés)
et peut être réévaluée (soit en rejetant un modèle, soit en l'approuvant plus
fortement encore) avec l'évolution des méthodes expérimentales, c'est-à-dire en
reconsidérant la définition de $\model{M}{S}$.
\begin{figure}[ht]
\centering
\includegraphics[page=1,width=.45\textwidth]{model-relations}
\caption{Représentation schématique de la relation entre un modèle $\modelM$
et un système $S$$\model{M}{S}$ est le modèle de référence.}
\label{fig:model-validation}
\end{figure}
Pour illustrer nos propos, considérons le système expérimental $S$ suivant:
un ballon de baudruche gonflé à l'azote est attaché au fond d'une cuve d'eau
maintenue à \SI{20}{\celsius}, entièrement immergé. On cherche à comprendre la
force de traction qu'exerce le ballon à son point de fixation.
On remarque après quelques tests que cette force dépend du volume $V_e$
qu'occupe le ballon, sachant que celui-ci éclatera au-delà d'un volume maximal
$V_\mathrm{max}$.
Deux modélisateurs s'attaquent au problème et cherchent à établir une loi
reliant force et volume. Après avoir longuement considéré les
données récoltées, ils proposent les modèles suivants:
\begin{description}
\item[Modèle $\model{M}{1}$:]
le premier modélisateur établit que \emph{la relation entre la force et le
volume repose sur un rapport de proportionnalité} en accord avec la poussée
d'Archimède et propose le modèle équationnel:
$$
E_{\model{M}{1}} = \{ (F,V) \in \dom_\obsn{Traction} \times \dom_\obsn{Volume}
\mid F= c_0 V \} \uplus \{ \bot, \mathit{éclaté} \}
$$
à deux observables $\obsn{Traction}$ (en Newton dans $\dom_\obsn{Traction} =
\mathbb{R}^+$) représentant la force de traction verticale et orientée vers
le haut au point de fixation $P$ du ballon, et $\obsn{Volume}$ (en mètre
cube dans $\dom_\obsn{Volume} = \mathbb{R}^+$), le volume de fluide déplacé.
Le coefficient de proportionnalité $c_0 = \rho_E g$ est donné par $\rho_E =
\SI{1.0}{\kilogram\per\metre\cubed}$, la masse volumique de l'eau, et $g =
\SI{9.81}{\newton\per\kilogram}$, l'accélération de la pesanteur terrestre.
La validation de ce modèle passe par une comparaison entre les mesures faites
expérimentalement et les résultats théoriques apportés par la loi proposée.
Il s'avère que dans une certaine marge, à savoir lorsque le volume $V$
déplacé est supérieure à un seuil $V_a$ (c'est-à-dire lorsque le ballon est
suffisamment gonflé mais qu'il n'a pas encore éclaté), les calculs produisent
des résultats très proches de l'observation, l'écart pouvant être attribué
à l'appareil de mesure\footnote{Plus précisément, la différence observée
peut être expliquée par la non prise en compte dans $\model{M}{1}$ du poids
du ballon et de l'azote qu'il contient. On peut en effet rajuster la force
s'exerçant au point de contact par l'équation $F = (c_0 - c_1) V - c_2$
$c_1 = \rho_N g$ avec $\rho_N = \SI{1.25}{\gram\per\liter}$ à la masse
volumique de l'azote, et $c_2 = m_B g$ avec $m_B$ la masse du ballon (de
l'ordre d'une dizaine de grammes par exemple).}. En dehors de cette marge,
l'équation proposée est fausse, et l'on peut se reporter sur le symbole
$\mathit{éclaté}$ pour les volumes $V > V_\mathrm{max}$, ou sur le symbole
$\bot$ représentant l'absence d'explication par le modèle $\model{M}{1}$
lorsque $V < V_a$. Ainsi la sémantique de $\model{M}{1}$ revient à associer
à une mesure expérimentale $V_e$ du volume du ballon, le calcul théorique
lorsque l'on est dans l'intervalle d'acceptation $[V_a,V_\mathrm{max}]$ du
modèle:
$$
\sigma_{\model{M}{1}}(V_e) =
\left\{ \begin{array}{ll}
\bot & \textnormal{si } V_e < V_a\\
(c_0 V_e, V_e) & \textnormal{si } V_a \le V_e < V_\mathrm{max} \\
\mathit{éclaté} & \textnormal{si } V_e = \mathit{éclaté}
\end{array}\right.
$$
%% Deux particularités : on voit qu'un modèle peut proposer plus de faits que
%% nécessaires, mais ceux-ci ne sont pas adressé par la sémantique, et qu'un
%% modèle peut proposer un << absorbant >> comme $\bot$ pour les faits qu'il
%% n'est pas capable d'expliquer.
\item[Modèle $\model{M}{2}$:]
Dans ce second modèle décrivant le système de manière qualitative, les
observables sont données empiriquement par des valeurs discrètes symboliques:
$$
E_{\model{M}{2}} = \{ (\mathit{faible},\mathit{petit}),
(\mathit{faible},\mathit{moyen}),
(\mathit{forte},\mathit{moyen}),
(\mathit{forte},\mathit{gros}),
\mathit{éclaté} \}
$$
La sémantique de ce second modèle, moins précis, repose simplement sur une
observation visuelle du ballon.
%%
Pour ce qui est de la force exercée, lorsque le nœud du ballon \emph{semble}
tendu, la traction est considérée $\mathit{forte}$, sinon $\mathit{faible}$.
%%
La taille du ballon est appréciée sur une échelle à 3 niveaux
($\mathit{petit}$, $\mathit{moyen}$, $\mathit{gros}$), sans compté l'état
$\mathit{éclaté}$. En définitif, les mesures expérimentales du volume $V_e$
sont classées en quatre catégories définies par trois valeurs seuils $V_k$
($k\in\{1,2,3\}$) à travers la sémantique suivante:
$$
\sigma_{\model{M}{2}}(V_e) =
\left\{ \begin{array}{ll}
(\mathit{faible},\mathit{petit}) & \textnormal{si } V_e < V_1 \\
(\mathit{faible},\mathit{moyen}) & \textnormal{si } V_1 \le V_e < V_2\\
(\mathit{forte},\mathit{moyen}) & \textnormal{si } V_2 \le V_e < V_3 \\
(\mathit{forte},\mathit{gros}) & \textnormal{si } V_3 \le V_e < V_\mathrm{max}\\
\mathit{éclaté} & \textnormal{si } V_e = \mathit{éclaté}
\end{array}\right.
$$
\end{description}
Il est clair que le modèle $\model{M}{2}$ est plus abstrait que $\model{M}{1}$.
Formellement, on peut traduire cette abstraction en mettant en relation
les faits constituant les deux modèles à travers une fonction $a$ de
$E_{\model{M}{1}}$ vers $E_{\model{M}{2}}$. Pour les besoins de l'exemple, on
suppose que $V_a < V_1$. La flèche d'abstraction $a$ est définie par:
$$
a(s) =
\left\{\begin{array}{ll}
(\mathit{faible},\mathit{petit}) & \textnormal{si } s = \bot\\
(\mathit{faible},\mathit{petit}) & \textnormal{si } s = (F,V)
\textnormal{ et } V < V_1\\
(\mathit{faible},\mathit{moyen}) & \textnormal{si } s = (F,V)
\textnormal{ et } V_1 \le V < V_2\\
(\mathit{forte},\mathit{moyen}) & \textnormal{si } s = (F,V)
\textnormal{ et } V_2 \le V < V_3\\
(\mathit{forte},\mathit{gros}) & \textnormal{si } s = (F,V)
\textnormal{ et } V_3 \leq V < V_\mathrm{max}\\
\mathit{éclaté} & \textnormal{si } s = (F,V)
\textnormal{ et } V_\mathrm{max} \le V\\
\mathit{éclaté} & \textnormal{si } s = \mathit{éclaté}
\end{array}\right.
$$
Il est facilement de vérifier que la fonction d'abstraction $a$ respecte les
sémantiques proposées par :
$$
\sigma_{\model{M}{2}} = a \circ \sigma_{\model{M}{1}}
$$
Autrement dit, tout fait expérimental (représenté ci-dessus par une mesure
$V_e$) est envoyée vers le même fait de $\model{M}{2}$ en passant soit
directement par la sémantique de $\model{M}{2}$, soit indirectement en utilisant
la sémantique de $\model{M}{1}$ composée avec la fonction d'abstraction. Cette
situation est illustrée \textsc{Fig.}~\ref{fig:model-abstraction}.
\begin{figure}[ht]
\centering
\includegraphics[page=2,width=.45\textwidth]{model-relations}
\caption{Représentation schématique de la relation d'abstraction entre deux
modèles $\model{M}{1}$ et $\model{M}{2}$ assujettis à leur validation par
rapport au modèle de référence $\model{M}{S}$. Le modèle $\model{M}{2}$ est
une abstraction de $\model{M}{1}$.}
\label{fig:model-abstraction}
\end{figure}
\subsection{Introduction aux catégories}
Nous pensons que la théorie des catégories propose un cadre mathématique
adapté à la formalisation des notions que nous venons d'évoquer. En
particulier, les diagrammes donnés \textsc{Fig.}~\ref{fig:model-abstraction}
et \textsc{Fig.}~\ref{fig:model-lv} sont typiques de cette théorie. Dans cette
section, nous introduisons les éléments catégoriques nécessaires pour atteindre
notre objectif.
\subsubsection{Catégorie}
Une catégorie est constituée de deux types d'éléments appelés objets et
morphismes. Dans une représentation diagrammatique, les premiers sont en général
représentés par des sommets et les seconds par des flèches. Une catégorie
représente formellement comment les flèches peuvent se composer pour transiter
d'objet en objet.
\begin{mpo-definition}[Catégorie~\cite{adamek_abstract_2004}]
Une \emph{catégorie\footnote{localement petite}} est un quadruplet $\cat{K} =
(O_\cat{K},\khom_\cat{K},\kid_\cat{K},\circ_\cat{K})$
\begin{enumerate}
\item $O_\cat{K}$ est une classe\footnote{Dans la théorie des ensembles, les
\emph{classes} ont été introduites afin d'éviter les contradictions issues
d'énoncés tels que le paradoxe de Russell (\emph{Est-ce que l'ensemble des
ensembles n'appartenant pas à eux-même, $x \notin x$, appartient à lui-même
?}). Tout comme les ensembles, les classes sont des collections d'éléments
pouvant être caractérisées par un prédicat d'appartenance. La différence
entre ensembles et classes tient à la limitation imposée sur les prédicats
d'appartenance des ensembles par les axiomatisations utilisées (Z, ZF, ZFC,
etc.). Ainsi tout ensemble est une classe, mais certaines classes, dites
propres, ne sont pas des ensembles.},
dont les membres sont appelés des \emph{\objs{K}};
\item pour chaque paire d'objets $(A,B)$ de $\cat{K}$, $\khom_\cat{K}(A,B)$
est un ensemble dont les membres sont appelés des \mrphs{K} de $A$ vers $B$:
on appelle $A$, le domaine de $f$ (noté $\kdom(f)$) et $B$, le codomaine
de $f$ (noté $\kcod(f)$)\footnote{Pour assurer l'unicité du domaine et du
codomaine, les ensembles $\khom_\cat{K}(A,B)$ sont supposés deux à deux
disjoints.}; l'expression $f \in \khom_\cat{K}(A,B)$ est également notée
\morphism{f}{A}{B} ou encore $f : A \rightarrow B$;
\item pour chaque \obj{K} $A$, $\kid_\cat{K}(A)$ est un morphisme de $A$ vers
$A$ appelé la $\cat{K}$-identité sur $A$, également noté $\kid_A$;
\item $\circ_\cat{K}$ est une loi de composition associant à chaque paire de
\mrphs{K} $(f : A \rightarrow B, g : B \rightarrow C)$ un \mrph{K} $(g
\circ_\cat{K} f) : A \rightarrow C$, appelé la composition de $f$ et $g$,
assujettie aux conditions suivantes:
\begin{enumerate}
\item la composition est associative: tout triplet de \mrphs{K} $(f: A
\rightarrow B,g: B \rightarrow C,h: C \rightarrow D)$ vérifie l'équation
$h circ_\cat{K} (g \circ_\cat{K} f) = (h \circ_\cat{K} g) \circ_\cat{K}
f$;
\item les $\cat{K}$-identités sont neutres pour la composition: pour
tout \mrph{K} $f : A \rightarrow B$, on a $\kid_B \circ_\cat{K} f = f = f
\circ_\cat{K} \kid_A$.
\end{enumerate}
\end{enumerate}
\end{mpo-definition}
La difficulté de la présentation des catégories vient de son caractère
désincarné. Voici quelques exemples de catégories que nous avons déjà évoquées
et dont nous ferons usage dans la suite.
\begin{mpo-exemple}[Catégorie des ensembles]\label{def:cat}
On note $\cat{Set} =
(O_\cat{Set},\khom_\cat{Set},\kid_\cat{Set},\circ_\cat{Set})$ la catégorie des
ensembles où:
\begin{enumerate}
\item $O_\cat{Set}$ est la classe de tous les ensembles,
\item $\khom_\cat{Set}(A,B)$ pour deux ensembles $A$ et $B$ est l'ensemble des
fonctions de $A$ dans $B$,
\item $\kid_\cat{Set}(A)$ est la fonction identité pour chaque ensemble $A$,
et
\item $\circ_\cat{Set}$ est l'opérateur de composition de fonctions usuel en
théorie des ensembles.
\end{enumerate}
\end{mpo-exemple}
\begin{mpo-exemple}[Catégorie des espaces topologiques]
La catégorie des espaces topologiques $\cat{Top}$ a pour objets les espaces
topologiques et pour morphismes, les fonctions continues. Pour tout espace
$\Space$, $\kid_\Space$ est la fonction identité (toujours continue). La
composition est la composition de fonctions usuelle dont on peut montrer
qu'elle respecte la continuité: toute composition de fonctions continues est
continue.
\end{mpo-exemple}
\begin{mpo-exemple}[Catégorie des monoïdes]
La catégorie des monoïdes $\cat{Mon}$ a pour objets les monoïdes et pour
morphismes, les \emph{morphismes de monoïdes}, c'est-à-dire les fonctions $h :
\Time_1 \rightarrow \Time_2$ respectant les neutres et les lois de composition
internes:
$$
h(0_{\Time_1}) = 0_{\Time_2}
\qquad
h(x +_{\Time_1} y) = h(x) +_{\Time_2} h(y)
$$
Là encore, l'identité et la composition usuelles respectent la
définition~\ref{def:cat} et sont utilisées pour compléter la définition de
$\cat{Mon}$.
\end{mpo-exemple}
\begin{mpo-exemple}[Catégorie des actions de monoïdes]
On définit la catégorie $\cat{AMon}$ ayant pour objets les actions de monoïdes
définies précédemment. On définit un morphisme entre deux actions $\Phi: E
\times \Time \rightarrow E$ et $\Phi':E' \times \Time' \rightarrow E'$ comme
un couple $\langle h,f \rangle$$h$ est un morphisme de monoïde de $\Time$
dans $\Time'$, et $f$ est une fonction de $E$ dans $E'$ tels que pour tout
$t\in\Time, x\in E$:
$$
\Phi'(f(x), h(t)) = f(\Phi(x,t))
$$
Il est aisé de montrer que
$$
\kid_\cat{AMon}(\Phi) = \langle \kid_\cat{Mon}(\Time),\kid_\cat{Set}(E) \rangle
\qquad
\langle h,f \rangle \circ_\cat{AMon} \langle h',f' \rangle = \langle h \circ_\cat{Mon} h',f \circ_\cat{Set} f' \rangle
$$
\end{mpo-exemple}
La théorie des catégories s'attache à comprendre les objets à travers les
propriétés de transition qu'exposent les morphismes. La définition de
$\cat{Top}$ par exemple nous invite à comprendre les espaces topologiques à
travers les fonctions continues. Ce point de vue est illustré par la notion
d'\emph{isomorphisme}, qui s'intéresse à savoir si deux objets ont des rôles
interchangeables dans un catégorie. La définition qui suit repose uniquement sur
les flèches reliant les deux objets concernés.
%%
\begin{mpo-definition}[Objets isomorphes]\label{def:isomor}
Soit $\cat{K}$ une catégorie. Deux \objs{K} $A$ et $B$ sont dits
\emph{isomorphes} s'il existe une paire de \mrphs{K} $f:A \rightarrow B$ et $g:
B \rightarrow A$ tels que:
$$
\kid_A = g \circ_\cat{K} f
\qquad\textnormal{ et }\qquad
\kid_B = f \circ_\cat{K} g
$$
Les morphismes $f$ et $g$ sont qualifiés d'\emph{isomorphismes}.
\end{mpo-definition}
Les objets extrémaux sont un exemple de propriété, là encore décrits en terme de
flèches.
\begin{mpo-definition}[Objet initial, objet final]
Soit \cat{K} une catégorie.
%%
Un \obj{K} $I$ est appelé \emph{objet initial} si pour chaque \obj{K} $O$, il
existe un unique morphisme allant de $I$ vers $O$.
%%
De même, un \obj{K} $F$ est appelé un \emph{objet final} si pour chaque
\obj{K} $O$ il existe un unique morphisme allant de $O$ vers $F$.
\end{mpo-definition}
À titre d'exemple, $\cat{Set}$ possède un objet initial, l'ensemble vide
$\emptyset$, alors que tout singleton constitue un objet final. Nous
constaterons d'ailleurs que lorsqu'il existe plusieurs objets initiaux
(respectivement finaux), ceux-ci sont tous isomorphes.
\subsubsection{Quelques diagrammes classiques}
Nous remarquons que les propriétés intéressantes proviennent des multiples
façons d'atteindre un objet destination à partir d'un même objet source. C'est
par exemple ce qu'exprime la définition d'isomorphisme qui implique qu'il y a
un moyen de ne pas «bouger» dans $A$ tout en passant par $B$. La propriété pour
deux chemins d'être égaux après composition s'appellent la \emph{commutativité}.
Cette notion est au cœurs de nombreuses constructions catégoriques.
Nous nous intéressons ici en particulier aux notions de \emph{limite} et de
\emph{colimite}. De façon informelle, une (co)limite consiste à trouver un objet
qui résume au mieux le comportement d'un groupe d'objets et de morphismes.
Il s'agit d'une certaine façon de la possibilité de factoriser un grand
nombre de flèches en une seule. Nous avons déjà rencontré cette construction
section~\ref{sec:ehresmann}, dans la description des travaux d'A. Ehresmann sur
la complexification structurelle: un cat-neurone, défini dans ce formalisme
comme une colimite, représente à lui seul le comportement fonctionnel d'une
famille de neurones.
Plutôt que de présenter formellement les définitions générales de limite et
colimite, nous préférons nous concentrer sur 4 constructions particulières qui
nous seront utiles dans la suite.
\paragraph{Produit et coproduit.}
%%
Ce premier groupe de (co)limites cherche à définir un représentant $P$ résumant
le comportement de deux objets $X$ et $Y$ sur n'importe quel autre objet
$Q$. On entend ici par comportement deux flèches $f$ et $g$ provenant de (ou
tombant sur) $Q$ et tombant sur (ou provenant de) $X$ et $Y$. S'il existe un
représentant $P$ résumant $X$ et $Y$ alors tout couple de flèches $(f,g)$ doit
être résumable en une unique flèche entre $P$ et $Q$. Ces considérations amènent
aux définitions suivantes.
\begin{mpo-definition}[Produit]\label{def:prod}
Soient les deux objets $X, Y$. Le \emph{produit} de $X$ et $Y$, s'il existe,
consiste en un objet $P$ et deux morphismes $p_1 : P \rightarrow X$ et $p_2 :
P \rightarrow Y$ tels que pour tout autre objet $Q$ et morphismes $p'_1 : Q
\rightarrow X$ et $p'_2 : Q \rightarrow Y$, il existe un unique morphisme $u :
Q \rightarrow P$ tel que le diagramme suivant commute
\begin{center}
\includegraphics[page=4]{model-categories}
\end{center}
\end{mpo-definition}
%%
En renversant les flèches de cette définition, on obtient le \emph{coproduit},
la construction \emph{duale} du produit.
%%
\begin{mpo-definition}[Coproduit]\label{def:coprod}
Soient les deux objets $X, Y$. Le \emph{coproduit} de $X$ et $Y$, s'il existe,
consiste en un objet $P$ et deux morphismes $i_1 : X \rightarrow P$ et $i_2 :
Y \rightarrow P$ tels que pour tout autre objet $Q$ et morphismes $i'_1 : X
\rightarrow Q$ et $i'_2 : Y \rightarrow Q$, il existe un unique morphisme $u :
P \rightarrow Q$ tel que le diagramme suivant commute
\begin{center}
\includegraphics[page=5]{model-categories}
\end{center}
\end{mpo-definition}
Illustrons ces constructions dans le cas des ensembles en commençant par le
produit. En interprétant $X$ et $Y$ comme des ensembles, la construction cherche
à définir le meilleur ensemble possible nous permettant de factoriser en une
seule fonction $u$ n'importe quel couple de fonctions $f,g$ de même domaine
$Q$. Autrement dit, pour un même élément $q \in Q$, les fonctions produisent
deux valeurs $f(q)$ et $g(q)$ respectivement dans $X$ et $Y$, et l'on cherche à
représenter ces deux valeurs en une seule dans $P$ sans perte d'information. Le
meilleur ensemble $P$ permettant de satisfaire ces contraintes est le produit
cartésien $X \times Y$.
%%
Par un raisonnement similaire, on arrive à la conclusion que le coproduit dans
\cat{Set} correspond à l'union disjointe $X \uplus Y$.
\paragraph{Produit fibré et somme amalgamée.}
%%
Ces nouvelles constructions sont proches des précédences. Le produit fibré peut
être vu comme une construction comparable à un produit avec une contrainte
supplémentaire: deux morphismes vers un troisième objet $Z$ sont utilisés pour
représenter une forme de cohérence entre $X$ et $Y$.
\begin{mpo-definition}[Produit fibré]\label{def:pullback}
Soient trois objets $X, Y, Z$ et deux morphismes $f: X \rightarrow Z$ et $g:
Y \rightarrow Z$. Le \emph{produit fibré} des morphismes $f, g$, s'il existe,
consiste en un objet $P$ et deux morphismes $p_1 : P \rightarrow X$ et $p_2 :
P \rightarrow Y$ tel que le diagramme suivant commute
\begin{center}
\includegraphics[page=6]{model-categories}
\end{center}
et soit \emph{universel}, c'est-à-dire que pour tout autre objet $Q$ et
morphismes $p'_1 : Q \rightarrow X$ et $p'_2 : Q \rightarrow Y$ alors il
existe un unique morphisme $u : Q \rightarrow P$ tel que le diagramme suivant
commute
\begin{center}
\includegraphics[page=7]{model-categories}
\end{center}
\end{mpo-definition}
%%
En renversant les flèches de cette définition, on obtient la \emph{somme
amalgamée}, la construction \emph{duale} du produit fibré.
%%
\begin{mpo-definition}[Somme amalgamée]\label{def:pushout}
Soient trois objets $X, Y, Z$ et deux morphismes $f: Z \rightarrow X$ et $g: Z \rightarrow Y$.
La \emph{somme amalgamée} des morphismes $f, g$, si elle existe, consiste en
un objet $P$ et deux morphismes $i_1 : X \rightarrow P$ et $i_2 : Y \rightarrow
P$ tel que le diagramme suivant commute
\begin{center}
\includegraphics[page=8]{model-categories}
\end{center}
et soit \emph{universel}, c'est-à-dire que pour tout autre objet $Q$ et
morphismes $i'_1 : X \rightarrow Q$ et $i'_2 : Y \rightarrow Q$ alors il existe
un unique morphisme $u : P \rightarrow Q$ tel que le diagramme suivant commute
\begin{center}
\includegraphics[page=9]{model-categories}
\end{center}
\end{mpo-definition}
Dans \cat{Set}, ces constructions existent toujours. Le produit fibré correspond
à l'opération de $\theta$-jointure, c'est-à-dire à la construction du produit
cartésien de $X$ et de $Y$ dans lequel ne seront sélectionnés que les couples
$(x,y)$ vérifiant l'équation $f(x) = g(y)$. De la même façon, la somme amalgamée
peut être vue comme l'union disjointe de $X$ et $Y$ quotientée par la relation
$f(z) \equiv g(z)$ pour tout élément $z \in Z$.
\subsubsection{Foncteurs}
Il est naturel de munir une structure algébrique d'une notion de morphisme
permettant de passer d'une algèbre à une autre en préservant la structure. Les
catégories ne font pas exception, et l'on appelle \emph{foncteur} la notion de
morphisme de catégories.
\begin{mpo-definition}[Foncteur]\label{def:foncteur}
Soient \cat{C} et \cat{D} deux catégories. Un
\emph{foncteur\footnote{covariant}} de \cat{C} vers \cat{D} est un couple de
fonctions $\ftr{F} = \langle F_0, F_1 \rangle$ tel que
\begin{itemize}
\item $F_0$ associe à chaque \obj{C} $X$, un \obj{D} $F_0(X)$,
\item $F_1$ associe à chaque \mrph{C} $f : X \rightarrow Y$, un \mrph{D}
$F_1(f) : F_0(X) \rightarrow F_0(Y)$ de sorte que:
\begin{enumerate}
\item $F_1(\kid_\cat{C}(X)) = \kid_\cat{D}(F_0(X))$ pour tout \obj{C}
$X$, et
\item $F_1(g \circ_\cat{C} f) = F_1(g) \circ_\cat{D} F_1(f)$ pour tous
\mrphs{C} $f : X \rightarrow Y$ et $g : Y \rightarrow Z$.
\end{enumerate}
\end{itemize}
\end{mpo-definition}
Remarquons que les foncteurs peuvent être composés pour donner de nouveaux
foncteurs. Il est d'usage d'utiliser $\ftr{F}$ en lieu et place de $F_0$
et $F_1$ pour éviter les indices et alléger les notations. Nous présentons
ci-dessous quelques exemples de foncteurs.
\begin{mpo-exemple}[Foncteur identité]
Pour toute catégorie $\cat{C}$, on peut définir son \emph{foncteur
identité} qui envoie chaque \obj{C} sur lui-même et chaque \mrph{C} sur
lui-même. Avec ce foncteur, tous les ingrédients sont présents pour pouvoir
définir la catégorie \cat{Cat} des catégories. Il convient ainsi de noter
$\kid_\cat{Cat}(\cat{C})$ (ou encore $1_\cat{C}$) le foncteur identité d'une
catégorie $\cat{C}$.
\end{mpo-exemple}
\begin{mpo-exemple}[Foncteur d'oubli]
De façon informelle, les \emph{foncteurs d'oubli} permettent d'envoyer les
objets d'une catégorie vers ceux d'une autre catégorie possédant moins de
contraintes (justifiant le terme d'oubli).
%%
Nous intéresserons en particulier au foncteur d'oubli permettant de passer
d'une catégorie $\cat{C}$ vers la catégorie des ensembles. Par exemple, on
peut définir les foncteurs d'oubli suivants:
\begin{itemize}
\item $\ftr{U}_\cat{Top}: \cat{Top} \rightarrow \cat{Set}$ qui envoie tout
espace topologique $\Space = \langle E_\Space, \Omega_\Space \rangle$ vers
son ensemble support $E_\Space$ (en oubliant la structure décrite par les
ouverts de $\Omega_\Space$), et toute fonction continue vers elle-même;
\item $\ftr{U}_\cat{Mon}: \cat{Mon} \rightarrow \cat{Set}$ qui envoie tout
monoïde $\Time = \langle D_\Time, 0_\Time, +_\Time \rangle$ vers son
ensemble support $D_\Time$ (en oubliant l'opération de composition entre ses
éléments), et tout morphisme de monoïde vers lui-même, en tant que fonction
de l'espace support;
\item $\ftr{U}_\cat{AMon}: \cat{AMon} \rightarrow \cat{Set}$ qui envoie toute
action $\Phi: E \times \Time \rightarrow E$ vers son ensemble support défini
par:
$$
\ftr{U}_\cat{AMon}(\Phi) = \{\; (x,\delta,\Phi(x,\delta)) \mid x \in E, \delta \in \Time \;\}
$$
et tout morphisme d'action $\langle h, f \rangle: \Phi \rightarrow \Phi'$
vers la fonction:
$$
\begin{array}{llll}
\ftr{U}_\cat{AMon}(\langle h, f \rangle): &
\ftr{U}_\cat{AMon}(\Phi) & \rightarrow & \ftr{U}_\cat{AMon}(\Phi')\\
& (x,t,x') & \mapsto & (f(x), h(t), f(x'))
\end{array}
$$
\end{itemize}
\end{mpo-exemple}
\subsubsection{Constructions catégoriques}
Nous terminons cette introduction aux catégories avec deux constructions:
l'opposée d'une catégorie et la catégorie des flèches au-dessus (ou au-dessous)
d'un objet (ou \emph{slice} catégorie).
\begin{description}
\item[Catégorie opposée:]
%%
Étant donnée une catégorie $\cat{C}$, il est toujours possible de considérer
son \emph{opposée} $\catop{C}$ qui possède les mêmes objets que $\cat{C}$ mais
dont les morphismes sont les flèches de $\cat{C}$ inversées. En d'autres termes,
entre $\cat{C}$ et $\catop{C}$, domaines et codomaines échangent leurs rôles.
Cette construction est purement symbolique et n'apporte pas de propriétés
supplémentaires à $\catop{C}$ qui n'étaient pas déjà présente chez $\cat{C}$.
Cependant, travailler dans la catégorie opposée permet souvent de travailler
avec des flèches allant dans une direction plus naturelle pour la compréhension.
L'un des principaux avantages de cette construction est de mettre en avant la
dualité entre limites et colimites. En effet, comme nous l'avons indiqué en
exemple plus haut, produit et coproduit sont des notions duales: passer de l'une
à l'autre s'effectue en changeant le sens des flèches. Ainsi, un produit dans
$\cat{C}$ se présentera sous la forme d'un coproduit dans $\catop{C}$, et vice
versa. Il en est de même pour le produit fibré et la somme amalgamée.
\item[Flèches au-dessus d'un objet:]
%%
Les morphismes étant les éléments de première importance dans les catégories, de
nombreuses situations amènent à considérer comment les flèches sont relier les
unes aux autres. Il existe plusieurs moyens de formalisation les relations entre
flèches avec l'élaboration de $2$-catégories qui ajoute un niveau supplémentaire
d'éléments (des flèches entre flèches), les transformations naturelles, etc.
Nous nous intéressons, dans notre cas, à une construction spécifique où les
flèches qu'il nous intéresse d'étudier possèdent toutes le même domaine ou
le même codomaine. On parlera alors de catégories de flèches au-dessus ou
au-dessous d'un objet. Pour ces catégories, il est nécessaire de fournir une
notion de morphisme, ce que propose la définition suivante.
%%
\begin{mpo-definition}[Flèche au-dessus/au-dessous d'un objet]\label{def:slice}
Soit $\cat{C}$ une catégorie et $X$ un $\obj{C}$. La \emph{catégorie des
$\mrphs{C}$ au-dessus de $X$}, noté $\cat{C} \downarrow X$, est la catégorie
dont
\begin{itemize}
\item les objets sont les $\mrphs{C}$ de la forme $f:Y \rightarrow X$, et dont
\item les morphismes entre $f_1:Y_1 \rightarrow X$ et $f_2:Y_2 \rightarrow
X$ sont les $\mrphs{C}$ $g: Y_1 \rightarrow Y_2$ tels que $f_1 = f_2
\circ_\cat{C} g$, c'est-à-dire tels que le diagramme suivant commute:
\begin{center}
\includegraphics[page=10]{model-categories}
\end{center}
\end{itemize}
L'identité et la composition sont naturellement héritées de $\cat{C}$.
La construction duale est la \emph{catégorie des $\mrphs{C}$ au-dessous de
$X$}, notée $X \downarrow \cat{C}$.
\end{mpo-definition}
\end{description}
\FloatBarrier
\subsection{Catégorie des modèles}
Nous présentons maintenant les bases d'une construction catégorique pour
la modélisation multi-niveau. Nous commençons par définir la catégorie
$\cat{Abs}_S$ des modèles d'un système $S$. Nous proposons ensuite d'en analyser
certaines propriétés fortement liées aux techniques de modélisation que nous
avons présentées section~\ref{sec:multiniveau}.
\subsubsection{Définition de la catégorie des modèles}
Dans la suite, nous supposons l'existence d'un système $S$ que l'on cherche
à modéliser. Notre objectif est de définir une catégorie $\cat{Abs}_S$ dont
les objets sont les modèles de $S$ et les flèches représentent les liens
d'abstraction entre ces modèles. En suivant l'idée générale que nous avons
décrite dans l'introduction de cette section, nous supposons un ensemble
particulier noté $E_{\model{M}{S}}$ représentant les faits du système $S$
auxquels tout modèle de $S$ doit se référer. D'une certaine façon, l'ensemble
$E_{\model{M}{S}}$ représente le vocabulaire qu'on souhaite pouvoir utiliser
pour décrire $S$. Rappelons que le but d'un modèle de $S$ est d'expliquer le
système $S$ en faisant appel à ce vocabulaire. Dans le contexte des sciences
expérimentales présenté section~\ref{sec:scexp}, ce vocabulaire consistait en
toutes les expériences réalisées/réalisables sur le système étudié.
\begin{mpo-definition}[Catégorie des modèles]\label{def:abscat}
Soit $S$ un système représenté par un ensemble de faits de référence
$E_{\model{M}{S}}$. La catégorie $\cat{Abs}_S$ des modèles de $S$ est définie
par:
$$
\cat{Abs}_S := (E_{\model{M}{S}} \downarrow \cat{Set})^\mathbf{co}
$$
à savoir, l'\emph{opposée de la catégorie des flèches de $\cat{Set}$} au-dessous
de $E_{\model{M}{S}}$.
\end{mpo-definition}
%
Cette définition mérite quelques éléments de clarification.
\paragraph{Objets de $\cat{Abs}_S$.}
%%
Les objets de $\cat{Abs}_S$ représentent les modèles de $S$ en accord avec
les faits de référence de $E_{\model{M}{S}}$. Par définition, un modèle
$\modelM$ est construit à partir d'une flèche de $\cat{Set}$ de domaine
$E_{\model{M}{S}}$. En notant cette flèche $\sigma_\modelM: E_{\model{M}{S}}
\rightarrow E_\modelM$, on retrouve ici la définition informelle de la
sémantique des modèles que nous avons présentée: une fonction des faits de
référence vers les faits du modèle.
On peut remarquer qu'un même ensemble de faits peut être utilisé par deux
sémantiques différentes. De façon générale, tout ensemble $E$ de $\cat{Set}$
(hormis l'ensemble vide) peut être atteint à partir de $E_{\model{M}{S}}$. De
plus, il apparaîtra dans $\cat{Abs}_S$ autant de fois qu'il existe de fonctions
dans $\khom_\cat{Set}(E_{\model{M}{S}},E)$, donnant lieu à autant de modèles
différents de $S$ pour ce seul ensemble de faits. La catégorie $\cat{Abs}_S$ est
donc extrêmement riche en modèles.
\paragraph{Morphismes de $\cat{Abs}_S$.}
%%
Si l'on constate que les objets de $\cat{Abs}_S$ formalisent la notion de sémantique des modèles que nous cherchions à mettre en place, ses flèches permettent quant à elles de formaliser la notion d'abstraction.
En effet, la définition~\ref{def:abscat} amène à considérer une flèche $\absA:\model{M}{+} \rightarrow \model{M}{-}$, signifiant que le modèle $\model{M}{+}$ est une abstraction du modèle $\model{M}{-}$, pour chaque fonction $f_\absA$ de $E_{\model{M}{-}}$ dans $E_{\model{M}{+}}$ telle que le diagramme suivant commute:
\begin{center}
\includegraphics[page=13]{model-categories}
\end{center}
Nous retrouvons à nouveau la situation décrite informellement en début de
section. On remarquera en particulier la correspondance entre ce diagramme et
celui illustré \textsc{Fig.}~\ref{fig:model-abstraction}.
Nous finirons en rappelant que par construction la composition et l'identité
sont bien définies dans $\cat{Abs}_S$. La composition correspond à la
transitivité de l'abstraction qui revient à dire informellement que si
$\model{M}{1}$ est une abstraction de $\model{M}{2}$ et que $\model{M}{2}$ est
une abstraction de $\model{M}{3}$, alors $\model{M}{1}$ est une abstraction de
$\model{M}{3}$ par composition des deux fonctions d'abstraction. Pour ce qui est
de l'identité, elle signifie que tout modèle est une abstraction de lui-même.
Dans ce cas, la fonction d'abstraction correspond à la fonction identité de
l'ensemble des faits du modèle concerné.
\paragraph{Objets extrémaux de $\cat{Abs}_S$.}
%%
Toute catégorie de flèches d'une catégorie $\cat{C}$ arbitraire au-dessous d'un
$\obj{C}$ $X$ vérifie les deux propriétés suivantes:
\begin{enumerate}
\item $\kid_X$ (qui est bien un $\mrph{C}$ au-dessous de $X$) est un objet
initial de $X \downarrow \cat{C}$;
\item si $\cat{C}$ présente un objet terminal $F$, l'unique $\mrph{C}$ de $X$
vers $F$ est un objet terminal de $X \downarrow \cat{C}$.
\end{enumerate}
En considérant que la définition~\ref{def:abscat} considère l'opposée d'une
telle catégorie et que les notions d'objets initiaux et finaux sont duales, on
déduit aisément que la catégorie $\cat{Abs}_S$ possède des objets initiaux et
des objets finaux.
Les objet initiaux sont les fonctions constantes de $E_{\model{M}{S}}$ vers les
singletons, c'est-à-dire les objets terminaux de $\cat{Set}$. Par exemple, on
associe au singleton $\{\bot\}$, le modèle $\model{M}{\bot}$ correspondant au
modèle le plus abstrait possible, celui qui offre le moins d'explication de $S$
en identifiant tout les faits de $E_{\model{M}{S}}$ en un seul, $\bot$.
%%
En revanche, l'objet final, à savoir la fonction identité
$\kid_{E_{\model{M}{S}}}$, constitue le modèle $\model{M}{S}$ le plus concret
qu'il est possible de construire étant donné le vocabulaire proposé dans
$E_{\model{M}{S}}$.
%%
Ainsi, $\cat{Abs}_S$ se présente comme une \emph{hiérarchie d'abstraction}
entre les modèles de $S$ dont les objets initiaux et finaux forment les deux
extrémités. On remarquera que, dans le cas particulier où le vocabulaire
que l'on s'autorise pour parler de $S$ est vide (c'est-à-dire lorsque
$E_{\model{M}{S}} = \emptyset$), la hiérarchie «s'écrase» en un unique objet.
\subsubsection{Transformation de modèles}
L'opération essentielle que notre cadre formel met en avant est
l'abstraction entre modèles. Elle provient des concepts développés
dans le cadre des transformations de modèles que nous avons présentées
section~\ref{sec:modeltrans} au sein de laquelle référence était faite à deux
propriétés des transformations qu'il est bon de confronter à notre proposition.
\paragraph{Transformation endogène et foncteur d'oubli.}
%%
Se restreindre à la simple définition ensembliste de $\cat{Abs}_S$ n'apporte
aux modèles aucun pouvoir explicatif. Ce fut d'ailleurs l'objet de la
section~\ref{sec:consmodel} que de montrer qu'il est nécessaire de rajouter de
la structure sur les ensembles de faits pour en tirer plus d'informations.
%%
On peut d'ailleurs remarquer qu'en tant que objet terminal, les faits de
référence constituent certes le modèle le plus concret mais, privés de
structure, n'apportent aucune description supplémentaire du système.
Pour palier à cette absence de structure, notre proposition consiste
à considérer toute catégorie $\cat{C}$ munie d'un foncteur d'oubli
$\ftr{U}_\cat{C}$ vers $\cat{Set}$ comme la description d'un formalisme. Par
exemple, les modèles dont les ensembles de faits sont des images d'actions de
monoïde par le foncteur $\ftr{U}_\cat{AMon}$, correspondent à la classe des
modèles dynamiques explicitée définition~\ref{def:moddyna}.
Il est possible d'aller plus loin dans cette proposition. Nous pouvons
considérer les abstractions issues des images de morphismes par \emph{le même}
foncteur d'oubli $\ftr{U}_\cat{C}$: ces cas correspondent exactement aux
transformations de modèles endogènes au formalisme décrit par $\cat{C}$.
%%
Illustrons cela pour les modèles dynamiques. Considérons dans $\cat{AMon}$,
$\Phi_-$ et $\Phi_+$ deux actions de monoïde, et $h: \Phi_- \rightarrow
\Phi_+$ un morphisme entre elles. Le cas qui nous intéresse suppose que
$\ftr{U}_\cat{AMon}$ envoie $\Phi_-$ (respectivement $\Phi_+$) sur l'ensemble
des faits $E_{\model{M}{-}}$ (respectivement $E_{\model{M}{+}}$) d'un modèle
$\model{M}{-}$ (respectivement $\model{M}{+}$) de $\cat{Abs}_S$, de telle sorte
que l'image de $\ftr{U}_\cat{AMon}(h) = f_\absA$ pour une flèche d'abstraction
$\absA: \model{M}{+} \rightarrow \model{M}{-}$:
\begin{center}
\includegraphics[page=14]{model-categories}
\end{center}
Cette situation décrit bien une abstraction de modèles dynamiques: passer
du modèle $\model{M}{+}$ au modèle $\model{M}{-}$ par $\absA$ est une
transformation endogène de $\model{M}{+}$ en $\model{M}{-}$ respectant l'action
du temps.
Évidemment, les transformations exogènes sont également à l'honneur. Elles
correspondent aux abstractions $\absA: \model{M}{+} \rightarrow \model{M}{-}$
dont les domaines et codomaines sont dans l'image de foncteurs d'oubli
\emph{différents}.
\paragraph{Transformation horizontale et isomorphisme.}
%%
Considérons parmi les transformations de modèles, les transformations verticales
et les transformations horizontale. Les premières correspondent à une notion de
raffinement entre le modèle initial et le modèle transformé de telle sorte que
le premier soit en général plus abstrait que le second. La notion d'abstraction
que nous avons formalisée correspond à cette verticalité.
Les transformations horizontales correspondent à des équivalences entre des
modèles ayant au final le même pouvoir d'explication tout en étant décrits
de façons différentes, par exemple lorsqu'ils reposent sur des formalismes
différents (ce qui est représentable dans notre cadre par l'utilisation
de foncteurs d'oubli différents comme nous venons de le voir). Les deux
modèles sont donc interchangeables. Comme nous l'avons vu, cette propriété
se traduit en termes catégoriques par un isomorphisme entre objets. Soient
$\model{M}{1}$ et $\model{M}{2}$, deux modèles de $\cat{Abs}_S$. Par définition,
l'isomorphisme entre $\model{M}{1}$ et $\model{M}{2}$ se traduit par la
présence de deux abstractions $\absA_{12}: \model{M}{1}\rightarrow\model{M}{2}$
et $\absA_{21}: \model{M}{2}\rightarrow\model{M}{1}$ telles que $\absA_{12}
\circ \absA_{21}$ et $\absA_{21} \circ \absA_{12}$ donnent respectivement les
identités de $\model{M}{1}$ et de $\model{M}{2}$. En dépliant la définition de
$\cat{Abs}_S$, cela revient à dire que les ensembles de faits de $\model{M}{1}$
et de $\model{M}{2}$ sont isomorphes dans $\cat{Set}$. Attention, l'inverse est
faux: deux modèles dont les ensembles de faits sont en bijection ne sont pas
nécessairement isomorphes car il peut ne pas exister de bijection respectant les
sémantiques deux modèles simultanément.
\subsubsection{Couplage de modèles}
L'opération importante de la modélisation multi-modèle est le couplage de
modèles. Nous montrons dans cette dernière section comment les constructions de
(co)limites permettent ce couplage.
\paragraph{Le couplage simple.}
%
Le couplage de deux modèles peut être décrit en terme d'abstraction: le couplage
entre un modèle $\modelM_1$ et un modèle $\modelM_2$ revient à construire
le «meilleur» modèle $\modelM_{12}$ dont $\modelM_1$ et $\modelM_2$ sont
des abstractions. En effet, on cherche à retrouver dans $\modelM_{12}$ les
contributions de $\modelM_{1}$ et $\modelM_{2}$. En cela, $\modelM_{12}$ est
plus complet, et donc plus concret, que ses parents. De plus, on entend par
«meilleur» modèle, le fait que la définition de $\modelM_{12}$ se limite
uniquement aux contributions de $\modelM_1$ et $\modelM_2$. En d'autres termes,
tout autre modèle $\modelM'$ établissant un rapport entre $\modelM_1$ et
$\modelM_2$ serait une spécialisation de $\modelM_{12}$. Sous la forme d'un
diagramme, cette définition informelle se décrit de la façon suivante:
\begin{center}
\includegraphics[page=15]{model-categories}
\end{center}
On reconnaît ici le diagramme d'un coproduit qui invite à poser la définition
du couplage dans $\cat{Abs}_S$ à travers cette construction. Il faut cependant
s'assurer de son existence et, le cas échéant, de sa définition: quels ensemble
de faits et sémantique peut-on lui associer ? Pour ce faire, il suffit de
considérer l'équivalent du diagramme précédent dans $\cat{Set}$.
\begin{center}
\includegraphics[page=16]{model-categories}
\end{center}
Le coproduit de $\cat{Abs}_S$ dérive ici du produit de $\cat{Set}$ dont il
hérite les propriétés. Nous en déduisons qu'il est toujours possible de coupler
deux modèles; il suffit pour cela de faire le produit cartésien des ensembles de
faits des modèles à coupler. Les fonctions d'abstraction correspondent alors aux
fonctions de projection.
%%
Nous avons également fait figurer sur le diagramme l'ensemble des
faits de référence $E_{\model{M}{S}}$ et les sémantiques des modèles,
$\sigma_{\model{M}{1}}$ et $\sigma_{\model{M}{2}}$. L'universalité du coproduit
implique alors qu'il existe un unique morphisme de $E_{\model{M}{S}}$ vers
$E_{\model{M}{12}}$, que nous identifions aisément à la sémantique de
$\model{M}{12}$. Celle-ci consiste à retourner pour chaque fait de référence, le
n-uplet des faits associés par chaque modèle:
$$
\begin{array}{llcl}
\sigma_{\model{M}{12}}: &
E_{\model{M}{S}} & \longrightarrow & E_{\model{M}{12}} = E_{\model{M}{1}} \times E_{\model{M}{2}} \\
& r & \longmapsto & (\sigma_{\model{M}{1}}(r), \sigma_{\model{M}{2}}(r))
\end{array}
$$
\paragraph{Somme amalgamée de modèles.}
%
Remarquons qu'en considérant toutes les paires de faits possibles, le produit
cartésien construit beaucoup plus de couples que nécessaire. La sémantique joue
un rôle de filtre puisque seule l'image de $\sigma_{\model{M}{12}}$ n'est au
final prise en compte dans la définition des flèches de $\cat{Abs}_S$. Cela
fait jouer un rôle important aux faits de référence qu'il n'est pas toujours
possible de tenir. En effet, si l'on reprend le cas des sciences expérimentales
par exemple, la référence est donnée par l'expérience et la réalisation de
\emph{toutes} les expériences est en réalité impraticable. Le couplage simple
reste théorique lorsque le choix de l'ensemble $E_{\model{M}{S}}$ est une
hypothèse de travail.
Néanmoins, nous avons vu que le produit fibré correspondait pour les ensembles à
un produit cartésien suivi d'une sélection permettant de se ramener à l'ensemble
de couples qui nous intéresse. Tout comme le produit de $\cat{Set}$ donne
naissance à un coproduit dans $\cat{Abs}_S$, le produit fibré de $\cat{Set}$
devient une somme amalgamée dans $\cat{Abs}_S$:
\begin{center}
\includegraphics[page=17]{model-categories}
\end{center}
Pour cette construction, on suppose, en plus des deux modèles qui nous
intéressent, un troisième modèle $\modelM_0$ plus abstrait que $\modelM_1$
et $\modelM_2$ (par les abstractions $\absA^0_1$ et $\absA^0_2$). La somme
amalgamée de ce diagramme revient à calculer le produit fibré dans $\cat{Set}$.
Celui-ci correspond, comme attendu, à un produit cartésien entre les faits
de $\modelM_1$ et $\modelM_2$ restreint aux couples envoyés vers un fait
identique par $f_{\absA^0_1}$ et $f_{\absA^0_2}$. Les deux abstractions
$\absA_1$ et $\absA_2$ correspondent toujours aux projecteurs. La sémantique
$\sigma_{\model{M}{12}^0}$ est donnée, comme pour le couplage simple, par
universalité. Elle est donc unique et correspond à la restriction de la
sémantique $\sigma_{\model{M}{12}}$ du couplage simple au sous-ensemble du
produit cartésien imposé par $\modelM_0$.
%%
Plus $\modelM_0$ sera proche (en terme d'abstraction) de $\modelM_1$ et
$\modelM_2$, plus la restriction sera fine\footnote{La meilleure restriction
sera d'ailleurs obtenue lorsque $\modelM_0$ correspond au produit de $\modelM_2$
et de $\modelM_2$. Cependant, comme nous le verrons dans le paragraphe suivant
ce calcul dépend fortement d'une connaissance explicite de $E_{\model{M}{S}}$.}.
On remarquera d'ailleurs que lorsque le modèle $\modelM_0 = \modelM_\bot$, le
modèle initial (le plus abstrait), la construction se ramène au couplage simple.
Pour conclure, la somme amalgamée permet de coupler deux modèles en se
restreignant à une partie commune identifiée par un troisième modèle.
\paragraph{Construction duale.}
%
Si le coproduit permet de spécifier le couplage de modèles, il est naturel de
considérer la composition de modèles induite par le produit de $\cat{Abs}_S$.
Nous procédons comme pour le produit en analysant les diagrammes:
\begin{center}
\includegraphics[page=11]{model-categories}
\end{center}
Dans ce cas, et comme on pouvait l'attendre d'une construction duale, le
produit dans $\cat{Abs}_S$ construit le dénominateur commun aux deux modèles le
plus concret possible. Cependant, d'un point de vue catégorique, les calculs
sont différents. Le produit de $\cat{Abs}_S$ ne résulte pas du coproduit
de $\cat{Set}$ mais de la somme amalgamée, avec les faits de référence et
les sémantiques pour sommet du diagramme. Ainsi, le modèle $\model{M}{12}$
correspond à l'union disjointe des faits de $\model{M}{1}$ et de $\model{M}{2}$
quotientés par la relation d'équivalence regroupant au sein d'une même classe
les faits images d'un même fait de référence.
%%
D'un point de vue constructif moins intéressant que le coproduit, le produit
trouvera un intérêt dans un contexte d'analyse (de code par exemple) afin
d'extraire de deux modèles d'un même système la «meilleure» partie commune.
À nouveau, cette construction dépend d'une connaissance approfondie des faits de
référence et n'est donc pas applicable dans un certain nombre de cas. On peut
envisager de faire endosser ce rôle à un autre modèle à travers un produit fibré
dans $\cat{Abs}_S$, ce qui revient à considérer le diagramme suivant:
\begin{center}
\includegraphics[page=12]{model-categories}
\end{center}
Au final, on obtient un dénominateur commun $\model{M}{12}^0$ qui n'est pas
le plus concret possible en général, mais qui est le plus concret possible
vérifiant la composition induite par la construction de $\modelM_0$ à partir de
$\modelM_1$ et $\modelM_2$.
\FloatBarrier
\section{Conclusion et perspectives}
Cette courte section vise à rappeler les principaux résultats obtenus suite à
notre approche théorique du multi-niveau ainsi que nos futures pistes de travail
sur le sujet.
\subsection{Conclusion}
% Résumé des épisodes précédents
Dans ce chapitre nous avons posé les fondements d'une description
formelle et trans-formalisme pour la description et pour une meilleure
compréhension de la modélisation multi-niveau. Nous avons commencé dans la
section~\ref{sec:multiniveau} par la définition du terme multi-niveau en
présentant différent types de modélisation multi-niveau: couplage de modèle,
transformation de modèle et complexification. Nous avons déterminé que la
modélisation multi-niveau était un cas particulier du multi-modèle, pratique
dans laquelle plusieurs modèles sont assemblés afin de construire des modèles
plus conséquents. Dans la modélisation multi-niveau s'ajoute une contrainte sur
la représentation de cet assemblage, où les modèles sont rassemblés par niveaux
et où nous pouvons décrire via des méthodes génériques comment assembler ces
modèles selon leur niveau de représentation. Comme nous n'avons pas trouvé
de cadre général suffisamment expressif pour parler de ces assemblages,
nous avons décidé d'élaborer, section~\ref{sec:consmodel}, une définition
générale de modèle qui puisse englober tous ces cas d'usage. S'intéresser à
la notion de modèle nous a amené à différencier les termes de modèle, système
et formalisme. Un modèle est, au final, un ensemble de faits, ce que nous
décrivons ensuite formellement par un foncteur d'oubli. Le système n'est pas
accessible et constitue l'inspiration d'un modèle expérimental, décrit par
extension par le biais de mesures sur ce système. Le formalisme est quant à
lui le principe organisateur des faits du modèle. Nous avons ensuite défini
quelques types de modèles classiques (dynamiques, probabilistes, …). Enfin, dans
la section~\ref{sec:compmodel}, nous nous penchons sur la description de la
composition de plusieurs modèles, d'après les différentes méthodes d'assemblage
que nous avons présenté plus tôt. Cette présentation nous amène à introduire
quelques notions de théorie des catégorie, une théorie s'intéressant à la
composition d'éléments opaques appelés objets et morphismes, afin d'introduire
la catégorie des modèles. Dans ce cadre, nous avons pu exprimer clairement le
rôle du modèle de référence comme garant de la sémantique commune à plusieurs
modèles à assembler.
Ce chapitre représente une toute première étape de défrichage qui a permis de
mettre en lumière les résultats suivants:
\begin{itemize}
\item une définition de modèle, système et formalisme;
\item la mise en évidence d'un rapport de chaque modèle avec sa sémantique,
identifiée comme son lien avec un modèle de référence;
\item la clarification de la flèche d'abstraction comme un morphisme de
\cat{Abs};
\item l'éclaircissement des transformations de modèles à la lumière de
\cat{Abs}: transformation verticale (abstraction) et horizontale (changement
de point de vue);
\item la présentation des différentes manières de composer plusieurs modèles
au sein de \cat{Abs}: couplage simple, somme amalgamée de modèles
(correspondant à un produit cartésien des faits de chacun des modèles
restreint par la sémantique) et sa construction duale (correspondant au
«dénominateur commun» entre les deux modèles considérés).
\end{itemize}
\subsection{Perspectives}
Malgré la présentation de nombreux nouveaux concepts, il reste encore beaucoup
à accomplir pour parfaire un cadre théorique pour l'intégration des niveaux
d'organisation dans les modèles.
% Trop abstrait, plus d'exemples concrets différents
Le premier point est le manque d'applications pratiques décrites avec cet
outil. Nous comptons, à court terme, écrire une section sur l'application
à la modélisation proie/prédateur, système présenté en milieu de chapitre.
De manière générale, nous avons manqué d'exemples à la fois concrets et
suffisamment simples. Ainsi une perspective de travail à plus long terme
est la présentation, dans le cadre que nous avons introduit, de nombreux
autres exemples pouvant ainsi aider à affiner les constructions présentées
section~\ref{sec:compmodel}. Parmi ces exemples, la question de la modélisation
de l'activité du chapitre~\ref{chap:partie-activite} et la composition des trois
modèles support de \otb du chapitre~\ref{chap:partie-otb} ont tout à fait leur
place. À terme, nous comptons décrire au moins un cas d'application par type de
transformation/couplage:
\begin{itemize}
\item isomorphisme (transformation horizontale),
\item abstraction/raffinement (transformation verticale),
\item couplage simple,
\item somme de modèles,
\item produit de modèles,
\end{itemize}
tout en mettant en évidence la classe de modèle utilisée: modèles dynamiques,
modèles à champs, modèles probabilistes, etc.
Le second point que nous souhaitons explorer est bien plus prospectif. Une
fois quelques exemples traité dans notre formalisme, quels nouveaux outils
peut-on développer pour analyser et automatiser la construction de modèles
multi-niveau. Avec le recul, nous devrions être capable d'identifier des
structures récurrentes dans l'établissement des modèles, suivant les objets
d'études ou suivant les disciplines.
Finalement, nous pourrons aborder notre objectif de recherche à long terme:
notre outil est-il un cadre suffisant pour exprimer clairement le fonctionnement
des systèmes complexes par le biais de mécanismes de complexification. Nous
commencerons par décrire les exemples donnés section~\ref{sec:complexification}
avec nos propres outils: le raffinement d'un modèle complexe de F. Polack et S.
Stepney peut-il être décrit plus simplement dans notre cadre, peut-on pointer
spécifiquement ce qui diffère d'un raffinement classique? La complexification
dans les CNN et la complexification structurelle de A. Ehresmann et J.-P.
Vanbermeersch peuvent-ils simplement s'exprimer dans notre cadre?
% Autre définition pour la catégorie des modèles que \cat{Abs}?