% Individu multi-optimisé (écologie)
% Patrick Coquillard

\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.
%\item l'unification de la théorie de la relativité générale et de la théorie des
%  quanta, deux modèles de la physique moderne dont les fondements sont
%  incompatibles;
%
%\item l'établissement d'un modèle complet d'un organisme multicellulaire,
%  incorporant toutes les connaissances disponibles à son sujet;
%
%\item l'étude des liens existants entre un individu et sa population, par le
%  biais d'un modèle exhaustif et constructif, que ce soit dans les sciences
%  sociales ou en biologie pour les liens entre cellules et organes, organes et
%  organismes; etc.

\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.
%
%Un modèle est une représentation abstraite d'un système,
%
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);

%  subgraph clusterTimeDiscrete {
%    Rulkov -> RoseHindmarsh               % Hinted in Rulkov ("using the same approach")
%      [style=dashed];                     % Discrete -> Continuous (change in time)
\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}. Le 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é.
% Chapeau: modèles ensembles sur le même pied d'égalité. 1) modélisation
% intégrative de cellule entière, 2) modélisation en géographie de la croissance
% des villes

\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éficierai 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}
% DONE: Louail

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.
% Chapeau: multi-niveau veut dire multi-échelle (micro-macro) dans la section
% précédente, MAIS ici, multi-niveau veut dire granularité, raffinement

\subsubsection{Ingénierie des modèles}

%%
%% à ne pas citer : https://tel.archives-ouvertes.fr/tel-00916856/document
%%
%% à citer : Anneke KLEPPE, Jos WARMERet Wim BAST:MDA Explained. The Model Driven Architec-ture : Practice and Promise. Addison-Wesley, 2003. Cité pages 6 et 8.
%%
%%

Dans le domaine de l'informatique et de la conception logicielle,
l'\emph{ingénierie des modèles} (\emph{model-driven engineering}
% Remarque de Olivier: enlève cette ref qui fait pédant :)
%\footnote{À
%ne pas confondre avec le \emph{Model Engineering} qui était, au XIX\ieme{}
%siècle, une discipline dont le but était la construction de représentations
%miniatures proportionnellement mises à l'échelle de machines, comme des
%moteurs, des locomotives à vapeur, des horloges, etc.}
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 Syntaxique \emph{vs.} sémantique:

\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}
% DONE: Chapeau sur les systèmes complexes

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:
% - Def ISC, présentation non naïve
\begin{quote}
  Les systèmes complexes sont des systèmes présentant un grand nombre d’entité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}
% DONE: fix la description qui est naze… On veut exprimer le fait que raffiner
% des propriétés émergentes pose un problème aux gens qui font du raffinement,
% pourquoi et comment ils tentent de résoudre la question.

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.
% DONE: \emph{Pour que ce soit pertinent, il faut pas que se soit difficile mais
% impossible, sinon ça perd son sens. Comme je ne pense pas que ce soit
% impossible si on prépare bien le terrain dans le formalisme lié au système, il
% doit y a voir un élément qui n'est pas transcrit ici.}%
% >>> Ça n'est pas impossible, effectivement. Par contre les auteurs considèrent
% comme quasi-impossible le raffinement par une unique relation de raffinement.

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.
%DONE:Compléter la description de la deuxième partie ou la supprimer

% se déplacer, entrer en collision et résoudre la collision. Et c'est ici que le
% raffinement classique «casse»: il n'y a aucun moyen d'exprimer la
% spécification en terme d'automate cellulaire, du moins pas directement. Les
% langages utilisés, le premier pour exprimer le système abstrait (émergent) et
% le système concret, sont incompatibles. Il est peut-être possible de raffiner
% ces deux systèmes vers une représentation intermédiaire, cette dernière
% pouvant être raffinée vers le système concret.






\subsubsection{Complexification dans les \cnn}
% L'activité du point de vue énergétique. L'activité locale n'explique pas
% vraiment les systèmes complexes comme les nuées d'oiseaux, ou bien
% l'auto-organisation d'une fourmillière
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}).

%DONE: refaire la figure avec tikz
\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.
%DONE: (I + i).(V + v) = I.V + I.v + V.i + i.v ??? p 284 -- linéarisation
%WONTFIX
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 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}
% DONE: C'est moche de dire à la, faut changer les titres
% DONE: Mettre à jour les figures avec les nouvelles notations
% DONE: Jolifier les itemize: moins de marges, plus d'interstice, points plus
% gros

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 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.

% DONE: modification de la figure %
% v Pas de cadres%
% v Suppression du lien de clôture
% v Deux accolades à gauche pour les deux identités numériques (persistance au
% cours du temps)%
% v Ligne de démarcation entre niveau n et n+1
% DONE: modification de la figure 2 %
% v numérique -> spécifique
% v binding = propriété commune -> id qualitative (en couleur)
% v entourer l'identité numérique
%DONE: WONTFIX améliorer les couleurs
\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:
% grosse liste de tous les systèmes
\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)$ où $\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.
%%Avant de poser la définition formelle des modèles à observables, donnons
%%quelques notations.
% Nous pouvons maintenant poser une définition formelle d'un modèle général
% qui englobe tout ce que nous souhaitons appeler un modèle. Commençons par
% appeler $\obs$ l'ensemble des observables d'un modèle et $\dom$ l'ensemble
% des domaines qui leur sont associées. Pour lier chaque observable à son
% domaine, nous définissons la fonction $\cfg : \obs \rightarrow \dom$ appelée
% la configuration d'un modèle. L'ensemble exhaustif de tous les états possibles
% du modèle est
% donné par sa \emph{signature}
% \[
%   \sig = \prod\limits_{o\in\obs}{\cfg(o)}
% \]
% Le \emph{comportement} d'un modèle est une relation entre ses observables,
% c'est-à-dire une partie de $\sig$. Il nous arrivera de confondre une observable
% $o$ avec son domaine $\cfg(o)$ lorsque le contexte ne provoque pas d'ambigüité.

\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$ où
  \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.

% L'exemple~\ref{ex:malthus} revient à dire que tous les nombres d'individus
% tel que $P(t) - P_0 \cdot e^{r \cdot t} \neq 0$ sont exclus du modèle: elles ne
% font pas partie du \emph{comportement} du système selon ce modèle.

%% \paragraph{Exemple.}


\begin{mpo-exemple} %[Modèle expérimental des états de l'eau]
  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}

% Dans l'exemple~\ref{ex:model-eau}, $\bhvxp$ distribue simplement le domaine
% associé à l'observable $\obsn{Température}$ sur les éléments du domaine associé
% à l'observable $\obsn{Matière}$ tel qu'observé et mesuré pendant une expérience.






\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.

% : le comportement est construit itérativement par ajouts
% successifs des états du modèle. Si ces états sont issus d'expériences faites sur
% le système, alors nous construisons un modèle expérimental et on notera son
% comportement \bhvxp. Il représente l'ensemble des données issues d'expériences
% sur le système: un modèle expérimental représentera donc \emph{l'ensemble des
%   mesures connues} sur un système.

\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  \}
  $$
  où $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» s’enchaî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 d’exé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.

% Bien que les conditions assurent que les actions du temps sur les états doivent se composer, conformément à la vision défendue dans~\cite{giunti2012dynamical}, notre définition est assez large et permet notamment de prendre en compte des modélisations non-déterministes.
% En effet, rien n'interdit d'observer au sein de $E_\modelM$ deux triplets $(s,t,s')$ et $(s,t,s'')$ pour $s' \neq s''$.
% Cela correspond à deux avenirs possibles à partir du même état $s$ et après une même durée $t$.
% Des définitions plus restrictives des systèmes dynamiques imposent le déterminisme, voire la réversibilité, des évolutions.
% Nous pourrons retrouver ces contraintes en considérant des \emph{modèles dynamiques à observables privilégiées}, c'est-à-dire en combinant les définitions~\ref{def:moddyna} et~\ref{def:modfct}.
% La dépendance fonctionnelle associée imposera l'unicité de $s'$ connaissant l'état initial $s$ et la durée d'évolution $t$ dans un triplet $(s,t,s')$.
% La réversibilité sera obtenue en ajoutant une autre dépendance fonctionnelle donnant $s$ à partir de $s'$ et $t$.


\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}
  $$
  où $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 d'étude
  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}
  où $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}


% Un modèle à observables privilégiées ne prend-il pas partie pour la vision de
% l'espace et du temps de Newton au détriment d'un conception Leibnizienne ? Ne
% fixe-t-on pas précocément une \emph{structure} ? Pour rappel, Newton considérait
% que l'espace et le temps précédait les corps physiques et les évènements et
% qu'ainsi, ces objets pouvaient être annotés par une mesure de position dans le
% temps et dans l'espace faite par rapport à des repères \emph{absolus} et
% \emph{prééxistant}. Cette vision semble s'opposer à celle de Leibniz qui
% estimait de son côté que l'espace et le temps sont \emph{engendrés} par les
% corps physiques et les évènements. Ces deux postures philosophiques sont
% cependant conciliées par notre approche, et d'après la définition précédente,
% nous pouvons remarquer les points suivants:
% \begin{itemize}
% \item un modèle est un point de vue \emph{a posteriori} du système que l'on
%   modélise et la question de la prééxistance du temps et de l'espace n'influe
%   pas sur le modèle. Dans les deux cas, il appartient au modélisateur de
%   \emph{déterminer} les structures \emph{nécessaires} à l'obtention de la
%   relation entre les observables voulues.
% \item un modèle n'est qu'une relation entre des observables ce qui implique que
%   la structure du domaine d'une observable espace ou temps est \emph{implicite}
%   et résulte également d'un choix de modélisation. Ces structures doivent être
%   ajoutées au domaine d'une observable, par exemple dans le cas d'une observable
%   $\obsn{Espace}$ ayant pour domaine associé $\mathbb{R}^2$, on peut y ajouter
%   une structure d'espace vectoriel.
% \end{itemize}
% Pour conclure cette remarque, que le temps et l'espace soient préexistants ou
% bien qu'ils soient construits à partir des évènements et des points disponibles,
% le travail du modélisateur est le même. Bien que cette question soit
% intéressante d'un point de vue philosophique, elle n'a \emph{aucune} influence
% sur notre définition des modèles.








% Nous considérerons qu'un modèle exéprimental peut être compris comme le modèle
% de référence pour tous les autres modèles du même système. Un modèle
% expérimental établit un rapport au système étudié, donc à la réalité, \emph{par
%   la mesure}, il dépend donc des outils de mesure utilisés et de leurs
% imperfections éventuelles. Un modèle expérimental, de part sa simplicité et son
% lien direct au système, jouera le rôle de modèle de référence lors de la
% comparaison entre modèles d'un même système (voir
% Fig.~\ref{fig:model-abstraction}).

% Remarquons que de manière exactement équivalente, on peut utiliser
% $\chi_{\bhv}$, la fonction caractéristique sur les ensembles de la relation
% $\bhv$ sur l'ensemble $\sig$, pour définir la sous-relation:
% \begin{align*}
%   \chi_{\bhv} : \sig    &\longrightarrow \{0,1\} \\
%                 \sigma  &\longmapsto \left\{
%                         \begin{array}{l}
%                           1 \quad\text{si}\quad \sigma \in    \bhv \\
%                           0 \quad\text{si}\quad \sigma \notin \bhv
%                         \end{array}
%   \right.
% \end{align*}

% La fonction $\chi_{\bhv}$ interdit explicitement certains tuples du comportement
% ne pouvant satisfaire la loi de comportement. Notons que cette fonction est
% rarement connue à l'avance lors des expériences et, si elle l'est, il est
% important de la mettre de côté pour éviter un biais de confirmation. C'est un
% premier pas vers une loi de comportement gouvernant le rapport entre
% \emph{observables du modèle}. Néammoins, cette définition reste trop générale
% pour que nous puissions tirer des informations intéressantes sur le
% fonctionnement de ce modèle. Aucune hypothèse n'est faite sur le type de
% fonction qu'est $\chi_{\bhv}$. Cette approche a toutefois le mérite de nous
% présenter une seconde manière de définir un modèle: si le comportement peut-être
% obtenu algorithmiquement ou bien par une structure mathématique, alors on peut
% définir un modèle par intention.

% \begin{mpo-definition}[Modèle comportemental]
%   Soit $I$ un ensemble dénombrable d'indices et $(\sig,\bhvpo)$ un modèle où
%   $\sig$ est de la forme $\sig = \prod_{i\in I} \dom_i$, soit $J \subset I$ un
%   ensemble non vide d'indices, on peut réécrire la signature $\sig = P \times R$
%   où
%   \[
%     P = \prod\limits_{j \in J} \dom_j \quad
%     \text{et} \quad
%     R = \prod\limits_{i \in I \setminus J} \dom_i
%   \]
%   Un \emph{modèle comportemental} est un couple $M =
%   (\Phi_P,\bhvpo)$ où
%   \begin{itemize}
%   \item $\Phi_P(\sig) = \left( R \right)^P$ est \emph{l'ensemble des
%       comportements fonctionnellement dépendant des observables privilégiées} et
%   \item $\bhvpo \subset \Phi_P(\sig)$ est le \emph{comportement} de M.
%   \end{itemize}
% \end{mpo-definition}

% Cette définition apporte une nouvelle structure mathématique à la signature d'un
% modèle expérimental qui met en exergue la dépendance fonctionnelle existante
% entre quelques observables et les autres. Le comportement qui en est issu
% apporte plus de contraintes sur la manière dont la relation $\bhvpo$ peut être
% construite.

% Remarquons que $\bhvpo$ et $\bhv$ sont de natures différentes: le premier est
% une relation sur les éléments de $\sig$ et le second est une relation sur les
% éléments de $\Phi_P(\sig)$. On peut néammoins se rendre compte en exprimant
% $\bhvpo$ en fonction de $\bhv$
% %
% \begin{equation} \label{eq:bhvpo-bhv}
%   \bhvpo = \Big\{ \big(p,b(p)\big) \bigm| p \in P \land b \in \bhv \Big\}
% \end{equation}
% %
% que $\bhvpo$ ne permet pas de distinguer les cas où $(p,b_1(p)) = (p,b_2(p))$,
% c'est-à-dire qu'elle «oublie» une partie de la structure sur le comportement.
% $\bhvpo$ possède donc une structure moins contraignante que $\bhv$.

% Remarque: lien avec la BDD, Schéma et clef primaire
% Remarque: relations complexes
% La définiton d'un modèle à observables privilégiées n'est pas sans rappeler
% quelques concepts propres au domaine des bases de données relationnelles,
% introduit par \textsc{Codd} dans \cite{codd_relational_1970}. Une signature
% $\sig$ peut-être vue comme un \emph{schéma} et un comportement $\bhv$ comme
% une \emph{relation}. Le concept de \emph{clef primaire} est associé aux éléments
% de $P$ qui ne peuvent avoir qu'une seule image par fonction de $\bhv$ ce qui est
% immédiat d'après l'équation~\ref{eq:bhvpo-bhv}. Dans un modèle à observables
% privilégiées, chaque $p \in P$ identifie de manière unique un tuple de
% $\bhvpo$.

% Les premières observables privilégiées dont nous voudrions rendre compte sont le
% temps, désigné par $\obsn{Temps}$ où $\cfg(\obsn{Temps})=\Time$, et l'espace,
% désigné par $\obsn{Espace}$ où $\cfg(\obsn{Espace})=\Space$. En effet il est
% habituel de définir la valeur d'une observable par rapport au temps, par rapport
% à l'espace et par rapport au temps et à l'espace.


% Cette remarque nous amène d'abord à définir une nouvelle classe de modèle qui
% considèrent le temps comme une observable privilégiée par rapport aux autres.
% Ces modèles sont appelés des \emph{modèles dynamiques} en référence aux systèmes
% dynamiques.

% \begin{mpo-definition}[Modèle dynamique]
%   Un \emph{modèle dynamique} est un modèle à observables privilégiées $M =
%   (\Phi_\Time,\bhv)$ où $\Time$ est un ensemble appelé \emph{le domaine
%     temporel}. Il existe une relation $\cdot : \Time \times \Time \rightarrow
%   \Time$ telle que $(\Time,\cdot)$ possède la structure d'un monoïde, c'est à
%   dire que:
%   \begin{enumerate}
%   \item $\forall a,b,c \in \Time \quad (a \cdot b) \cdot c = a \cdot (b \cdot c)$
%     (associativité)
%   \item $e \in \Time, \forall a \in \Time \quad e \cdot a = a \cdot e = a$
%     (existence d'un neutre)
%   \end{enumerate}
%   Les éléments de $\bhv$ sont appelés les \emph{traces} de $M$.
% \end{mpo-definition}

% Pour se rapprocher de la théorie des systèmes dynamiques, nous pouvons apporter
% une structure plus contraignante sur un modèle dynamique par la définition
% suivante.

% \begin{mpo-definition}[Modèle dynamique classique]
%   Un \emph{modèle dynamique classique} est un modèle dynamique $M =
%   (\Phi_\Time,\bhv)$ où $\Time$ possède la structure d'un monoïde et $\bhv$
%   rempli les propriétés supplémentaires suivantes:
%   \[
%     \forall b   \in \bhv,
%     \forall t_1 \in \Time,
%     \exists b'  \in \bhv,
%     \forall t_2 \in \Time, \qquad
%     b(t_1) = b'(0)         \quad
%     \text{et}              \quad
%     b(t_1 + t_2) = b'(t_2)
%   \]
% \end{mpo-definition}

% D'où vient le choix d'une structure monoïdale
% Remarque sur memoryless de M
% Petite preuve sur la correspondance systèmes dynamiques / modèles dynamiques

% Nous pouvons ainsi reformuler le modèle par relation de Malthus afin
% d'expliciter sa nature dynamique.


%Constantes des modèles
% Certains modèles ont des constantes permettant de les ajuster suivant le système
% étudié. Ces modèles décrivent en fait une \emph{classe de modèles} pouvant
% décrire plusieurs systèmes à la fois: ils identifient un comportement commun à
% chacun de ces systèmes. Il est ainsi important de remarquer que les constantes
% d'un modèle ne sont \emph{pas des observables} et que nos définitions ne
% concernent que des instances de modèles. Notre but, pour l'instant, est
% d'adresser la question des relations entre modèles d'un même système et pas
% d'identifier plusieurs systèmes décrit par la même classe de modèles.

% Une autre observable privilégiée est l'\emph{espace}. Similairement au temps qui
% est constitué d'\emph{évè\-nements}, l'espace est constitué de \emph{points}. On
% le définit de manière symétrique aux modèles dynamiques généraux.

% \begin{mpo-definition}[Modèle spatial]
%   Un \emph{modèle spatial} est un modèle à observables privilégiées $M =
%   (\Phi_\Space,\bhv)$ possédant un observable nommée \obsn{Espace} où $\bhv$ est
%   un appelé un \emph{champ} et les éléments de $\Space$ sont appelés les
%   \emph{points} de l'espace.
% \end{mpo-definition}

% Nous ne fixons pas dans cette définition de structure mathématique propre à
% l'espace. Il ne semble pas évident de trouver un structure permettant de
% représenter les différents usages du concept d'espace. L'espace se
% représenterait-il mieux par un groupe, un espace vectoriel, ou bien une
% structure topologique, plus générale est-elle préférable ? Nous laissons ouvert
% le choix de la structure convenant le mieux en fonction du problème étudié.

% Exemple 1: le jeu d'échecs
% \begin{mpo-exemple}[Modèle spatial d'un jeu d'échecs]
%   \newcommand{\chessk}{\text{Roi}}
%   \newcommand{\chessq}{\text{Dame}}
%   \newcommand{\chessb}{\text{Fou}}
%   \newcommand{\chessn}{\text{Cavalier}}
%   \newcommand{\chesst}{\text{Tour}}
%   \newcommand{\chessp}{\text{Pion}}

%   Un jeu d'échecs est constitué d'un plateau sur lequel est représentée une
%   grille carrée de 8 $\times$ 8 cases de couleurs alternées noire ou blanche où
%   deux cases adjacentes n'ont pas la même couleur. Les case noires sont notées
%   $\text{even}$ et les cases blanches sont notées $\text{odd}$:
%   \[\begin{array}{rcl}
%       \text{even} &=& \big\{ (i,j) \in [1 \ldots 8] \times [1 \ldots 8]
%                       \mid i+j\ \text{est paire}   \big\} \\
%       \text{odd}  &=& \big\{ (i,j) \in [1 \ldots 8] \times [1 \ldots 8]
%                       \mid i+j\ \text{est impaire} \big\} \\
%       P           &=& \text{odd} \cup \text{even}         \\
%     \end{array}\]

%   Sur ce plateau sont disposées 32 pièces divisées en deux équipes de 16 pièces
%   blanches et 16 pièces noires. Les pièces des deux équipes sont identiques et
%   sont les éléments de l'ensemble suivant, indicés par leur abscisse:
%   \[
%     A = \left\{
%       \begin{array}{cccccccc}
%         \chessp_1,& \chessp_2,& \chessp_3,& \chessp_4,& \chessp_5,& \chessp_6,& \chessp_7,& \chessp_8,  \\
%         \chesst_1,& \chessn_2,& \chessb_3,& \chessq_4,& \chessk_5,& \chessb_6,& \chessn_7,& \chesst_8
%       \end{array}
%       \right\}
%   \]
%   Chacune de ces pièces possède un mode de déplacement qui lui est propre.
%   Informellement, à chaque tour un joueur choisi une pièce de sa couleur et la
%   déplace en fonction du mode de son mode déplacement:
%   \begin{itemize}
%   \item un $\chessk$ peut faire exactement un pas dans une des 8 directions,
%   \item une $\chessq$ peut faire un pas ou plus dans une des 8 directions,
%   \item un $\chessb$ peut faire un pas ou plus dans une des 4 directions
%     diagonales,
%   \item un $\chessn$ peut effectuer exactement deux pas dans une direction puis
%     exactement un pas dans orthogonalement à la direction de départ,
%   \item une $\chesst$ peut effectuer un pas ou plus dans une des 4 directions
%     verticales ou horizontales et
%   \item un $\chessp$ peut effectuer exactement un pas en avant, c'est-à-dire en
%     direction de l'équipe adverse.
%   \end{itemize}

%   \noindent
%   Un modèle spatial $(\Phi_\Space,\bhv)$ des positions accessibles par chacune
%   des pièces se défini en posant:

%   \[ \begin{array}{rcl}
%        \sig   &=& A \times P \\
%        \Space &=& A \\
%        \Phi_\Space &=& P^A \\
%        \bhv   &:& A \longrightarrow P \\
%        \bhv(e)&=& \left\{ \begin{array}{ll}
%                             \text{odd}
%                             &\text{si}\quad e \in \{ \chessb_6 \} \\
%                             \text{even}
%                             &\text{si}\quad e \in \{ \chessb_3 \} \\
%                             \{1\} \times [1 \ldots 8]
%                             &\text{si}\quad e \in \{ \chessp_1 \} \\
%                             \{2\} \times [1 \ldots 8]
%                             &\text{si}\quad e \in \{ \chessp_2 \} \\
%                             \{3\} \times [1 \ldots 8]
%                             &\text{si}\quad e \in \{ \chessp_3 \} \\
%                             \{4\} \times [1 \ldots 8]
%                             &\text{si}\quad e \in \{ \chessp_4 \} \\
%                             \{5\} \times [1 \ldots 8]
%                             &\text{si}\quad e \in \{ \chessp_5 \} \\
%                             \{6\} \times [1 \ldots 8]
%                             &\text{si}\quad e \in \{ \chessp_6 \} \\
%                             \{7\} \times [1 \ldots 8]
%                             &\text{si}\quad e \in \{ \chessp_7 \} \\
%                             \{8\} \times [1 \ldots 8]
%                             &\text{si}\quad e \in \{ \chessp_8 \} \\
%                             P &\text{sinon}
%                           \end{array} \right. \\
%      \end{array} \]

%    Notez que le cas où un pion se déplacerait en diagonale en prenant une pièce
%    ennemie est ici ignoré.
% \end{mpo-exemple}

% Dans ce modèle, le comportement est un simple map. On ignore toute structure sur
% l'ensemble de départ et l'ensemble d'arrivée. Néammoins, si l'ensemble de départ
% avait eu une structure particulière, $\bhv$ ne l'aurait pas nécessairement
% conservée. Les prochaines définitions décrivent des modèles spatiaux accompagnés
% des structures usuelles.

% \begin{mpo-definition}[Modèle spatial topologique]
%   Un \emph{modèle spatial topologique} est un modèle à observables privilégiées
%   $M = (\Phi_\Space,\bhv)$ où $(S,\Space)$ est une topologie et $\bhv$ a sa
%   définition usuelle.

%   Notez que dans ce cas, $\Space$ désigne l'ensemble des ouverts.
% \end{mpo-definition}

% % Exemple 2: Complexe simpliciaux
% \begin{mpo-exemple}[Modèle spatial à complexes simpliciaux]
%   Soit $C = (V,F)$ un complexe simplicial abstrait où $V$ désigne l'ensemble des
%   sommets et $F$ l'ensemble des faces, c'est-à-dire un ensemble des parties
%   non-vides de $V$ stable par sous-partie non vide, et $L$ est un ensemble dont
%   les valeurs étiquettent chaque face du complexe simplicial. Un modèle à
%   complexes simpliciaux pourrait se décrire comme un modèle spatial topologique
%   $(\Phi_\Space,\bhv)$ où:

%   \[ \begin{array}{rcl}
%        \sig   &=& L \times V \\
%        \Space &=& L \\
%        \Phi_\Space &=& V^L \\
%        \bhv   &:& L \longrightarrow V \\
%      \end{array} \]

%    $C$ est un espace topologique car $F$ décrit l'ensemble des ouverts de $V$ et
%    $\tau$ est la topologie induite sur $L$ de sorte que $\bhv$ soit une fonction
%    continue.
% \end{mpo-exemple}

%% Exemple 2: un champ de température
%\begin{mpo-exemple}[Modèle spatial d'un champ de température]
%  Un modèle spatial $(\Phi_\Space,\bhv)$ d'un champ de température, mesurée en
%  Kelvin, dans une pièce close se défini par :
%
%  \[ \begin{array}{rcl}
%       \sig   &=& \mathbb{R}^3 \times [ -273 ; +\infty [ \\
%       \Space &=& \mathbb{R}^3 \\
%       \Phi_\Space &:& ([ -273 ; +\infty [)^{\mathbb{R}^3}
%     \end{array} \]
%
%\end{mpo-exemple}

%Voici par exemple un modèle de répartion hexagonale de points.
%\begin{mpo-exemple}[Modèle spatial d'un(e)]
%  Le modèle spatial $(\obs,\dom,\cfg,\bhv_s)$ avec
%    \begin{array}{rcl}
%      \cfg(\obsn{Espace})                 &=& \mathbb{Z}^2      \\
%      \bhv_t &=& \big\{ (t,p(t)) \mid t \in \mathbb{R} \big\}   \\
%      p(t)                               &=& P_0 \, e^{rt}
%    \end{array}
%  \]
%  est un modèle spatial d'une grille hexagonale.
%\end{mpo-exemple}

% \begin{mpo-definition}[Modèle équationnel]
%   Soient $\sig = P \times R$, $(\Phi_P,\bhv)$ un modèle à observables
%   privilégiées et $f_1$, $f_2$ deux fonctions de $P$ dans $X$ où $X$ est un
%   ensemble d'arrivée quelconque, un modèle équationnel est un triplet
%   $(f_1,f_2,\bhv)$ où $f_1$,$f_2 : P \longrightarrow X$ et
%   \[ \begin{array}{rl}
%        \forall p \in P & f_1(p) = f_2(p) \\
%        \bhv \subset    & (R)^P           \\
%      \end{array} \]
% \end{mpo-definition}


\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.

%% From Gillespie:
%% (21) A. J. Lotka, J. Am. Chem. SOC., 42, 1595 (1920); Proc. Natl. Acad. Sci. U.S., 6, 410 (1920).
%% (22) For a comprehensive review of Volterra’s and other nonlinear models of interacting populations, see N. S. Goel, S. C. Maitra, and E. W. Montroll, Rev. Mod.  Phys., 43, 231 (1971).

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}}
$$
où $\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}
où $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}





% Comme ces trois modèles décrivent le même système, il devrait être possible d'en
% caractériser les relations. \modelVolterra décrit la dynamique \emph{moyenne} de
% chaque population, alors que \modelLotka nous fourni, à chaque instant, les
% quantités discrètes d'indivivdus de chaque population. Intuitivement,
% \modelVolterra est moins détaillé que \modelLotka, et nous dirons donc qu'il en
% constitue une abstraction. \modelVolterra décrit la dynamique moyenne de chaque
% population \emph{aggrégée} en un unique point de l'espace: à chaque instant les
% deux populations se recouvrent, alors que \modelSVolterra décrit également la
% dynamique de répartition spatiale des populations. De ce point de vue,
% \modelVolterra est moins détaillé que \modelSVolterra et nous dirons également
% qu'il en constitue une abstraction. Existe-t-il un modèle \modelSLotka tel que
% \modelSVolterra soit une abstraction de \modelSLotka et tel que \modelLotka soit
% une abstraction de \modelSLotka?

% Dans la suite de cette section, nous introduirons le cadre théorique nécessaire
% à la définition formelle de cette flèche d'abstraction.




% Chacun de ces systèmes peut être décrit grâce aux différents modèles classiques
% suivants: le modèle de Volterra généralisé, à équations différentielles que l'on
% notera \modelVolterra et le modèle de Lotka généralisé, à réactions chimiques
% que l'on notera \modelLotka. Ces deux modèles sont généralisés, c'est-à-dire
% qu'ils sont paramétrés pour pouvoir décrire, suivant les valeurs de leurs
% paramètres, différents systèmes proie-prédateurs.

% % http://www.scholarpedia.org/article/Predator-prey_model
% %Kolmogorov predator-prey model
% \begin{mpo-definition} Le modèle \modelVolterra décrit la variation de trois
%   observables: la concentration de \obsn{Prédateur}, la concentration de
%   \obsn{Proie} et le \obsn{Temps}. C'est donc le modèle dynamique définit comme
%   le couple $(\Phi_\Time,\bhv)$ où $\Phi_\Time = \big(\cfg(\obsn{Prédateur})
%   \times \cfg(\obsn{Proie})\big)^\Time$ avec
%   \begin{align*}
%     \cfg(\obsn{Prédateur}) &=[\SI{0,0}{}\mathop{;}\SI{1,0}{}]\\
%     \cfg(\obsn{Proie})     &=[\SI{0,0}{}\mathop{;}\SI{1,0}{}]\\
%     \Time                  &= \mathbb{R}
%   \end{align*}
%   et où les trajectoires autorisées sont définies par le système d'équation
%   couplées suivantes, en prenant $u_v$ comme variable pour l'observable
%   \obsn{Proie}, $u_p$ pour \obsn{Prédateur} et $t$ pour $\Time$:
%   \begin{equation}
%     \left\{
%       \begin{array}{rcl}
%         \displaystyle\frac{du_v}{dt} &=& u_v(\alpha_1 - \beta_1 u_p)\\[1.5ex]
%         \displaystyle\frac{du_p}{dt} &=& u_p(\gamma_1 u_v - \delta_1)
%       \end{array}
%     \right.
%     \label{eq:m1}
%   \end{equation}
%   Ce modèle équationnel de Lotka-Volterra décrit par deux équations
%   différentielles couplées le comportement d'une \emph{classe} de systèmes
%   proie-prédateur ayant pour paramètre $(\alpha_1, \beta_1, \gamma_1,
%   \delta_1)$.
% \end{mpo-definition}

% \begin{mpo-definition} Le modèle \modelLotka décrit la variation de trois
%   observables: la quantité de \obsn{Prédateurs}, la quantité de \obsn{Proies} et
%   le \obsn{Temps}. \modelLotka est un modèle dynamique définit comme le couple
%   $(\Phi_\Time, \bhv)$ où $\Phi_\Time = \big( \cfg(\obsn{Prédateurs}) \times
%   \cfg(\obsn{Proies}) \big)^\Time$ avec
%   \begin{align*}
%     \cfg(\obsn{Prédateurs}) &= \mathbb{N}_+\\
%     \cfg(\obsn{Proies})     &= \mathbb{N}_+\\
%     \Time                   &= \mathbb{R}_+
%   \end{align*}
%   et où les trajectoires autorisées, \bhv, sont définies par les quatre
%   équations de réécriture suivantes, en prenant $v$ comme variable pour
%   l'observable \obsn{Proies} et $p$ pour \obsn{Prédateurs}. Toutes les
%   observables sont \emph{implicitement modélisées} par ces équations, nous les
%   définirons explicitement par une simulation de ces quatre équations par la
%   méthode de Gillespie, afin d'obtenir les quantité de proies et de prédateurs
%   et d'orchestrer tous les évènements successifs sur un temps continu.
%   \begin{align*}
%     v     & \overset{\alpha_2}{\longrightarrow} 2\,v \\
%     v + p & \overset{\beta_2}{\longrightarrow}  p    \\
%     v + p & \overset{\gamma_2}{\longrightarrow} 2\,p \\
%     p     & \overset{\delta_2}{\longrightarrow} .
%   \end{align*}
%   \modelLotka est modèle de Markov à temps continu qui décrit par quatre
%   équations de réaction chimique le comportement d'une classe de systèmes
%   proie-prédateur dont les paramètres sont $(\alpha_2, \beta_2, \gamma_2,
%   \delta_2)$.
% \end{mpo-definition}

% À ces deux modèles clasisques, on propose d'ajouter une version spatialisée de
% \modelVolterra, appelé \modelSVolterra.

% \begin{mpo-definition} Le modèle \modelSVolterra décrit les variations des
%   observables: concentration de \obsn{Proie}, concentration de \obsn{Prédateur},
%   coordonnées dans l'\obsn{Espace} et dans le \obsn{Temps}. \modelSVolterra est
%   un modèle spatio-temporel définit comme le couple $(\Phi_{\Space \times
%     \Time},\bhv)$ où $\Phi_{\Space \times \Time} = \big( \cfg(\obsn{Proie})
%   \times \cfg(\obsn{Prédateur}) \big)^{\Space \times \Time}$ avec:
%   \begin{align*}
%     \cfg(\obsn{Prédateur}) &= [\SI{0,0}{}\mathop{;}\SI{1,0}{}]\\
%     \cfg(\obsn{Proie})     &= [\SI{0,0}{}\mathop{;}\SI{1,0}{}]\\
%     \Space                 &= \mathbb{R}\times\mathbb{R}\\
%     \Time                  &= \mathbb{R}
%   \end{align*}
%   et où les trajectoires autorisées, \bhv, sont définies par les deux équations
%   différentielles partielles couplées suivantes, pour lequelles $u_v$ correspond
%   à l'observable \obsn{Proie}, $u_p$ à \obsn{Prédateur}, $t$ à \obsn{Temps} et,
%   cachées dans le laplacien en deux dimensions $\Delta$, les variables $x,y$
%   correspondent à l'observable \obsn{Espace}:
%   \begin{equation*}
%     \left\{
%       \begin{array}{l}
%       \displaystyle\frac{du_v}{dt} =  u_v(\alpha_3 - \beta_3 u_p) %
%         + D_v\.\laplacien u_v  \\[1.5ex]
%         \displaystyle\frac{du_p}{dt} = u_p(\gamma_3 u_v - \delta_3) %
%       + D_p\.\laplacien u_p
%       \end{array}
%     \right.
%   \end{equation*}
%   Ce modèle équationnel spatialisé de Volterra décrit par deux équations
%   différentielles partielles couplées le comportement d'une \emph{classe} de
%   systèmes proie-prédateur ayant pour paramètre $(\alpha_3, \beta_3, \gamma_3,
%   \delta_3, D_V, D_p)$.
% \end{mpo-definition}
















%\FloatBarrier
\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.

%\FloatBarrier
\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 l’expé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$ où $\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$
  où $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}


%\FloatBarrier
\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})$ où
  \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$ où $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=1,width=.45\textwidth]{model-categories}
    \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. En effet, en tant que
%foncteur il est intéressant de considérer les abstractions images de morphismes
%par $\ftr{U}_\cat{C}$: ces cas correspondent exactement aux transformations de
%modèles endogènes au formalisme décrit par $\cat{C}$.
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.



 %    E_M1  <-------- E_MS
 %    /  ^
 %   v    \
 % E_MO  E_M12  <-------- E_MS
 %   ^    /
 %    \  v
 %    E_M2  <-------- E_MS
 %


\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$.


% Tout comme pour le coproduit, on peut se demander de comment faire quand les
% faits de référence ne sont pas accessible. En gros, est-ce qu'on peut avoir
% une cohérence globale sans pour autant avoir le référentiel ? La réponse est
% oui grace à un produit fibré dans Abs, c'est à dire une somme amalgamée dans
% Set... Au final, on obtient un ensemble qui n'est pas le plus concret possible
% sauf sur la partie requise... ENFIN A VERIFIER






%\FloatBarrier
%\subsection{Application à la modélisation proie-prédateur}




\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}?

















































% \FloatBarrier
% \subsection{Présentation informelle}

% Considérons un exemple simplifié, le modèle expérimental $M_0$ réuni
% toutes les mesures que nous avons pu faire pour le couple d'observable
% $(\obsn{Traction},\obsn{Volume})$ d'un ballon immergé dans de l'eau à
% \SI{20}{\celsius} rempli d'azote $N$, attaché à un point fixe $P$. L'observable
% \obsn{Traction} représente la force exercée par le ballon au point $P$, dirigée
% vers le haut et l'observable \obsn{Volume} représente le volume du ballon.

% Après avoir longuement considéré les données récoltées, les deux modèles
% suivants sont proposés.

% \[
%   M_1 = \big( \{ \obsn{Traction},\obsn{Volume} \}, \{ (F_A,V) \mid F_A = c_0 V \}
%   \big)
% \]
% \[
%   \cfg(\obsn{Traction}) = \mathbb{R}_+ \qquad
%   \cfg(\obsn{Volume}) = \left[ \SI{0,0}{} ; \SI{1,0}{} \right]
% \]
% Dans ce modèle le rapport entre observables découle de la loi décrivant la
% poussée d'Archimède où $c_0 = \rho_E g$ est la constante pour laquelle $\rho_E$
% est la masse volumique de l'eau valant \SI{1,0}{\kilogram\per\metre\cubed} et
% $g$ est l'accélération de la pesanteur, valant \SI{9,81}{\newton\per\kilogram}.
% $F_A$ est la force verticale exprimée en \si{\newton} exercée par le ballon à
% son point d'attache $P$ dirigée vers le haut et $V$ en \si{\metre\cubed} est le
% volume de fluide déplacé, en l'occurence le volume du ballon.

% \[
%   M_2 = \big( \{ \obsn{Traction},\obsn{Volume} \},
%   \{ (\mathit{faible},\mathit{petit}),
%      (\mathit{faible},\mathit{moyen}),
%      (\mathit{forte},\mathit{moyen}) ,
%      (\mathit{forte},\mathit{gros})  \}
%      \big)
% \]
% \[
%   \cfg(\obsn{Traction}) = \{ \mathit{faible}, \mathit{forte} \} \qquad
%   \cfg(\obsn{Volume}) = \{ \mathit{petit}, \mathit{moyen}, \mathit{gros}\}
% \]
% Dans ce second modèle, les observables sont décrites empiriquement par des
% valeurs discrètes symboliques. Ce modèle permet de comprendre le fonctionnement
% du système de manière qualitative.

% Pour les besoins de l'exemple, nous considérerons que la relation entre les deux
% observables pour le modèle de référence $M_0$ est décrite par
% \[
%   M_0 = \big(
%   \{ \obsn{Traction},\obsn{Volume} \}, \{ (F,V) \mid F = F_A - F_B \}
%   \big)
% \]
% \[
%   \cfg(\obsn{Traction}) = \mathbb{R}_+ \qquad
%   \cfg(\obsn{Volume}) = \left[ \SI{0,0}{} ; \SI{1,0}{} \right]
% \]
% $F_B = (m_B + m_G) g$ est le poids du ballon en \si{\newton} où $g$ est
% l'accélération de la pesanteur,
% \begin{itemize}
% \item $m_G = \rho_G V$ est la masse de gaz contenue dans le ballon où $\rho_G$
%   est la masse volumique de l'azote valant \SI{1,25}{\gram\per\liter} et
% \item $m_B = \SI{10}{\gram}$ est la masse du ballon vide.
% \end{itemize}
% Il est possible de réécrire $F_B$ en fonction de $V$, $F_B(V) = c_1 + c_2 V$ en
% prenant $c_1 = m_B g$ et $c_2 = \rho_G g$. Remarquons que $M_1$ est incomplet
% car il omet de prendre en compte le poids du ballon pour calculer la force au
% point $P$, ceci découle du fait que nous ayons choisi $M_0$ pour modèle de
% référence.

% \bigskip
% Donnons ensuite les deux flèches de validation $v_{10} : \bhv_1 \rightarrow
% \bhv_0$ et $v_{20} : \bhv_2 \rightarrow \bhv_0$. Dans ce cas concret, les
% flèches de validation sont des \emph{fonctions} allant du comportement d'un
% modèle vers le comportement de notre modèle de référence. Elles peuvent être
% vues comme définissant une sémantique au modèle de départ dans le modèle de
% destination. Voici leurs définitions:
% \[
%   v_{10} =
%   \begin{array}{rcl}
%     \bhv_1   & \longrightarrow & \bhv_0\\
%     (f,v)    & \longmapsto & (f - F_B(v),v)
%   \end{array}
%   \qquad
%   v_{20} =
%   \begin{array}{rcl}
%     \bhv_2   & \longrightarrow & \bhv_0\\
%     (\mathit{faible},\mathit{petit}) & \longmapsto & (\SI{0,881}{} \mathop{,} \SI{0.10}{}) \\
%     (\mathit{faible},\mathit{moyen}) & \longmapsto & (\SI{4,309}{} \mathop{,} \SI{0.45}{}) \\
%     (\mathit{forte}, \mathit{moyen}) & \longmapsto & (\SI{5,289}{} \mathop{,} \SI{0.55}{}) \\
%     (\mathit{forte}, \mathit{gros})  & \longmapsto & (\SI{8,717}{} \mathop{,} \SI{0.90}{}) \\
%   \end{array}
% \]
% % f(v) = ((1 * g) - (rhoN * g) ) * v - .01 * g
% % g    = 9.80665    N/kg
% % rhoN = 0.00124982 kg/L

% De nombreux autres modèles existent et possèdent eux aussi une flèche de
% validation. Dans certaines conditions, il paraîtrait naturel que deux modèles
% soient reliés par une flèche d'\emph{abstraction}, indiquant que le modèle
% pointé est «plus détaillé» que le modèle d'origine. Dans le cas où on
% considérerait le modèle ultimement détaillé comme étant $M_\Omega$, une
% succession infinie de modèles liés par une flèche d'abstraction devrait aboutir
% à $M_\Omega$ à terme. Il est important de noter que, comme les modèles $M_1$ et
% $M_2$, les flèches de validation $v_{10}$ et $v_{20}$ sont arbitraires car elles
% proviennent de choix de modélisation.

% \begin{figure}[ht]
%   \centering
%   \includegraphics[page=2,width=.45\textwidth]{model-relations}
%   \caption{Représentation schématique de la relation d'abstraction entre trois
%     modèles $M_1$, $M_2$ et $M_3$ assujettis à leur validation par rapport au
%     modèle de référence $M_0$. $M_2$ est une abstraction de $M_1$ et il n'y a
%     pas de relation connue entre $M_3$ et $M_2$}
%   \label{fig:model-abstraction}
% \end{figure}

% L'opération inverse de la flèche d'abstraction est la concrétisation. Cette
% flèche d'abstraction (en gras dans la \textsc{Fig.}~\ref{fig:model-abstraction})
% est en lien étroit avec la flèche de validation. Il n'est toujours pas
% intéressant de considérer l'abstraction entre modèle indépendamment du système
% car cela revient à comparer des ensembles (cardinalité, sous-ensembles communs)
% dénués de sens. Comme nous l'avons présenté précédemment un modèle n'a de sens
% que par rapport au système qu'il modélise, dans notre cas par rapport à un autre
% modèle choisi comme référent. De ce fait un modèle \emph{complet} n'est pas
% seulement un comportement $\bhv$ muni d'observables mais un couple $(\bhv,v)$
% comprenant le comportement et sa flèche de validation. Autrement dit un modèle
% complet vient avec sa sémantique. Nous verrons plus tard dans la construction
% formelle des flèches d'abstraction le sens de cette présentation. Nous allons
% donc considérer la flèche d'abstraction comme dépendante de la flèche de
% validation.

% Considérons la construction d'une flèche abstraction sur l'exemple précédent,
% quelles fonctions nous permettraient de passer de $M_1$ à $M_2$ en respectant
% leurs liens à $M_0$ ? Une propriété intéressante est qu'il soit possible de
% parcourir le schéma de $M_1$ vers $M_0$ de deux manières équivalentes:
% \begin{itemize}
% \item Directement, en passant par $v_{20}$ ou
% \item Indirectement, en concrétisant d'abord $M_2$ en $M_1$ puis, en empruntant
%   $v_{10}$.
% \end{itemize}
% Cette propriété ressemble beaucoup à la composition des fonctions. La fonction
% suivante respecte cette contrainte
% \[
%   a_{21} =
%   \begin{array}{rcl}
%     \bhv_2   & \longrightarrow & \bhv_1\\
%     (\mathit{faible},\mathit{petit}) & \longmapsto & (\SI{0,981}{} \mathop{,} \SI{0.10}{}) \\
%     (\mathit{faible},\mathit{moyen}) & \longmapsto & (\SI{4,413}{} \mathop{,} \SI{0.45}{}) \\
%     (\mathit{forte}, \mathit{moyen}) & \longmapsto & (\SI{5,394}{} \mathop{,} \SI{0.55}{}) \\
%     (\mathit{forte}, \mathit{gros})  & \longmapsto & (\SI{8,826}{} \mathop{,} \SI{0.90}{}) \\
%   \end{array}
% \]
% % g    = 9.80665    N/kg
% % rhoE = 1kg / L

% Définit de cette manière, on a bien la propriété $v_{20} = v_{10} \circ a_{21}$,
% où $\circ$ est l'opérateur de composition de fonction. $a_{21}$ est bien
% l'expression concrète d'une flèche d'abstraction. Plusieurs remarques:
% \begin{itemize}
% \item $a_{21}$ dépend de la définition de $v_{20}$ et $v_{10}$, changer l'une
%   des deux change la définition de $a_{21}$;
% \item Pour deux flèches de validation données, il existe \emph{potentiellement}
%   plusieurs flèches d'abstraction;
% \item Pour deux flèches de validation données, il n'existe \emph{pas
%     nécessairement} une flèche d'abstraction.
% \end{itemize}
% Dans l'exemple que nous avons construit, $a_{21}$ est \emph{l'unique} flèche
% d'abstraction que l'on peut construire.

% % \begin{figure}[ht]
% %   \centering
% %   \includegraphics[page=3,width=\textwidth]{model-relations}
% %   \caption{Vue schématique d'une composition de modèles $M_1$ et $M_2$
% %     assujettis à leur validation par rapport au modèle référent $M_0$}
% %   \label{fig:model-composition}
% % \end{figure}








% \subsection{Présentation catégorielle}

% La théorie des catégories est une construction généraliste englobant la théorie des ensembles et permettant de représenter les structures des objets étudiés sous forme de diagramme. Ce cadre offre un fondement formel aux schémas que nous avons
% présentés ci-avant.


% % Faire une note sur classe vs ensemble
% \paragraph{Classe ou Ensemble.}
% Dans la section \ref{sec:model-system}, nous avons introduit les définitions de
% système et de modèle et nous avons présenté dans les sections suivantes
% différents modèles en plaçant le modèle même au centre de notre discours. Nous
% nous intéressons maintenant à différentes relations entre modèles comme la
% validation, l'abstraction ou la composition en leur donnant un sens concret,
% dans le cadre précédemment définit.


% \begin{mpo-exemple}[Catégorie \catOne]
%   La catégorie $\catOne = (\{*\},\kid_*)$ est la catégorie dont l'unique objet
%   est noté $*$ et son unique morphisme est noté $\kid_*$.
% \end{mpo-exemple}


% \subsection{Flèche de validation}
% La flèche de validation (\textsc{Fig.}~\ref{fig:model-validation}) représente la
% conservation du rapport entre le modèle et le système étudié par le biais d'un
% modèle particulier que nous appellerons modèle expérimental, noté $\wld$. C'est
% l'approche habituelle des sciences expérimentales: des mesures du système sont
% effectuées et notées puis un modèle explicatif est formulé pour retrouver ces
% données. Il est possible de comprendre cette flèche comme le \emph{sens} que
% l'on souhaite donner à un modèle, elle fourni dans ce cas une information
% sémantique.

% \begin{mpo-definition}[Validation]
%   Soit la catégorie $\cat{V} = (\setModel, \khom_\cat{V}, \kid_\cat{V},
%   \circ_\cat{V})$ où:
%   \begin{enumerate}
%   \item $\setModel$ est la classe des modèles;
%   \item $\khom_\cat{V}(A,B): \bhv_A \rightarrow \bhv_B$, pour deux \objs{V} $A
%     = (\sig_A,\bhv_A)$, $B = (\sig_B,\bhv_B)$, est l'ensemble des
%     \emph{fonctions} (sur les ensembles) du \emph{comportement} de $A$ vers le
%     \emph{comportement} de $B$;
%   \item $\kid_\cat{V}$ est la \emph{fonction identité} habituelle et
%   \item $\circ_\cat{V}$ est \emph{l'opérateur de composition de fonction}
%     habituel.
%   \end{enumerate}

%   Quand le contexte le permet, on n'indiquera pas nécessairement l'indice
%   \cat{V}.

%   Soit $M_0 \in \setModel$ un modèle appelé \emph{modèle référent}, l'ensemble
%   $\{ r \in \khom_V \mid \kcod(r) = m \}$ est appelé l'ensemble des
%   \emph{flèches de validation}.

%   Remarque: il est possible de définir un foncteur d'oubli trivial $F : \cat{V}
%   \rightarrow \cat{Set}$ qui retire la signature de chaque objet de \cat{V}.
% \end{mpo-definition}

% De part la définition précédente, tout modèle peut-être un modèle référent et le
% choix est laissé libre au modélisateur en fonction des besoins. Néammoins, nous
% supposerons que le plus souvent un \emph{modèle expérimental} est de la forme
% $\wld = (\sig,\bhv)$ dans le cadre des sciences expérimentales.






% \subsection{Flèche d'abstraction}
% % Abstraction dépend de validation
% Pour décrire le rapport existant entre deux modèles d'un \emph{même système}
% nous utilisons les flèches de validation précédemment définies pour maintenir le
% rapport au système via le modèle référent.


% \begin{mpo-definition}[Comma-catégorie]
%   Soit les trois catégories \cat{A}, \cat{B}, \cat{C} et les deux foncteurs $S$
%   et $T$ de sorte que:
%   \begin{center}
%     %\includegraphics[page=1,width=.45\textwidth]{model-categories}
%     \includegraphics[page=1]{model-categories}
%   \end{center}

%   La \emph{comma-catégorie}, notée $(S \downarrow T)$, est obtenue de la façon
%   suivante:
%   \begin{itemize}
%   \item Les objets sont des triplets $(\alpha,\beta,f)$ où $\alpha \in \cat{A}$,
%     $\beta \in \cat{B}$ et $f : S(\alpha) \rightarrow T(\beta)$ est un \mrph{C};
%   \item Les morphismes de $(\alpha,\beta,f)$ vers $(\alpha',\beta',f')$ sont
%     toutes les paires $(g,h)$ où $g : \alpha \rightarrow \alpha'$ et $h : \beta
%     \rightarrow \beta'$ sont des morphismes de \cat{A} et \cat{B},
%     respectivement de sorte que le diagramme suivant commute:
%     \begin{center}
%       \includegraphics[page=2]{model-categories}
%     \end{center}
%   \end{itemize}
%   Les morphismes sont composés en transformant $(g,h) \circ (g',h')$ en $(g
%   \circ g', h \circ h')$ pour tous les cas où cette expression est définie. Le
%   morphisme identité d'un objet $(\alpha,\beta,f)$ est $(id_\alpha,id_\beta)$.
% \end{mpo-definition}

% \begin{mpo-definition}[Catégorie des abstractions entre modèles]
%   La \emph{catégorie des abstractions entre modèles}, notée \cat{Abs}, est la
%   comma-catégorie obtenue sur la catégorie \cat{V}. En reprenant les trois
%   catégories \cat{A}, \cat{B} et \cat{C} et les deux foncteurs $S$ et $T$ de la
%   définition de comma-catégorie précédente, \cat{Abs} se construit en prenant:
%   \begin{itemize}
%   \item $\cat{A} = \cat{C} = \cat{V}$;
%   \item $\cat{B} = \catOne$;
%   \item $S$ comme foncteur identité;
%   \item $T$ comme foncteur envoyant $*$ sur $M_0$, le modèle référent et
%     $\kid_*$ sur le \mrph{V} identité de $M_0$.
%   \end{itemize}
%   Ainsi, les objets de \cat{Abs} sont les couples $(M,v)$, où $M \in \setModel$
%   et $v : M \rightarrow M_0$, pouvant aussi être notée $v_M$, est une flèche de
%   validation. Un morphisme de \cat{Abs}, appelé \emph{flèche d'abtraction}, est
%   une fonction $a : (M,v_M) \rightarrow (M',v_{M'})$ tel que le diagramme
%   suivant commute:
%   \begin{center}
%     \includegraphics[page=3]{model-categories}
%   \end{center}

%   Remarque: ce cas particulier de comma-catégorie est appelée \emph{slice
%     category} que l'on note $(\cat{V} \downarrow M_0)$.
% \end{mpo-definition}

% À l'instar de \cat{Set}, il existe un unique \obj{V} initial $M_I =
% (\sig_I,\emptyset)$. Ceci découle du fait que les morphismes de \cat{V} vont de
% comportement à comportement.

% \begin{mpo-proposition}[Conservation des objets initiaux]
%   Soient la catégorie \cat{V}, $M_R$, $M_I$, des \objs{V}, $i : M_I \rightarrow
%   M_R$ un \mrph{V}. Si $M_I$ est un \obj{V} initial, alors $(M_I,i)$ est un
%   objet initial de $(\cat{V} \downarrow M_R)$.
% \end{mpo-proposition}

% \begin{proof}
%   Soit $M = (\sig,\bhv)$ un \obj{V}. %
%   L'objet de référence $M_R$ se note $(\sig_R,\bhv_R)$. %
%   Par définition de l'objet initial, les \mrphs{V} $i : \emptyset \rightarrow
%   \bhv_R$ et $j : \emptyset \rightarrow \bhv$ existent, sont uniques et sont
%   deux applications vides. %
%   Comme dans la catégorie des ensembles il existe au moins une fonction entre un
%   ensemble quelconque et un ensemble non-vide, le morphisme $k : M \rightarrow
%   M_R$ existe et $(M,k)$ est un objet de $(\cat{V} \downarrow M_R)$. %
%   De par le fait que $i$ et $j$ soient deux applications vides, $i = k \circ j$
%   et le diagramme commute. %
%   Ainsi, comme $(i,k) : (M_I,i) \rightarrow (M,k)$ est unique, $(M_I,i)$ est
%   bien un objet initial de $(\cat{V} \downarrow M_R)$.
% \end{proof}

% En revanche, cette propriété ne tient plus nécessairement en ce qui concerne la
% conservation des objets finaux.

% \begin{mpo-proposition}[Non conservation d'un objet final dans \cat{Abs}]
%   Soient la catégorie \cat{V}, $M_R$, $M_F$, des \objs{V}, $f : M_R \rightarrow
%   M_F$ un \mrph{V}. Si $M_F$ est un \obj{V} final, alors $(M_F,f)$ n'est pas
%   nécessairement un objet final de $(\cat{V} \downarrow M_R)$.
% \end{mpo-proposition}

% \begin{proof}
%   Construisons un contre exemple. %
%   Soit $M_F = (\sig,\{ 1 \})$ un \obj{V}. %
%   Comme dans la catégorie des ensembles il existe au moins une fonction entre un
%   ensemble quelconque et un ensemble non-vide, le morphisme $h : M \rightarrow
%   M_F$ existe, et comme le comportement de $M_F$ est un singleton, alors $h$ est
%   unique, donc $M_F$ est bien un objet final de \cat{V}. %
%   Soient
%   \[
%     M_R = (\sig_{M_R}, \{ a         , b \})
%     \qquad \text{et} \qquad
%     M   = (\sig_{M},   \{ \heartsuit, \spadesuit \})
%   \]
%   deux \obj{V}. %
%   Les deux morphismes $g : M \rightarrow M_R$ et $f : M_F \rightarrow M_R$
%   existent. %
%   Fixons
%   \[
%     f =
%     \begin{array}{rcl}
%        1 & \longmapsto & a \\
%     \end{array}
%     \qquad \text{et} \qquad
%     g =
%     \begin{array}{rcl}
%        (\heartsuit,\spadesuit) & \longmapsto & b \\
%     \end{array}
%   \]
%   Dans ce cas, il n'existe pas de \mrph{V} $h$ tel que $g = f \circ h$ et il n'y
%   a pas de morphisme entre les objets $(M,g)$ et $(M_F,f)$ dans la comma
%   catégorie $(\cat{V} \downarrow M_R)$. $(M_F,f)$ n'est pas un objet final dans
%   cette comma catégorie.
% \end{proof}


% \noindent
% En revanche, il existe un objet particulier de \cat{V} à l'origine d'un objet
% final dans \cat{Abs}.

% \begin{mpo-proposition}[Objet final d'une slice category]
%   Soient \cat{K} une catégorie, $O$ un \obj{K} et $\kid_O$, le \mrph{K} identité
%   de $O$. $(O,\kid_{O})$ est un objet final de $(\cat{K} \downarrow O)$.
% \end{mpo-proposition}

% \begin{proof}
%   Soient $\cat{K} = (\mathcal{K},\khom,\kid,\circ)$ une
%   catégorie, $O$ un \obj{K} et $\cat{L} = (\cat{K} \downarrow O)$ la
%   comma-catégorie construite sur l'objet $O$. %
%   Pour tout \mrph{K} $f : K \rightarrow O$, $(K,f)$ est un \obj{L}. %
%   En particulier, $(O, id_O)$ est un \obj{L}. %
%   Comme $f \circ \kid_O = f$, alors il existe un unique \mrph{L}
%   \[
%     (f,\kid_O) : (K,\kid_O) \rightarrow (O,\kid_O).
%   \] %
%   Donc, $(O,\kid_O)$ est un objet final de \cat{L}. %
% \end{proof}

% \begin{mpo-corollaire}
%   Pour la catégorie \cat{V}, le modèle de référence $M_R$ et son \mrph{V}
%   identité, $(M_R,\kid_{M_R})$ est un objet final de $(\cat{V} \downarrow M_R)$.
% \end{mpo-corollaire}



% L'objet final de \cat{Abs} est \emph{essentiellement unique}, c'est-à-dire que
% s'il existait d'autres objets finaux dans \cat{Abs}, alors ils lui seraient
% isomorphes~\cite{adamek_abstract_2004}.

% Nous remarquons que dans \cat{Abs}, ces objets initial et final forment les deux
% extrémités d'une \emph{hiérarchie} d'abstraction entre modèles où le modèle le
% plus abstrait est l'objet initial dont le comportement est vide et le modèle le
% moins abstrait est l'objet final, qui se trouve être le modèle de référence. De
% plus, par construction, il n'existe pas d'objet moins abstrait que le modèle de
% référence.

% Enfin, si le modèle de référence est vide, il est à la fois objet initial et
% final et la hiérarchie «s'écrase». Le modèle de référence devient, dans ce cas,
% le seul objet de \cat{Abs}.

% %Une seule proposition
% %Si sous-catégorie Abs, alors objet initial reste.
% %Si sous-catégorie Abs, alors objet final reste.

% \subsection{Composition}
% %FILLME: M1->M12; M2->M12 => Composition de deux modèles d'un même système
% Pour la composition de modèle, nous faisons appel à la construction d'un
% pushout. Dans \cat{Set}, en prenant trois ensembles $X, Y, Z$, le pushout de
% deux fonctions $f : Z \rightarrow X$ et $g : Z \rightarrow Y$ correspond à
% l'union disjointe de $X$ et $Y$.

% \begin{mpo-definition}[Pushout]
%   Soit les trois objets $X, Y, Z$ et les morphismes $f : Z \rightarrow X$ et $g
%   : Z \rightarrow Y$, le \emph{pushout} des morphismes $f, g$ 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=1,width=.45\textwidth]{model-categories}
%     \includegraphics[page=4]{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$
%   \begin{center}
%     \includegraphics[page=5]{model-categories}
%   \end{center}
% \end{mpo-definition}


